内容目录
背景
一个朋友找我脱壳,不过我从来没有脱壳,于是我研究了一下pecompact脱壳。
网上知识
https://blog.51cto.com/u_15076212/3690173
自己过程
- 我按照网上知识走
- 按照他方法脱,发现不能用
- 我x86dbg 分析,发现地址不能访问,我发现重定位表没有修改
我后面发现脱壳,都需要修复重定位表 - 我搜索这个有关知识,要么就修复重定表,要么就设置程序不要动态基地址。
- 我用studype+设置固定地址
- 网上有修复重定位表脚本,本来想有时间自己写一个小软件修复重定位表的,但感觉以后基本没有时间研究这个,毕竟好玩的东西太多。。
总结
- pecompact 用SEH,触发修改代码
- 加壳就是动态加载pe那套技术
- 可以用在virtualalloc 下断点,基本能够很快找到oep
- 单点跟,我用x86dbg很容易出现跑飞,异常情况,我开始因为壳导致,后面发现知识x64dbg软件问题,所以直接在后面加断点。
- 压缩壳,内存里面真正有PE,所以直接dump,修改PE入口点,导出即可。
- 如果打补丁,感觉不一定要脱壳,可以在写dll注入程序,等动态加载成功,然后再修改内存的代码,这样子壳兼容性就基本不用考虑了。
压缩壳为了压缩,并不是为了加密,可能加大破解地方。
其他脱壳资料
https://www.dounaite.com/article/62cdcc63f4ab41be487a5715.html
https://www.anquanke.com/post/id/99750
说明
这篇文章只是自己第一次脱壳,遇到一些问题,怎么思考,怎么解决问题过程。写这篇文章只是为了记录自己技术点滴而已,用于优化自己思考方式而已。