声明:

只为纪录自己的脱壳历程,高手勿喷

第一种:两次内存法

注:

①这是在win7x32系统上运行的脱壳,所以可能地址不同
②修复的时候用等级三修复,最后修复不了的剪切掉然后转存合一正常运行,已测试

1.载入OEP,一上来就是个达跳转,我也是醉了

004C6BD6 >^\E9 25E4FFFF     jmp 第八九课.004C5000       //入口
004C6BDB add byte ptr ds:[eax],al
004C6BDD add byte ptr ss:[ebp+edx*+0x61],ah
004C6BE1 8D1E lea ebx,dword ptr ds:[esi]
004C6BE3 6C ins byte ptr es:[edi],dx
 

2.Ait+M打开内存窗口在0047D000地址下断点,然后shift+F9运行,界面应该停在这个位置上

004C5D25    AC              lods byte ptr ds:[esi]          //落脚点
004C5D26 0BC0 or eax,eax
004C5D28 02C1 add al,cl
004C5D2A 02C1 add al,cl
004C5D2C 85FF test edi,edi
004C5D2E 0AC9 or cl,cl
 

3.接着打开内存窗口在00401000地址下断,然后shift+F9运行,直接到达OEP

0045D4F6                  push ebp        //这里就是OEP了
0045D4F7 8BEC mov ebp,esp
0045D4F9 6A FF push -0x1
0045D4FB push 第八九课.
0045D500 D4024600 push 第八九课.004602D4
0045D505 :A1 mov eax,dword ptr fs:[]
0045D50B push eax
0045D50C : >mov dword ptr fs:[],esp
0045D513 83EC sub esp,0x58
 

4.修复脱壳

第二种:最后一次异常法

1.忽略所有异常shift+F916次,来到这个位置

004C6833  ^\ DC           jnb short 第八九课.004C6811 //入口
004C6835 CD20 64678F06 vxdcall 0x68F6764
004C683B add byte ptr ds:[eax],al
004C683D pop eax
004C683E popad
 

2.右下角SE处理句,跟随地址004C6817,来到这个位置

004C6817    8B6424        mov esp,dword ptr ss:[esp+0x8]      //落脚点
004C681B EB 1A jmp short 第八九课.004C6837
004C681D ::FF36 push dword ptr fs:[]
004C6823 :: mov dword ptr fs:[],esp
004C6829 9C pushfd
 

3.然后在004C6817位置F2,SHIFT+F9,F2

4.然后F8,58次往下跟(注意带数字的call全部F7)一直到这个位置,他是个向上跳转,在这个跳转的下一行F2,shift+F9,F2,

004C68DB  ^\ BE           jns short 第八九课.004C689B   //下一行F2,SHIFT+F9,F2
004C68DD EB jmp short 第八九课.004C68E0
004C68DF :C1E8 DF shr ax,0xDF
004C68E3 popad
004C68E4 F9 stc
 

5.然后一直F8,38次就可以到达OEP

0045D4F6                  push ebp        //OEP位置
0045D4F7 8BEC mov ebp,esp
0045D4F9 6A FF push -0x1
0045D4FB push 第八九课.
0045D500 D4024600 push 第八九课.004602D4
0045D505 :A1 mov eax,dword ptr fs:[]
0045D50B push eax
0045D50C : >mov dword ptr fs:[],esp
0045D513 83EC sub esp,0x58
 

6.修复脱壳

手脱tElock 0.98b1 -> tE!的更多相关文章

  1. 手脱Aspack变形壳1

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

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

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

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

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

  4. 编译原理--05 用C++手撕PL/0

    前言 目录 01 文法和语言.词法分析复习 02 自顶向下.自底向上的LR分析复习 03 语法制导翻译和中间代码生成复习 04 符号表.运行时存储组织和代码优化复习 05 用C++手撕PL/0 在之前 ...

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

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

  6. 手脱PEncrypt 4.0

    1.载入PEID PEncrypt 4.0 Gamma / 4.0 Phi -> junkcode [Overlay] 2.载入OD,没什么头绪,忽略所有异常,用最后一次异常法shift+F9运 ...

  7. 手脱PE Pack v1.0

    1.PEID查壳 PE Pack v1.0 2.载入OD,一上来就这架势,先F8走着 > / je ; //入口点 -\E9 C49D0000 jmp Pepack_1.0040D000 004 ...

  8. 手脱EZIP v1.0

    一.单步 1.载入PEID查壳 EZIP v1.0 2.载入OD,一上来就是一个大跳转,F8单步一直走 0040D0BE > $ /E9 jmp Notepad.004102DC ; //入口点 ...

  9. 手脱ACProtect V2.0(无Stolen Code)

    1.载入PEID ACProtect V2.0 -> risco 2.载入OD > 00A04000 push ACP_Feed.0040A000 ; //入口点 0B104000 pus ...

随机推荐

  1. [寒假学习笔记](一)Markdown语法学习

    Markdown 学习 在博客园上使用markdown编辑,记录学习进度,以来日可以复习 前期准备 1. 安装markdownpad2 官网直接找下载安装,遇到bug他会自动提示信息,跟着提示去安装一 ...

  2. 1.hive介绍及安装配置

    1.Hive介绍 数据库OLTP 在线事务处理 数据仓库OLAP 在线分析处理 延迟高 类sql方式(HQL) 使用sql方式,用来读写,管理位于分布式存储系统上的大型数据集的数据仓库技术 hive是 ...

  3. 关于window.open弹出窗口被阻止的问题

    原文:http://blog.csdn.net/fanfanjin/article/details/6858168 在web编程过程中,经常会遇到一些页面需要弹出窗口,但是在服务器端用window.o ...

  4. [并查集] How Many Tables

    题目描述 Today is Ignatius' birthday. He invites a lot of friends. Now it's dinner time. Ignatius wants ...

  5. 查看sqlserver数据库的编码格式

    查询语句:SELECT  COLLATIONPROPERTY('Chinese_PRC_Stroke_CI_AI_KS_WS', 'CodePage'): 查询结果: 936 简体中文GBK 950 ...

  6. 树莓派两用优盘制作(FAT32存储+EXT树莓派系统)

    版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:树莓派两用优盘制作(FAT32存储+EXT树莓派系统)     本文地址:http://tec ...

  7. 对scrum站立会议的理解

    个人理解:首先我不明白scrum的含义,查了一下,scrum是迭代式增量软件开发过程,通常用于敏捷开发.scrum包括了一系列实践和预定义角色的过程骨架.scrum中的主要角色包括同项目经理类似的sc ...

  8. phpisset()和empty()函数区别

    PHP的isset()函数 一般用来检测变量是否设置 格式:bool isset ( mixed var [, mixed var [, ...]] ) 功能:检测变量是否设置 返回值: 若变量不存在 ...

  9. Html5新增元素中Canvas 与内联SVG的比较!

    SVG与Canvas的区别与比较如下: svg:使用xml描述2D图形,canvas使用javascript描述2D图形. Canvas 是逐像素进行渲染的,在 canvas 中,一旦图形被绘制完成, ...

  10. MySQL---InnoDB引擎隔离级别详解

    原帖:http://www.cnblogs.com/snsdzjlz320/p/5761387.html SQL标准定义了4种隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不 ...