-
-
[旧帖] [求助]DLL加壳调用问题 0.00雪花
-
发表于: 2008-9-11 10:18 3091
-
程序流程为:
Test.exe加载(1.dll和2.dll),并且1.dll也加载(2.dll)。
根据OllyDbg观察,Test.exe先加载1.dll,然后1.dll加载2.dll.
但是如果对2.dll进行加壳处理,处理了输入表/输出表等,那么运行
Test.exe时,会弹出“无法定位输入点xxx于动态连接库2.dll上。”
根据OllyDbg观察,Test.exe加载1.dll时,1.dll会首先去加载
2.dll,此时,2.dll虽然被映射到了内存中,但是并不会执行到
壳的OEP。也就是说没能够对2.dll进行输入表/输出表恢复,1.dll
就对其进行了函数地址获取。小弟对此感觉非常奇怪,为什么1.dll在
系统默认加载2.dll时,没用进入壳的OEP,不运行2.dll的自我恢复。
另外奇怪的是:如果对1.dll和2.dll用同样的方法一起加壳,那么
Test.exe就能够运行正常。也就是Test.exe加载1.dll,1.dll自我
恢复后加载2.dll,2.dll自我恢复,所有Dll加载都成功,程序运行
正常。这说明加壳处理应该问题不大,否则一起加壳的方式也无法成功。
而且加壳时注意处理了输入表/输出表/重定位/单次加载dll等问题。
由于无法调试系统默认加载函数,请高手指点该如何调试去解决这个问题?
在处理Dll加壳时,还应该注意什么问题?
谢谢
Test.exe加载(1.dll和2.dll),并且1.dll也加载(2.dll)。
根据OllyDbg观察,Test.exe先加载1.dll,然后1.dll加载2.dll.
但是如果对2.dll进行加壳处理,处理了输入表/输出表等,那么运行
Test.exe时,会弹出“无法定位输入点xxx于动态连接库2.dll上。”
根据OllyDbg观察,Test.exe加载1.dll时,1.dll会首先去加载
2.dll,此时,2.dll虽然被映射到了内存中,但是并不会执行到
壳的OEP。也就是说没能够对2.dll进行输入表/输出表恢复,1.dll
就对其进行了函数地址获取。小弟对此感觉非常奇怪,为什么1.dll在
系统默认加载2.dll时,没用进入壳的OEP,不运行2.dll的自我恢复。
另外奇怪的是:如果对1.dll和2.dll用同样的方法一起加壳,那么
Test.exe就能够运行正常。也就是Test.exe加载1.dll,1.dll自我
恢复后加载2.dll,2.dll自我恢复,所有Dll加载都成功,程序运行
正常。这说明加壳处理应该问题不大,否则一起加壳的方式也无法成功。
而且加壳时注意处理了输入表/输出表/重定位/单次加载dll等问题。
由于无法调试系统默认加载函数,请高手指点该如何调试去解决这个问题?
在处理Dll加壳时,还应该注意什么问题?
谢谢
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
赞赏
他的文章
- 关于activex安全控件 5013
- [求助]DLL加壳调用问题 3092
- [求助]dll加壳需要做什么特殊处理 3265
- [求助]寻求导入表处理机制(vc加壳) 3402
- [求助]加壳技术 4106
看原图
赞赏
雪币:
留言: