手脱EZIP v1.0
一、单步
1.载入PEID查壳
EZIP v1.0
2.载入OD,一上来就是一个大跳转,F8单步一直走
0040D0BE > $ /E9 jmp Notepad.004102DC ; //入口点
0040D0C3 . |E9 7C2A0000 jmp Notepad.0040FB44
0040D0C8 $ |E9 jmp Notepad.0040F4E6
0040D0CD $ |E9 FF230000 jmp Notepad.0040F4D1
0040D0D2 . |E9 1E2E0000 jmp Notepad.0040FEF5
0040D0D7 $ |E9 882E0000 jmp Notepad.0040FF64
0040D0DC $ |E9 2C250000 jmp Notepad.0040F60D
3.基本上这个壳靠F8就可以走完了,除了一个向上跳转的位置在下一行F4,然后继续F8
|. 83C0 |add eax,0x28
|. ECFDFFFF |mov [local.],eax
0041061A |.^ E9 40FFFFFF \jmp Notepad.0041055F ; //向上跳转的下一行F4
0041061F |> FFB5 E8FDFFFF push [local.]
|. FF95 D4FCFFFF call [local.]
0041062B |. 8D85 94FCFFFF lea eax,[local.]
|. push eax
4.找到指向OEP的跳转
|. 5B pop ebx
|. 8BE5 mov esp,ebp
|. 5D pop ebp
|.- FFE0 jmp eax ; //指向OEP的跳转
0041068A |> 5F pop edi
0041068B |. 5E pop esi
0041068C |. 5B pop ebx
0041068D |. C9 leave
5.来到OEP
004010CC push ebp ; //来到OEP
004010CD 8BEC mov ebp,esp
004010CF 83EC sub esp,0x44
004010D2 push esi
004010D3 FF15 E4634000 call dword ptr ds:[0x4063E4]
004010D9 8BF0 mov esi,eax
004010DB 8A00 mov al,byte ptr ds:[eax]
004010DD 3C cmp al,0x22
6.脱壳后不能运行,我们需要使用loadPE重建PE表
7.运行查壳
运行OK,查壳:Microsoft Visual C++ v6.0 SPx
二、ESP
1.载入OD,一上来就是一个大跳转,F8单步一直走
0040D0BE > $ /E9 jmp Notepad.004102DC ; //入口点
0040D0C3 . |E9 7C2A0000 jmp Notepad.0040FB44
0040D0C8 $ |E9 jmp Notepad.0040F4E6
0040D0CD $ |E9 FF230000 jmp Notepad.0040F4D1
0040D0D2 . |E9 1E2E0000 jmp Notepad.0040FEF5
0040D0D7 $ |E9 882E0000 jmp Notepad.0040FF64
0040D0DC $ |E9 2C250000 jmp Notepad.0040F60D
0040D0E1 $ |E9 AE150000 jmp Notepad.0040E694
0040D0E6 $ |E9 772B0000 jmp Notepad.0040FC62
2.跳转落脚点,落脚点是一个push,push的下一行使用ESP定律,下硬件访问断点,然后SHIFT
+F9运行一次
004102DC /> \ push ebp ; //落脚点
004102DD |. 8BEC mov ebp,esp ; //这里使用ESP
004102DF |. 81EC sub esp,0x428
004102E5 |. push ebx
004102E6 |. push esi
004102E7 |. push edi
004102E8 |. 8D85 94FCFFFF lea eax,[local.]
004102EE |. push eax
3.来到指向OEP的跳转,再F8一下
|.- FFE0 jmp eax ; //指向OEP的跳转
0041068A |> 5F pop edi
0041068B |. 5E pop esi
0041068C |. 5B pop ebx
0041068D |. C9 leave
0041068E \. C3 retn
0041068F CC int3
4.来到OEP,脱壳,重建PE表,运行,查壳
004010CC push ebp ; //来到OEP
004010CD 8BEC mov ebp,esp
004010CF 83EC sub esp,0x44
004010D2 push esi
004010D3 FF15 E4634000 call dword ptr ds:[0x4063E4]
004010D9 8BF0 mov esi,eax
004010DB 8A00 mov al,byte ptr ds:[eax]
004010DD 3C cmp al,0x22
手脱EZIP v1.0的更多相关文章
- 手脱ASProtect v1.23 RC1(有Stolen Code)
1.载入PEID ASProtect v1.23 RC1 常见ASprotect版本壳: ASProtect 1.23 RC4 按shift+f9键26次后来到典型异常 ASProtect 1.31 ...
- 手脱ACProtect v1.35(无Stolen Code)之二
首先,想说明的是这个壳在我的PC上是可以用上一个帖子中的方法来到假的OEP的:http://www.52pojie.cn/forum.php?mod=viewthread&tid=433462 ...
- 手脱ACProtect v1.35(有Stolen Code)
1.载入PEID ACProtect v1.35 -> risco software Inc. & Anticrack Soft 2.载入OD,需要注意的是,异常选项除了[内存访问异常] ...
- 手脱ACProtect v1.35(无Stolen Code)
1.载入PEID ACProtect v1.35 -> risco software Inc. & Anticrack Soft 2.载入OD,需要注意的是,异常选项除了[内存访问异常] ...
- 手脱FSG v1.33
1.载入PEID FSG v1.33 (Eng) -> dulek/xt 2.载入OD,先F8跟一会 004103E3 > BE A4014000 mov esi,fsg1_33.0040 ...
- 手脱EXE32Pack v1.39
1.PEID查壳 EXE32Pack v1.39 2.载入OD,先F8跟一下 0040A00C > 3BC0 cmp eax,eax ; //程序入口点 0040A00E je short st ...
- 简单脱壳教程笔记(8)---手脱EZIP壳
本笔记是针对ximo早期发的脱壳基础视频教程,整理的笔记.本笔记用到的工具下载地址: http://download.csdn.net/detail/obuyiseng/9466056 EZIP壳 : ...
- 手脱ASProtect v1.23 RC1(有Stolen Code)之以壳解壳
1.载入PEID ASProtect v1.23 RC1 2.载入OD,不勾选内存访问异常,其他异常全部勾选 > 01C06D00 push SoWorker.006DC001 ; //入口点 ...
- 手脱ASProtect v1.23 RC1(无Stolen Code)
1.载入PEID ASProtect v1.23 RC1 2.载入OD,不勾选内存访问异常,其他异常全部勾选 > 01C04200 push 跑跑排行.0042C001 ; //入口处 E8 c ...
随机推荐
- Deeplearning - Overview of Convolution Neural Network
Finally pass all the Deeplearning.ai courses in March! I highly recommend it! If you already know th ...
- R之RMySQL
linux,mysql和R的版本信息: Linux naci 3.19.0-16-generic #16-Ubuntu SMP Server version: 5.6.24-0ubuntu2 (Ubu ...
- sqlmap+tor解决ip黑名单限制
1.安装tor浏览器(8.0.8)并配置好 旧版tor是需要Vidalia配合的,新版貌似集成了?还是怎样的,反正不需要了 2.启动tor浏览器 3.启动sqlmap python sqlmap.py ...
- Markdown分级语法手册
目录 前言(可以不看) 基本语法(18) 1. 标题:# 2. 无序列表:- 3. 有序列表:1. 4. 斜体:* 5. 粗体:** 6. 加粗斜体:*** 7. 删除线:~~ 8. 分隔线:--- ...
- ES6的新特性(21)——Proxy
Proxy 概述 Proxy 用于修改某些操作的默认行为,等同于在语言层面做出修改,所以属于一种“元编程”(meta programming),即对编程语言进行编程. Proxy 可以理解成,在目标对 ...
- Python3 迭代器和生成器
想要搞明白什么是迭代器,首先要了解几个名词:容器(container).迭代(iteration).可迭代对象(iterable).迭代器(iterator).生成器(generator). 看图是不 ...
- java 数据存储
简单的记录一下而已. 1.寄存器: 特点:快,存储有限. 存储地点:处理器内部. 2.堆栈 特点:仅次于寄存器快,通过堆栈指针在处理器获取支持.堆栈指针下移,分配内存,上移,释放内存.此外须知生命周期 ...
- 团队项目NABCD
团队成员及项目简介 团队名:伍陸柒 团队成员: 李 俏(20132912 信1301-2) 郝 颖(20132919 信1301-2)http://www.cnblogs.com/haoying1 ...
- 团队Alpha冲刺(一)
目录 组员情况 组员1(组长):胡绪佩 组员2:胡青元 组员3:庄卉 组员4:家灿 组员5:凯琳 组员6:丹丹 组员7:家伟 组员8:政演 组员9:黄鸿杰 组员10:刘一好 组员11:何宇恒 展示组内 ...
- 【第二周】【作业五】Scrum 每日站会
1.首先来看一下什么是Scrum: Scrum是一种敏捷软件开发的方法学,用于迭代式增量软件开发过程.Scrum在英语是橄榄球运动中争球的意思. 虽然Scrum是为管理软件开发项目而开发的,它同样可以 ...