Dll injection
Olá pessoal, tenho um problema pesquisei alguns códigos e todos deram no mesmo resultado. Eu vi que existe bastantes programadores experientes aqui, e gostaria de uma pequena ajudinha para tentar
fazer funcionar meu codigo de injerção.
Bem, como viram estou tendo um problema com Injerção de Dll.
Eu consigo Injeta-la no meu proprio processo, injetar no processo de alguns outros aplicativos, mas no processo que realmente eu quero que ela seje injetada, ela não está dando sinal de vida (parece ter sido injetada mas nao foi).
Gostaria de saber como eu poderia injetar uma dll no processo ´explorer.exe´, ou ´notepad.exe´, são um dos processo que eu não consegui injetar.
Também tentei usar o ´BmsRemoteLoadLibrary´ mas mesmo assim não injeta no explorer.exe, e nem em alguns outros aplicativos.
Existem alguns injetores que injetam no notepad, explorer, qualquer aplicativo em execução, eu gostaria de fazer isto.
O que eu pretendo fazer é injetar a minha ´Aplicação DLL´ (Uma dll com formularios etc...) em um processo separado.
A procedure que estou usando para injetar é:
Desculpa caso vocês não mexem com esse tipo de coisa, ou se estou postando em lugar inadequado do forum.
Agradeço, e espero por ajuda da galera.
fazer funcionar meu codigo de injerção.
Bem, como viram estou tendo um problema com Injerção de Dll.
Eu consigo Injeta-la no meu proprio processo, injetar no processo de alguns outros aplicativos, mas no processo que realmente eu quero que ela seje injetada, ela não está dando sinal de vida (parece ter sido injetada mas nao foi).
Gostaria de saber como eu poderia injetar uma dll no processo ´explorer.exe´, ou ´notepad.exe´, são um dos processo que eu não consegui injetar.
Também tentei usar o ´BmsRemoteLoadLibrary´ mas mesmo assim não injeta no explorer.exe, e nem em alguns outros aplicativos.
Existem alguns injetores que injetam no notepad, explorer, qualquer aplicativo em execução, eu gostaria de fazer isto.
O que eu pretendo fazer é injetar a minha ´Aplicação DLL´ (Uma dll com formularios etc...) em um processo separado.
A procedure que estou usando para injetar é:
procedure InjectDLL(ProcessId: DWORD; Dll: PChar); var Process: THandle; TempHandle: THandle; AllocatedRegion: Pointer; Empty: DWORD; NumberOfBytesWritten: Cardinal; begin Process:=OpenProcess(PROCESS_ALL_ACCESS,False,ProcessId); AllocatedRegion:=VirtualAllocEx(Process,NIL,length(DLL),MEM_COMMIT,PAGE_EXECUTE_READWRITE); WriteProcessMemory(Process,AllocatedRegion,pchar(DLL),length(DLL),NumberOfBytesWritten); TempHandle:=CreateRemoteThread(Process,nil,0,GetProcAddress(GetModuleHandle(´kernel32.dll´),´LoadLibraryA´),AllocatedRegion,0,Empty); WaitForSingleObject(TempHandle,INFINITE); CloseHandle(TempHandle); end;
Desculpa caso vocês não mexem com esse tipo de coisa, ou se estou postando em lugar inadequado do forum.
Agradeço, e espero por ajuda da galera.
Faelz
Curtidas 0