Joar, den Index kann man ja immernoch in Delphi nutzen und ich glaub das alte ShareMM von Borland nutze es noch.
Aber ich glaub die PCs sind heute recht schnell, so daß man da auch verständliche Namen nutzen kann und sich nicht in Unmassen Indizes verheddern muß.
Nja, mit dieser kleinen Änderung läuft schonmal der Patcher.
Delphi-Quellcode:
//P: PCardinal;
If InitProcedure >= 0 Then Begin
i := PWordArray(RVA2RealPointer(LongWord(ExportDirectory.AddressOfNameOrdinals)))[InitProcedure];
P := @PPointerArray(RVA2RealPointer(LongWord(ExportDirectory.AddressOfFunctions)))[i];
Temp := P^;
P^ := NTHeader.OptionalHeader.AddressOfEntryPoint;
NTHeader.OptionalHeader.AddressOfEntryPoint := Temp;
WriteLn('OK');
Dann fehlt ja nur noch ein funktionierender Code in
DLL und EXE.
Also danke erstmal für den
DLL-Patcher.