动态获取API地址

DLL的实际装入地址不在01000000
这一段严格来说,应该是找kernel32.dll的基址,因为程序在入口点处的[esp]值,在kernel32.dll中。
找到了kernel32.dll的基址之后,通过查找其输出表,就可以找到LoadLibraryA和GetProcAddress这两个关键API的地址,然后再利用这两个函数得到其他API的地址(或者仍然通过查找输出表得到)。
以上就是动态获取API函数地址的主要步骤,壳和shellcode中的相应代码在原理上基本都是这样的

 

详细信息请查阅以下链接

http://hi.baidu.com/nvrenyouxian/item/5b875426eff6b146469962b4

你可能感兴趣的:(壳的世界,安全编程,api,dll)