手脱PEncrypt 4.0
2015-11-15 00:35
375 查看
1.载入PEID
PEncrypt4.0Gamma/4.0Phi->junkcode[Overlay]2.载入OD,没什么头绪,忽略所有异常,用最后一次异常法shift+F9运行两次,因为第三次会跑飞,所以运行两次,另外这个壳使用单步太费劲了,一不小心就跑飞了,所以直接使用的最后一次异常法进行脱壳的
00401000>FCcld;//入口点 00401001FCcld 00401002FCcld 0040100390nop 00401004-E9BDBA0000jmpPEncrypt.0040CAC6 00401009-E3D5jecxzshortPEncrypt.00400FE0 0040100B044Faddal,0x4F 0040100D-74A4jeshortPEncrypt.00400FB3 0040100FD24874rorbyteptrds:[eax+0x74],cl3.最后一次异常法的落脚点,落脚后,右键—转到—表达式—输入SE句柄(也叫SE处理程序)”0040CCD7”—回车
0040CCD09Dpopfd0040CCD190nop0040CCD24Bdecebx;//最后一次异常法落脚点0040CCD36Foutsdx,dwordptres:[edi]0040CCD4636869arplwordptrds:[eax+0x69],bp0040CCD78B442404moveax,dwordptrss:[esp+0x4]0040CCDB8B00moveax,dwordptrds:[eax]0040CCDD3D04000080cmpeax,0x800000040012FF880040CCD7SE处理程序4.回车后的位置,然后F2,SHIFT+F9,F2,也就是让程序运行到转到的位置上,然后继续F8,F8过程中,记得在向上跳转的下一行F4,也就是让程序运行到向上跳转的下一行,这是脱壳的基本原则,尽量不让程序往回跳
0040CCD36Foutsdx,dwordptres:[edi]0040CCD4636869arplwordptrds:[eax+0x69],bp0040CCD78B442404moveax,dwordptrss:[esp+0x4];//回车的位置0040CCDB8B00moveax,dwordptrds:[eax]0040CCDD3D04000080cmpeax,0x800000040040CCE27406jeshortPEncrypt.0040CCEA0040CCE44Bdecebx5.找到关键跳,指向OEP的关键跳
0040CD269Dpopfd0040CD2761popad0040CD28BDCC104000movebp,PEncrypt.004010CC0040CD2D-FFE5jmpebp;//指向OEP的关键跳0040CD2F0000addbyteptrds:[eax],al0040CD310000addbyteptrds:[eax],al0040CD330000addbyteptrds:[eax],al6.来到OEP,进行脱壳,需要注意的是脱壳后无法正常运行,需要使用loadPE重建PE表才可以正常运行
004010CC55pushebp;PEncrypt.004010CC004010CD8BECmovebp,esp004010CF83EC44subesp,0x44004010D256pushesi004010D3FF15E4634000calldwordptrds:[<&KERNEL32.Get>;kernel32.GetCommandLineA004010D98BF0movesi,eax004010DB8A00moval,byteptrds:[eax]004010DD3C22cmpal,0x22004010DF751BjnzshortPEncrypt.004010FC7.运行查壳
运行OK,查壳:MicrosoftVisualC++v6.0SPx
相关文章推荐
- JavaScript学习手记1
- UITableView 滚动到指定行cell
- 老程序员给初学者的一些建议和忠告
- TypeScript之基本数据类型
- Linux-Ubuntu 开机一直提示系统内部错误的解决方案
- Android Studio实践运用中遇到问题总结
- caffe_cpp_api
- spring注入静态成员变量提示invalid setter method
- webService上传图片
- Python进阶09 动态类型
- C++ 最常见的显示使用this 指针场景
- java多线程笔记
- Mac启用apache
- Chapter 5-03
- Apache 文件根目录设置修改方法 (Document Root)
- PHP删除Array数组里指定的key(完整版,已封装成函数,附测试代码)
- Word 2013 页码设置棘手问题
- Python的参数传递
- 使用 acl 内存池模块管理动态对象
- Mac系统app store访问缓慢