Einzelnen Beitrag anzeigen

flash2008

Registriert seit: 13. Sep 2007
15 Beiträge
 
#1

WriteProcessMemory wenn dll bereits injected

  Alt 20. Nov 2007, 01:44
Hi Leute ,
ich spiel momentan noch immer mit dll injecten rum und hab überlegt in dem Programm in das ich injected habe,
Programmcode zu verändern (vergleichbar mit dem was man in olly machen kann (NOP setzen usw..)
normalerweise könnte ich sowas ja extern machen über openProcess.. WriteProcessMemory
Da die dll nun im Programm schon drinsteckt und ausgeführt wird,
dachte ich mir ich müsste doch auch so was verändern können z.B.: mit mov
dadurch könnte man zb extern nicht mitlesen (API hook auf WriteProcessMemory)

hab mal als Beispiel ne Reihe aus TS genommen

Delphi-Quellcode:
005181EC C1E1 02 SHL ECX,2
005181EF 8BC6 MOV EAX,ESI
005181F1 E8 02ABEEFF CALL TeamSpea.00402CF8 << hier würd ich um den call zu verhindern zb NOPs setzen
005181F6 8B85 F0FBFFFF MOV EAX,DWORD PTR SS:[EBP-410]
so sieht das in olly aus

Delphi-Quellcode:
005181EC C1E1 02 SHL ECX,2
005181EF 8BC6 MOV EAX,ESI
005181F1 90 NOP
005181F2 90 NOP
005181F3 90 NOP
005181F4 90 NOP
005181F5 90 NOP
005181F6 8B85 F0FBFFFF MOV EAX,DWORD PTR SS:[EBP-410]
wenn ich jetzt sowas mache
Delphi-Quellcode:
begin
  asm
    mov [005181F1],$90
    mov [005181F2],$90
    mov [005181F3],$90
    mov [005181F4],$90
    mov [005181F5],$90
  end;
end;
Gibts nur ne tolle fehlermeldung von Windows das es ne Speicherzugriffsverletzung gab.
Leider hat auch google keine hilfreichen ergebnisse dazu ausgespuckt.

gruß flash
  Mit Zitat antworten Zitat