Gracias escafandra por introducirme, el error es:
Version:1.0 StartHTML:0000000105 EndHTML:0000000710 StartFragment:0000000538 EndFragment:0000000674
The instruction at 0x4DABDAE referenced memory at 0x60BB28. The memory could not be written -> 0060BB28 (exc.code c0000005, tid 2940)
0x60BB28
dll_target.dll:0060BB28 dll_target_fun proc near
dll_target.dll:0060BB28
dll_target.dll:0060BB28 arg_0= dword ptr 8
dll_target.dll:0060BB28
dll_target.dll:0060BB28 push ebp
dll_target.dll:0060BB29 mov ebp, esp
dll_target.dll:0060BB2B mov eax, [ebp+arg_0]
dll_target.dll:0060BB2E inc eax
dll_target.dll:0060BB2F pop ebp
dll_target.dll:0060BB30 retn 4
dll_target.dll:0060BB30 dll_target_fun endp
0x4DABDAE
dll_proxy.dll:04DABDAE mov byte ptr [edx], 0E9h
dll_proxy.dll:04DABDB1 inc edx
dll_proxy.dll:04DABDB2 mov esi, edx
dll_proxy.dll:04DABDB4 dec esi
dll_proxy.dll:04DABDB5 add esi, 5
dll_proxy.dll:04DABDB8 sub ecx, esi
dll_proxy.dll:04DABDBA mov [edx], ecx
dll_proxy.dll:04DABDBC add edx, 4
dll_proxy.dll:04DABDBF sub eax, 5
dll_proxy.dll:04DABDC2 test eax, eax
dll_proxy.dll:04DABDC4 jle short loc_4DABDCF
Creo que es cuando trata de escribir el salto en la funcion, lo que no habia dicho era que me toco cambiar L1202 en koldetours
VirtualProtect(Code,Size,Permission,Result);
por
var
backup: Pointer;
...
VirtualProtect(Code,Size,Permission,backup);
Result := Longword(backup)
por que en delphi4 no me compilaba, puede que sea por eso.
Aun que con la duda que me resolvistes puedo tratar con otras libs por que me limitaba a delphi4 (y muchas libs no son compatibles alparecer) o incluso otro lenguaje como sugieres pero ya que no se mucho delphi voy aprovechar para aprender un poco, solo que obtendre otra version mas reciente que no me presente tantos errores al compilar.
Tambien tengo otra duda, he visto en algunas partes que implementan este codigo que tan necesario es en delphi?
procedure DllEntry(pReason:DWORD);
begin
case pReason of
DLL_PROCESS_ATTACH: CreateIntercepts();
DLL_PROCESS_DETACH: RemoveIntercepts();
DLL_THREAD_ATTACH:;
DLL_THREAD_DETACH:;
end;
end;
begin
DllProc:= @DllEntry;
DllEntry(DLL_PROCESS_ATTACH);
end.
Muchas Gracias!.
Edited by fatetmpmgecs, 24 February 2022 - 10:48 PM.