OldSchoolHack

Registrieren / Anmelden Deutsch

problem mit detour


icon problem mit detour #1

Anmeldungsdatum: Sep 2010

Beiträge: 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

icon #2

Anmeldungsdatum: Mär 2011

Beiträge: 978

Benutzer-Bewertung:

89 positiv
6 negativ
TEXT Code:
  1. DWORD p = 5 + origin - memory;
  2. ->
  3. DWORD p = ((len + origin) - memory) -5;
  4.  
  5. p = origin - det;
  6. ->
  7. p = (det - origin) - 5;
  8.  
  9. PAGE_READWRITE
  10. ->
  11. PAGE_EXECUTE_READWRITE
  12.  

__________________

http://www.abload.de/img/signfj5o.png
Spoiler
Vids:
Zitate:
Spoiler

Zitat von xst
Vater KN4CK3R, der du hängst im irc, geheiligt werde dein Botnet, dein P7 v1.337 komme, die Bannwelle geschehe, wie in CS:S als auch in CS:GO, führe uns nicht in Versuchung, sondern erlöse uns von all dem c+p-Shit.
Zitat von f4gsh0t_h4x
VAC ist an,immer,überall
Zitat von gibson.w
Ich mag braune Würstchen
Zitat von irc
<SilverDeath> KN4CK3R bistn nub
<~KN4CK3R> kk
Zitat von irc
<OrkSchamane> das prob is das viele dieser eig. recht guten bücher englisch sind ...
<OrkSchamane> da habe ich's ja doppelt schwer
<~KN4CK3R> falsch
<~KN4CK3R> das prob is dass du programmieren willst ohne englisch zu können
Zitat von irc
<SilverDeath> Ich schwöre dir Dr_Pepper Ich bumms deine Mutter tot Mann!
<Dr_Pepper> danke.
<SilverDeath> bitte
Zitat von irc
<~KN4CK3R> dann liegts wenigstens an mir
<~KN4CK3R> nur noch rausfinden warum -.-
<SilverDeath> ja sicher
<SilverDeath> an wem sonst?
* You were kicked by KN4CK3R (kick)
Zitat von Dr_Pepper
ihr seit beide dumm
Tutorials:
Releases:
Gifs:
Spoiler
http://www.abload.de/img/uberesp2sgul2.gif
https://i.imgur.com/Z5VQMrV.gif
http://www.abload.de/img/minesweeperzgaef.gif
icon #3

Anmeldungsdatum: Sep 2010

Beiträge: 38

du hast recht, die Berechnungen sind noch falsch.
Herzlichen Dank, hat mir sehr geholfen.