一、单步

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的更多相关文章

  1. 手脱ASProtect v1.23 RC1(有Stolen Code)

    1.载入PEID ASProtect v1.23 RC1 常见ASprotect版本壳: ASProtect 1.23 RC4 按shift+f9键26次后来到典型异常 ASProtect 1.31 ...

  2. 手脱ACProtect v1.35(无Stolen Code)之二

    首先,想说明的是这个壳在我的PC上是可以用上一个帖子中的方法来到假的OEP的:http://www.52pojie.cn/forum.php?mod=viewthread&tid=433462 ...

  3. 手脱ACProtect v1.35(有Stolen Code)

    1.载入PEID ACProtect v1.35 -> risco software Inc. & Anticrack Soft 2.载入OD,需要注意的是,异常选项除了[内存访问异常] ...

  4. 手脱ACProtect v1.35(无Stolen Code)

    1.载入PEID ACProtect v1.35 -> risco software Inc. & Anticrack Soft 2.载入OD,需要注意的是,异常选项除了[内存访问异常] ...

  5. 手脱FSG v1.33

    1.载入PEID FSG v1.33 (Eng) -> dulek/xt 2.载入OD,先F8跟一会 004103E3 > BE A4014000 mov esi,fsg1_33.0040 ...

  6. 手脱EXE32Pack v1.39

    1.PEID查壳 EXE32Pack v1.39 2.载入OD,先F8跟一下 0040A00C > 3BC0 cmp eax,eax ; //程序入口点 0040A00E je short st ...

  7. 简单脱壳教程笔记(8)---手脱EZIP壳

    本笔记是针对ximo早期发的脱壳基础视频教程,整理的笔记.本笔记用到的工具下载地址: http://download.csdn.net/detail/obuyiseng/9466056 EZIP壳 : ...

  8. 手脱ASProtect v1.23 RC1(有Stolen Code)之以壳解壳

    1.载入PEID ASProtect v1.23 RC1 2.载入OD,不勾选内存访问异常,其他异常全部勾选 > 01C06D00 push SoWorker.006DC001 ; //入口点 ...

  9. 手脱ASProtect v1.23 RC1(无Stolen Code)

    1.载入PEID ASProtect v1.23 RC1 2.载入OD,不勾选内存访问异常,其他异常全部勾选 > 01C04200 push 跑跑排行.0042C001 ; //入口处 E8 c ...

随机推荐

  1. SVN服务器搭建及客户端配置

    为什么要使用SVN? 在程序的编写过程中,每个程序员都会负责开发一个或多个模块,且开发中会生成很多不同的版本, 这就需要程序员有效的管理代码,在需要的时候可以迅速,准确取出相应的版本. Subvers ...

  2. 7. I/O复用

    一.I/O复用的特点 能同时监听多个文件描述符 自身是阻塞的 当多个文件描述符同时就绪时,如果不采取额外的措施,程序就只能按顺序依次处理其中的每一个文件描述符 由于其第三个特点,所以服务器程序看起来仍 ...

  3. sprint1_11.15燃尽图(第二天)

    找相关的图片资料用于做点餐系统的界面 燃尽图:

  4. “Hello World!团队”Beta发布—视频链接+文案+美工

    视频链接:http://v.youku.com/v_show/id_XMzE3MjEyMzkyMA==.html?spm=a2h3j.8428770.3416059.1 文案+美工:http://ww ...

  5. textarea中文提交乱码问题解决

    在A.jsp中有如下语句: <textarea rows="10" cols="30" name="texts"><%=r ...

  6. 人生的第一篇blog

    开始写博客了,人生第一篇博客啊,要写些什么呢?想想也没有什么头绪,随便写写吧. 这学期要使用代码管理工具了,要写团队项目了.一直以来都是自己一个人在默默编程,没有过合作经历.对于代码的管理也只是一直在 ...

  7. C#高级编程 (第六版) 学习 第二章:C#基础

    第二章 基础 1,helloworld示例: helloworld.cs using System; using System.Collections.Generic; using System.Li ...

  8. 【APS.NET Core】- launchSettings.json

    launchSettings.json文件为一个ASP.NET Core应用保存特有的配置标准,用于应用的启动准备工作,包括环境变量,开发端口等.在launchSettings.json文件中进行配置 ...

  9. ViewPager、Fragment、Matrix综合使用实现Tab滑页效果

    原文地址:http://www.cnblogs.com/kross/p/3372987.html 我们实现一个上面是一个可以左右滑动的页面,下面是三个可点击切换的tab按钮,tab按钮上还有一个激活条 ...

  10. 51nod 1574 排列转换(贪心+鸽巢原理)

    题意:有两个长度为n的排列p和s.要求通过交换使得p变成s.交换 pi 和 pj 的代价是|i-j|.要求使用最少的代价让p变成s. 考虑两个数字pi和pj,假如交换他们能使得pi到目标的距离减少,p ...