1.PEID查壳

Upack 2.x - 3.x Heuristic Mode -> Dwing

2.载入OD,一上来就是一个大跳转,先F8跟一会

 >- E9 56D40300     jmp 跑跑排行.0043E48B                 ; //程序入口点
inc edx ; 跑跑排行.<ModuleEntryPoint>
jns short 跑跑排行.0040107C
ja short 跑跑排行.004010A3
0040103A 6E outs dx,byte ptr es:[edi]
0040103B : inc eax ; kernel32.BaseThreadInitThunk
0040103D add byte ptr ds:[eax],al
 

3.来到这里,我们看到一个push,可以使用ESP定律,下硬件访问断点,然后shift+F9运行一下

0043E49B    F3:AB           rep stos dword ptr es:[edi]
0043E49D AD lods dword ptr ds:[esi]
0043E49E push eax
0043E49F xchg eax,edi ; //ESP定律
0043E4A0 push ecx
0043E4A1 pop eax
0043E4A2 8D5485 5C lea edx,dword ptr ss:[ebp+eax*+>
 

4.ESP落脚点,这里就是落脚点了,别忘了清除硬件断点,然后继续F8,记住基本原则,向上跳转的下一行F4

0043E60E   /E3 1B           jecxz short 跑跑排行.0043E62B         ; //ESP落脚点
0043E610 |8A07 mov al,byte ptr ds:[edi]
0043E612 | inc edi
0043E613 | add al,0x18
0043E615 |3C cmp al,0x2
0043E617 ^| F7 jnb short 跑跑排行.0043E610 ; //向上跳转的下一行F4
0043E619 |8B07 mov eax,dword ptr ds:[edi]
0043E61B |3C cmp al,0x1
 

5.经常脱壳的朋友应该发现了,这里应该就是指向OEP的关键跳转了(因为第二列中间有个横杠),但是你会发现F8跳不过去,跳转没有实现,因为跳转的上一行”or eax,eax”这句话不解释了,需要一定的汇编基础,http://www.52pojie.cn/thread-420306-1-1.html可以在这个界面对照着查一下,也许你会懂,不懂我也没办法,然后我们需要做的是在这个跳转这行右键—断点—条件—输入”eax==0”—F9—F8,这样我们就实现了他的跳转

0043E631                  inc esi
0043E632 AD lods dword ptr ds:[esi]
0043E633 09C0 or eax,eax
0043E635 >- 0F84 E3BDFCFF je 跑跑排行.0040A41E ; //指向OEP的跳转
0043E63B push esi
0043E63C xchg eax,edi
0043E63D FF53 FC call dword ptr ds:[ebx-0x4]

6.来到OEP,可以脱壳了

0040A41E                  push ebp                          ; //来到OEP
0040A41F 8BEC mov ebp,esp
0040A421 6A FF push -0x1
0040A423 C8CB4000 push 跑跑排行.0040CBC8
0040A428 A4A54000 push 跑跑排行.0040A5A4
0040A42D :A1 mov eax,dword ptr fs:[]
0040A433 push eax
0040A434 : >mov dword ptr fs:[],esp
0040A43B 83EC sub esp,0x68
 

7.运行,查壳

运行OK,查壳:Microsoft Visual C++ v6.0

手脱Upack 2.x - 3.x的更多相关文章

  1. 简单脱壳教程笔记(2)---手脱UPX壳(1)

    本笔记是针对ximo早期发的脱壳基础视频教程,整理的笔记. ximo早期发的脱壳基础视频教程 下载地址如下: http://down.52pojie.cn/%E5%90%BE%E7%88%B1%E7% ...

  2. 手脱Aspack变形壳1

    1.载入PEID Aspack v2.12 -> www.aspack.com 2.载入OD,不管是看查壳信息还是看入口特征都跟我上一次发的一个手脱Aspack v2.12的帖子相同http:/ ...

  3. 简单脱壳教程笔记(7)---手脱PECompact2.X壳

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

  4. 【个人笔记】ximo早期发的脱壳教程——手脱UPX壳

    [个人笔记]ximo早期发的脱壳教程--手脱UPX壳   壳分为两种:压缩壳和加密壳,UPX是一种很简单的压缩壳.   手脱UPX壳: 工具:ExeinfoPE.OD 对象:rmvbfix 方法1:单 ...

  5. 深入底层逆向分析TDC‘s keygenme(手脱压缩壳)

    系统 : Windows xp 程序 : TDC‘s keygenme 程序下载地址 :http://pan.baidu.com/s/1gdWyt6z 要求 : 脱壳 & 注册机编写 使用工具 ...

  6. 填坑专记-手脱FSG壳

      妈呀,脱FGS壳真的是坎坷颇多,多亏吾爱破解前辈们的帮忙.我一定要记录下来,省的以后再无法解决.   已经查看是FSG壳了.找到入口也容易了.重点就是脱壳并修复好它. 脱壳   OEP为:   使 ...

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

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

  8. 手脱ASPack v2.12

    1.PEID查壳提示为: ASPack 2.12 -> Alexey Solodovnikov 2.载入OD,程序入口点是一个pushad,在他的下一行就可以进行ESP定律,下硬件访问断点然后s ...

  9. 手脱nSPack 3.7

    方法一: 1.   OD查壳—nSpack3.7的壳 2. 载入OD 看起来很眼熟,F8一次,然后下面就可以使用ESP定律了,使用ESP定律下断点,然后F9四次 3.   F9四次后落到这个位置 接下 ...

随机推荐

  1. [转载] Centos7的安装、Docker1.12.3的安装,以及Docker Swarm集群的简单实例

    1.环境准备 ​ 本文中的案例会有四台机器,他们的Host和IP地址如下 c1 -> 10.0.0.31 c2 -> 10.0.0.32 c3 -> 10.0.0.33 c4 -&g ...

  2. Linux内核学习笔记(4)-- wait、waitpid、wait3 和 wait4

    进程调用 exit() 退出执行后,被设置为僵死状态,这时父进程可以通过 wait4() 系统调用查询子进程是否终结,之后再进行最后的操作,彻底删除进程所占用的内存资源. wait4() 系统调用由 ...

  3. [寒假学习笔记](二)Python初学

    Python 学习 python的自学从几个月前断断续续地进行,想好好利用这个寒假,好好地学一学. 回顾 已学习:基本操作.函数 已有C++的一定基础,只要注意python中比较特殊的部分就行 进入正 ...

  4. eos对数据库的操作

    eosio的multi_index 概述 multi_index是eosio上的数据库管理接口,通过eosio::multi_index智能合约能够写入.读取和修改eosio数据库的数据 multi_ ...

  5. USACO 3.3.1 Riding the Fences 骑马修栅栏(欧拉回路)

    Description 农民John每年有很多栅栏要修理.他总是骑着马穿过每一个栅栏并修复它破损的地方. John是一个与其他农民一样懒的人.他讨厌骑马,因此从来不两次经过一个一个栅栏.你必须编一个程 ...

  6. Minimum Sum of Array(map迭代器)

    You are given an array a consisting of n integers a1, ..., an. In one operation, you can choose 2 el ...

  7. postion一句话很管用

    relative和absolute有本质区别,relative是相对与postion为默认值的时候元素自身位置来定位:而absolute是相对最近position为relative或absolute的 ...

  8. oracle 行转列和列转行

    WITH L AS ( ), m AS ( SELECT A.LV AS LV_A, B.LV AS LV_B, TO_CHAR(B.LV) || 'x' || TO_CHAR(A.LV) || '= ...

  9. css3 flex属性flex-grow、flex-shrink、flex-basis学习笔记

    最近在研究css3的flex.遇到的flex:1;这一块,很是很纠结,flex-grow.flex-shrink.flex-basis始终搞不清,最经搜集了大量的介绍,应该能算是明白了.网上大部分解释 ...

  10. CDN加速-内容分发网络

    内容分发网络 (互联网技术) 编辑 CDN的全称是Content Delivery Network,即内容分发网络.其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输 ...