手脱PEncrypt 4.0
1.载入PEID
PEncrypt 4.0 Gamma / 4.0 Phi -> junkcode [Overlay]
2.载入OD,没什么头绪,忽略所有异常,用最后一次异常法shift+F9运行两次,因为第三次会跑飞,所以运行两次,另外这个壳使用单步太费劲了,一不小心就跑飞了,所以直接使用的最后一次异常法进行脱壳的
> FC cld ; //入口点
FC cld
FC cld
nop
- E9 BDBA0000 jmp PEncrypt.0040CAC6
- E3 D5 jecxz short PEncrypt.00400FE0
0040100B 4F add al,0x4F
0040100D - A4 je short PEncrypt.00400FB3
0040100F D248 ror byte ptr ds:[eax+0x74],cl
3.最后一次异常法的落脚点,落脚后,右键—转到—表达式—输入SE句柄(也叫SE处理程序)”0040CCD7”—回车
0040CCD0 9D popfd
0040CCD1 nop
0040CCD2 4B dec ebx ; //最后一次异常法落脚点
0040CCD3 6F outs dx,dword ptr es:[edi]
0040CCD4 arpl word ptr ds:[eax+0x69],bp
0040CCD7 8B4424 mov eax,dword ptr ss:[esp+0x4]
0040CCDB 8B00 mov eax,dword ptr ds:[eax]
0040CCDD 3D cmp eax,0x80000004 0012FF88 0040CCD7 SE处理程序
4.回车后的位置,然后F2,SHIFT+F9,F2,也就是让程序运行到转到的位置上,然后继续F8,F8过程中,记得在向上跳转的下一行F4,也就是让程序运行到向上跳转的下一行,这是脱壳的基本原则,尽量不让程序往回跳
0040CCD3 6F outs dx,dword ptr es:[edi]
0040CCD4 arpl word ptr ds:[eax+0x69],bp
0040CCD7 8B4424 mov eax,dword ptr ss:[esp+0x4] ; //回车的位置
0040CCDB 8B00 mov eax,dword ptr ds:[eax]
0040CCDD 3D cmp eax,0x80000004
0040CCE2 je short PEncrypt.0040CCEA
0040CCE4 4B dec ebx
5.找到关键跳,指向OEP的关键跳
0040CD26 9D popfd
0040CD27 popad
0040CD28 BD CC104000 mov ebp,PEncrypt.004010CC
0040CD2D - FFE5 jmp ebp ; //指向OEP的关键跳
0040CD2F add byte ptr ds:[eax],al
0040CD31 add byte ptr ds:[eax],al
0040CD33 add byte ptr ds:[eax],al
6.来到OEP,进行脱壳,需要注意的是脱壳后无法正常运行,需要使用loadPE重建PE表才可以正常运行
004010CC push ebp ; PEncrypt.004010CC
004010CD 8BEC mov ebp,esp
004010CF 83EC sub esp,0x44
004010D2 push esi
004010D3 FF15 E4634000 call dword ptr ds:[<&KERNEL32.Get>; kernel32.GetCommandLineA
004010D9 8BF0 mov esi,eax
004010DB 8A00 mov al,byte ptr ds:[eax]
004010DD 3C cmp al,0x22
004010DF 1B jnz short PEncrypt.004010FC
7.运行查壳
运行OK,查壳:Microsoft Visual C++ v6.0 SPx
手脱PEncrypt 4.0的更多相关文章
- 手脱EZIP v1.0
一.单步 1.载入PEID查壳 EZIP v1.0 2.载入OD,一上来就是一个大跳转,F8单步一直走 0040D0BE > $ /E9 jmp Notepad.004102DC ; //入口点 ...
- 手脱ACProtect V2.0(无Stolen Code)
1.载入PEID ACProtect V2.0 -> risco 2.载入OD > 00A04000 push ACP_Feed.0040A000 ; //入口点 0B104000 pus ...
- 手脱FSG 2.0 -> bart/xt
声明: 只为纪录自己的脱壳历程,高手勿喷 1.在入口的第二行ESP定律下硬件断点然后F9运行8次(因为第9次就跑飞了) 0040955C > pushad 0040955D EB jmp //E ...
- 手脱Aspack变形壳1
1.载入PEID Aspack v2.12 -> www.aspack.com 2.载入OD,不管是看查壳信息还是看入口特征都跟我上一次发的一个手脱Aspack v2.12的帖子相同http:/ ...
- 简单脱壳教程笔记(2)---手脱UPX壳(1)
本笔记是针对ximo早期发的脱壳基础视频教程,整理的笔记. ximo早期发的脱壳基础视频教程 下载地址如下: http://down.52pojie.cn/%E5%90%BE%E7%88%B1%E7% ...
- 简单脱壳教程笔记(7)---手脱PECompact2.X壳
本笔记是针对ximo早期发的脱壳基础视频教程.整理的笔记.本笔记用到的工具下载地址: http://download.csdn.net/detail/obuyiseng/9466056 简单介绍: F ...
- 手动脱KBys Packer(0.28)壳实战
作者:Fly2015 吾爱破解培训第一课选修作业第5个练习程序.在公司的时候用郁金香OD调试该加壳程序的时候出了点问题,可是回家用吾爱破解版的OD一调试,浑身精神爽,啥问题也没有. 首先使用查壳工具对 ...
- 【个人笔记】ximo早期发的脱壳教程——手脱UPX壳
[个人笔记]ximo早期发的脱壳教程--手脱UPX壳 壳分为两种:压缩壳和加密壳,UPX是一种很简单的压缩壳. 手脱UPX壳: 工具:ExeinfoPE.OD 对象:rmvbfix 方法1:单 ...
- 手脱PE Pack v1.0
1.PEID查壳 PE Pack v1.0 2.载入OD,一上来就这架势,先F8走着 > / je ; //入口点 -\E9 C49D0000 jmp Pepack_1.0040D000 004 ...
随机推荐
- Deeplearning - Overview of Convolution Neural Network
Finally pass all the Deeplearning.ai courses in March! I highly recommend it! If you already know th ...
- [leetcode-914-X of a Kind in a Deck of Cards]
In a deck of cards, each card has an integer written on it. Return true if and only if you can choos ...
- java面向对象的栈 队列 优先级队列的比较
栈 队列 有序队列数据结构的生命周期比那些数据库类型的结构(比如链表,树)要短得多.在程序操作执行期间他们才被创建,通常用他们去执行某项特殊的任务:当完成任务之后,他们就会被销毁.这三个数据结构还有一 ...
- Scrum立会报告+燃尽图(十月十七日总第八次)
本次作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2246 一.小组介绍 组名:杨老师粉丝群 组长:乔静玉 组员:吴奕瑶.公 ...
- 20172311-ASL测试 2018-1938872补充博客
20172311-ASL测试 2018-1938872补充博客 课程:<程序设计与数据结构> 班级: 1723 姓名: 赵晓海 学号: 20172311 实验教师:王志强老师 测试日期:2 ...
- OpenCV学习笔记——疑问
vec3b:表示每一个Vec3b对象中,可以存储3个char(字符型)数据,比如可以用这样的对象,去存储RGB图像中的一个像素点.typedef Vec<uchar, 3> Vec3b; ...
- 福大软工1816 ·软工之404NoteFound团队选题报告
目录 NABCD分析引用 N(Need,需求): A(Approach,做法): B(Benefit,好处): C(Competitors,竞争): D(Delivery,交付): 初期 中期 个人贡 ...
- HDU 5195 DZY Loves Topological Sorting 拓扑排序
题目链接: hdu:http://acm.hdu.edu.cn/showproblem.php?pid=5195 bc(中文):http://bestcoder.hdu.edu.cn/contests ...
- Iterable,Iterator和forEach
Iterable Interface Iterable<T> 方法: Iterator<T> iterator() Returns an iterator over a set ...
- 结对项目之对PIE的测试程序
项目要求: 构造程序,分别是: 不能触发Fault. 触发Fault,但是不能触发Error. 触发Error,但是不能产生Failure. 结对对象:陈秋月 学号:2013110404 博客地址 ...