如何在加载的kernel32.dll中找到LoadLibrary和GetProcAddress?

时间:2012-06-30 04:08:10

标签: winapi memory assembly kernel32

我正试图做一个小小的win32“Hello,world!”应用于纯装配。 现在,在查看了如何找到kernel32.dll后,我在一段时间后发现了这个:http://skypher.com/wiki/index.php/Hacking/Shellcode/kernel32。此技术返回指向kernel32.dll在内存中的位置的指针。

现在,在一个提供类似技术的不同网站上,他们写了

  

现在你需要做的就是在那里找到“LoadLibrary”和“GetProcAddress”功能,你就可以了!

当然,这是事实。如果我只有这两个函数的确切跳转位置,我可以轻松编写任何win32应用程序。

有没有人知道如何在该DLL中找到两个(或技术上,只有“GetProcAddress”会这样做)?还是有任何便宜的替代品(除了使用更高级别的语言)?

提前致谢,

-Kierrow

1 个答案:

答案 0 :(得分:4)

由于您发现了如何检索指向kernel32.dll的指针,您只需遍历kernel32的Export Table并查找“GetProcAddress”即可。获得指向函数的指针后,只需调用它即可。正如Raymond Chen所说,要做到这一点,只需看看Portable Executable Format specification