Einzelnen Beitrag anzeigen

hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#12

Re: EXE Patchen -- Error: verletzt untere Grenzen

  Alt 1. Jan 2008, 12:01
Also meinst dz dami, das das hier

Zitat von hedie:

004452A8 |. C605 24214B00 01 MOV BYTE PTR DS:[4B2124],1

Das blaue, soll nach dem Programm aufruf in Adresse 004452A8 stehen.
64 Bit Programm Code ist?

Wenn ja, stimmt nicht. Ich habe 32 Bit Windows und das Programm is auch 32 Bit

Noch ne andere Frage... es bestünde auch die Möglichkeit die stelle einfach zu Noopen (also mit NOP's zu füllen)

Dazu müsste ich AB! Adresse 004452A8 7 NOP's einfügen...

Ich hab das mal so versucht

Delphi-Quellcode:
    dwFileOffset := RvaToFileOffset(lpBuffer, $004452A8);
    UpdateOffset(lpBuffer, dwFileOffset, $90909090);


    //LoadFile(opendialog1.FileName, lpBuffer, dwFileSize);
    dwFileOffset := RvaToFileOffset(lpBuffer, $004452AC);
    UpdateOffset(lpBuffer, dwFileOffset , $909090);
Ich dachte mir, anstelle alles kompliziert in einem schritt einzutragen, mache ich das einfach hintereinander

Wenn ich den code schlussendlich ausführe, werden zwar die NOP's eingetragen ABER!

a) nur 5 stat 7
b) der unetere Code wird entfernt also alles ab der einfüge Adresse verschwindet... was bei OllyDBG nicht der fall ist

Ich bin echt ratlos...
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat