-
-
[旧帖] [求助]寻求导入表处理机制(vc加壳) 0.00雪花
-
发表于: 2008-9-2 15:43 3402
-
最近实现了.text部分的简单加密以及在VC中使用内联汇编对其解密,并重新定位OEP。
接下来想了解导入表的处理机制,也就是将exe中的原始导入表隐藏起来,然后再恢复。
但是我对windows loader的运行机制以及导入表dll加载过程很模糊,而相关资料都是masm的,不太熟悉,所以用vc和内联汇编的方式没法找到相关的参考。
目前我的思路是:
1,获取原始exe中导入表数组的内容,将IDDs内容存入到一个新节中。
2,将原始exe的导入表数组清零,即把dllname,timedatestamp,firsttruck,originalfirsttruck等全部清零。使得反汇编的一些软件无法获取导入表信息。
3,程序启动时,将新节中保存的IDDs内容恢复到相应的虚拟内存空间。(IAT表等没有修改,因此还可以用。)
本以为这种思路可以成功恢复导入表信息并加载dll。但是用vc实现之后不行。
请告知这种思路应该如何修改?是不是因为把一些system的dll导入信息清零了,就无法加载dll(因为loadlibrary等函数没有了)。或者是不是程序启动最开始是进行导入dll的windows loader,然后再执行程序,以至于后面我恢复了导入表,windows loader也还是不再加载了,因此即使恢复了导入表信息也没用?
我看了一些资料都是讲masm的,或者都用了其他的一些库。能不能帮助用vc和内联汇编的方法来进行处理?
非常感谢!
接下来想了解导入表的处理机制,也就是将exe中的原始导入表隐藏起来,然后再恢复。
但是我对windows loader的运行机制以及导入表dll加载过程很模糊,而相关资料都是masm的,不太熟悉,所以用vc和内联汇编的方式没法找到相关的参考。
目前我的思路是:
1,获取原始exe中导入表数组的内容,将IDDs内容存入到一个新节中。
2,将原始exe的导入表数组清零,即把dllname,timedatestamp,firsttruck,originalfirsttruck等全部清零。使得反汇编的一些软件无法获取导入表信息。
3,程序启动时,将新节中保存的IDDs内容恢复到相应的虚拟内存空间。(IAT表等没有修改,因此还可以用。)
本以为这种思路可以成功恢复导入表信息并加载dll。但是用vc实现之后不行。
请告知这种思路应该如何修改?是不是因为把一些system的dll导入信息清零了,就无法加载dll(因为loadlibrary等函数没有了)。或者是不是程序启动最开始是进行导入dll的windows loader,然后再执行程序,以至于后面我恢复了导入表,windows loader也还是不再加载了,因此即使恢复了导入表信息也没用?
我看了一些资料都是讲masm的,或者都用了其他的一些库。能不能帮助用vc和内联汇编的方法来进行处理?
非常感谢!
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
赞赏
他的文章
- 关于activex安全控件 5013
- [求助]DLL加壳调用问题 3092
- [求助]dll加壳需要做什么特殊处理 3265
- [求助]寻求导入表处理机制(vc加壳) 3403
- [求助]加壳技术 4107
看原图
赞赏
雪币:
留言: