Project1

标题: 问个关于DLL地址的问题 [打印本页]

作者: yangff    时间: 2011-11-19 17:29
标题: 问个关于DLL地址的问题
对于一个DLL我base=LoadLibrary("XXX.DLL");
我知道他的一个函数入口在IDA里面的地址时r=0x123a89
那这个函数的ProcAddress是
base+r吗?
作者: 第七水螰    时间: 2011-11-20 02:31
雖然沒試驗過,但理論上來說只要獲取到重定位後 DLL 段首地址到運行時的 IAT 中該函數地址那麼多的偏移量便成了。不過,你需要直接獲取 DLL 段的地址,而不是 LoadLibrary 返回的句柄,那個句柄是個不透明的數據結構,一個隱藏了底層數據的靈巧指針。
作者: yangff    时间: 2011-11-20 20:20
第七水螰 发表于 2011-11-20 02:31
雖然沒試驗過,但理論上來說只要獲取到重定位後 DLL 段首地址到運行時的 IAT 中該函數地址那麼多的偏移量便 ...

这地址怎么取?有人说LoadLibrary的地址就是DLL入口点……还有我那到的不是IAT里面的地址,是我用IDA静态反汇编出来的(这函数根本没导出……)函数入口点地址函数实际代码开始的地址,要不要做什么转换?




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1