Xor*_*Xor 2 windows dll assembly winapi loadlibrary
DWORD dwLoadLibrary = (DWORD)GetProcAddress(GetModuleHandleA("kernel32.dll"), "LoadLibraryA");
Run Code Online (Sandbox Code Playgroud)
当我转到OllyDbg中的返回地址时,我可以看到该地址指向跳转到LoadLibraryA的实际地址的代码.我想得到LoadLibraryA的真实地址,它不会改变,因为kernel32.dll在每个进程的同一位置加载,我也想知道为什么GetProcAddress不返回真实地址.
您将获得"真实"地址kernel32.LoadLibraryA,作为GetProcAddress()返回真实地址.只是因为实现kernel32.LoadLibrayA已经从而转移kernel32.dll到了kernelbase.dll,因此kernel32.LoadLibraryA只需要一条指令:
jmp dword ptr[kernelbase.LoadLibraryA]
Run Code Online (Sandbox Code Playgroud)
如果您查看更多函数kernel32.dll,其中许多函数也具有相同的模式:
kernel32.somefunc:
jmp [kernelbase.somefunc]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
374 次 |
| 最近记录: |