-
-
[旧帖] [讨论]为DLL加壳(不压缩)自己是否一定要处理重定位数据 0.00雪花
-
2012-5-8 09:28 1024
-
如果为一个DLL加壳,不压缩,只是简单的增加一个区段,是否还需要自己重定位?很多帖子说为DLL加壳要保持堆栈平衡,是否有一些实例的代码可以参考?
我对堆栈平衡的处理如下:
外壳开始处:
push ebp
push edi
push esi
push edx
push ecx
push ebx
......
保存DLLMAIN的3个参数
......
在跳转OEP之前
恢复寄存器和DLLMAIN3个参数
这样处理之后,程序会进入DLL很多次,有的时候能得到结果,有的时候则会出错,请各位给一些思路。
我对堆栈平衡的处理如下:
外壳开始处:
push ebp
push edi
push esi
push edx
push ecx
push ebx
......
保存DLLMAIN的3个参数
......
在跳转OEP之前
恢复寄存器和DLLMAIN3个参数
这样处理之后,程序会进入DLL很多次,有的时候能得到结果,有的时候则会出错,请各位给一些思路。
[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法
赞赏
他的文章
看原图