Otra cosa que puedes hacer (para no usar el deltaoffset) es:
Para solucionar el problema de las DLLs, sólo necesitas LoadLibrary y GetProcAddress. Luego, usando el método que haz puesto o el que te dejo aquí; haces LoadLibrary y GetProcAddress y ya tienes la direccion real de la API.
Hay múltiples ejemplos de llamadas a API con código pic en internet.
Saludos!
Código (asm) [Seleccionar]
.386
.model flat,stdcall
option casemap:none
.code
inicio:
call delta ;provoca el PUSH de la direccion del string que sigue
db "User32.dll",0
delta:
mov eax,77272864h ;direccion de loadlibraryA varia
call eax
push 0
push 0
push 0
push 0
mov eax,778eea71h ;//direccion de MessageBoxA varia
call eax
retn
end inicio
Para solucionar el problema de las DLLs, sólo necesitas LoadLibrary y GetProcAddress. Luego, usando el método que haz puesto o el que te dejo aquí; haces LoadLibrary y GetProcAddress y ya tienes la direccion real de la API.
Hay múltiples ejemplos de llamadas a API con código pic en internet.
Saludos!