OldSchoolHack

Register / Login English

problem mit detour

icon Thread: problem mit detour

Join Date: Sep 2010

Posts: 38

hey, ich habe gerad ne kleine detour Funktion geschrieben, die leider noch nicht ganz funktioniert:
CPP Code:
  1. BYTE *detour(BYTE *origin,BYTE *det, int len){
  2. DWORD dwProt;
  3. BYTE *memory = new BYTE[len +5];
  4.  
  5. for(int i = 0;i<len;i++){
  6. memory[i] = origin[i];
  7. }
  8.  
  9. memory[len] = 0xe9;
  10.  
  11. DWORD p = 5 + origin - memory;
  12. memcpy(memory + len + 1,&p ,4);
  13.  
  14. p = origin - det;
  15.  
  16. if(VirtualProtect( origin, 5, PAGE_READWRITE, &dwProt )){
  17. origin[0] = 0xe9;
  18. memcpy(origin + 1,&p,4);
  19. VirtualProtect( origin, 5, dwProt, &dwProt );
  20. }
  21.  
  22. return memory;
  23. }

Ich habe Probleme mit Zugriffsrechten, sobald ich VirtualProtect Aufrufe kommt es zum Laufzeitfehler.

Ich hatte vorher bereits das Problem, dass der Vc++ Linker beim Kompilieren crasht, deshalb benutze ich z.B. eine Schleife und kein memcpy zum kopieren aufs Trampoline.

Könnte mal jemand drüber schaun ?
lg Alex