PDA

Ver la Versión Completa : posiciones en memoria de APIs


jw4v32
26-02-2008, 23:24:59
hola a todos, estoy comenzando a programar un EXE CRYPTOR y necesito saber como sacar las representaciones hexadecimales de las funciones LoadLibraryA , GetProcAddress, etc en memoria.

el codigo que me dieron es el de acontinuacion:


procedure TForm1.Button1Click(Sender: TObject);
var
hKernel32: THandle;
begin
hKernel32:= LoadLibrary('kernel32.dll');
ShowMessage(GetProcAddress(hKernel32,'LoadLibraryA'));
end;
pero esto solo me provoca el siguiente error:


[Error] Unit1.pas(31): Incompatible types: 'String' and 'Pointer'
andube investigando acerca de los punteros y se mas o menos lo que nesecito:


un tipo ^Integer : puntero a un entero

y la funcion IntToHex de SysUtils

pero no se bien como aplicarlo.

me explico?

Saludos el foro esta re groso!! =)

cHackAll
27-02-2008, 02:40:16
procedure TForm1.Button1Click(Sender: TObject);
var Handle: Cardinal;
begin
Handle := LoadLibrary('kernel32.dll');
ShowMessage(IntToHex(Cardinal(GetProcAddress(Handle, 'LoadLibraryA')), 8));
end;