Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi EXE Patchen -- Error: verletzt untere Grenzen (https://www.delphipraxis.net/105849-exe-patchen-error-verletzt-untere-grenzen.html)

Garfield 1. Jan 2008 14:00

Re: EXE Patchen -- Error: verletzt untere Grenzen
 
Zitat:

Zitat von hedie
Ich weiss nicht wie ich das aufteilen soll....

Ich nehme an so:
Delphi-Quellcode:
dwFileOffset := RvaToFileOffset(lpBuffer, $004452A8);
UpdateOffset(lpBuffer, dwFileOffset, $01004B21);

dwFileOffset := RvaToFileOffset(lpBuffer, $004452AC);
UpdateOffset(lpBuffer, dwFileOffset, $2405);

dwFileOffset := RvaToFileOffset(lpBuffer, $004452AE);
UpdateOffset(lpBuffer, dwFileOffset, $C6);

hedie 1. Jan 2008 14:04

Re: EXE Patchen -- Error: verletzt untere Grenzen
 
So sieht der ganze Code aus

Delphi-Quellcode:
 LoadFile(opendialog1.FileName, lpBuffer, dwFileSize);
dwFileOffset := RvaToFileOffset(lpBuffer, $004452A8);
UpdateOffset(lpBuffer, dwFileOffset, $01004B21);

dwFileOffset := RvaToFileOffset(lpBuffer, $004452AC);
UpdateOffset(lpBuffer, dwFileOffset, $2405);

dwFileOffset := RvaToFileOffset(lpBuffer, $004452AE);
UpdateOffset(lpBuffer, dwFileOffset, $C6);
    SaveFile(opendialog1.FileName, lpBuffer, dwFileSize);
    FreeMem(lpBuffer, dwFileSize);
Dieser hat aber leider (wie von mir befürchtet) wieder nicht geklappt....

//Edit

Wenn ihr seht, was ich falsch mache und denkt "weshalb kommt der nicht selbst drauf, der will doch nur das wir im alles vor coden"

Dan sagt mir das doch bitte :D weill ich weis echt nicht was der fehler an dem code ist.....

Garfield 1. Jan 2008 20:23

Re: EXE Patchen -- Error: verletzt untere Grenzen
 
Jetzt habe ich mal
Delphi-Quellcode:
dwFileOffset := RvaToFileOffset(lpBuffer, $0001);
UpdateOffset(lpBuffer, dwFileOffset, $01004B21);
getestet. Das ergab dann 21 4B 00 01. Das heißt
Zitat:

Zitat von Garfield
Delphi-Quellcode:
dwFileOffset := RvaToFileOffset(lpBuffer, $004452A8);
UpdateOffset(lpBuffer, dwFileOffset, $01004B21);

dwFileOffset := RvaToFileOffset(lpBuffer, $004452AC);
UpdateOffset(lpBuffer, dwFileOffset, $2405);

dwFileOffset := RvaToFileOffset(lpBuffer, $004452AE);
UpdateOffset(lpBuffer, dwFileOffset, $C6);

ergibt 21 4B 00 01 05 24 C6 anstelle von C6 05 24 21 4B 00 01.

Dann sollte es so richtig sein:
Delphi-Quellcode:
dwFileOffset := RvaToFileOffset(lpBuffer, $004452A8);
UpdateOffset(lpBuffer, dwFileOffset, $C6);

dwFileOffset := RvaToFileOffset(lpBuffer, $004452A9);
UpdateOffset(lpBuffer, dwFileOffset, $2405);

dwFileOffset := RvaToFileOffset(lpBuffer, $004452AB);
UpdateOffset(lpBuffer, dwFileOffset, $01004B21);

hedie 1. Jan 2008 20:31

Re: EXE Patchen -- Error: verletzt untere Grenzen
 
Jaaaaaaaaaaaaaa :D

Das war die ganze zeit der Fehler....

Vielen Vielen Dank....

Du hast echt was gut bei mir...

Garfield 1. Jan 2008 21:26

Re: EXE Patchen -- Error: verletzt untere Grenzen
 
:cheers:


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:05 Uhr.
Seite 3 von 3     123   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz