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

 

壳分为两种:压缩壳和加密壳,UPX是一种很简单的压缩壳。

 

手脱UPX壳:

工具:ExeinfoPE、OD

对象:rmvbfix

方法1:单步跟踪

将要脱的exe扔进od。

 

这里选择"否",不然有些操作会出现错误。

 

 

进入之后从起点开始单步执行(快捷键F8),遇到pxx注意跳跃方向,手动断点跳过往回跳的指令。

 

 

遇到这种jxx后跟call指令的一并跳过。

 

 

一直单步知道如上图这样的,跳跃跨度极大,让其跳跃后便可以到达真正的入口:

 

 

在入口我们右键便可以用od内工具进行脱壳。

 

这里选择方式1/2都可以。

 

方法2:ESP定律法

一进入要先确保硬件断点是清空状态的。

 

我们进行push入栈之后,在右侧寄存器里可以看到ESP有了操作,右键让其进入数据窗口。

 

 

也可以在下方指令框中输入 dd/hr ESP地址

 

 

设置硬件访问,word和Dword都可。

 

 

然后运行一下:

 

 

随后就和方法1一样继续往下走。

方法3:二次内存镜像法

 

 

可以通过菜单栏"查看—内存"或直接按m进入内存界面:

 

对区段".rsrc"下断点,下面的区段不用管,之下第一个rsrc,后面的是系统的区段。

下完之后运行走一步,然后回来:

 

 

回来之后在401000处再下一次

随后单步往下走,同方法1

 

方法4:直捣黄龙(适用于绝大部分的UPX壳和部分Aspack壳)

众所周知,push的反义词是pop,有入栈的push,必定有出栈的pop

 

 

我们查找popad,因为是pushad所以后面的ad相同,注意不用勾选整个块,因为整个块的popad绝对不止一个。

 

 

好,找到了,单步运行,同方法1

 

 

 

 

 

 

 

 

【个人笔记】ximo早期发的脱壳教程——手脱UPX壳的更多相关文章

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

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

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

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

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

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

  4. PHP微信发红包简明教程

    PHP微信发红包简明教程1首先进入公众号申请微信支付 申请成功账号密码会发到你指定的邮箱 是登陆商户平台的2 进入后申请发红包借口3 调用发红包接口 https://api.mch.weixin.qq ...

  5. PHP阿里大于发短信教程

    PHP阿里大于发短信教程 1 先去控制台 https://www.alidayu.com/center/user/account?spm=a3142.7791109.1999204004.5.ZtBQ ...

  6. 【山外笔记-数据库】Memcached详解教程

    本文打印版文档下载地址 [山外笔记-数据库]Memcached详解教程-打印版.pdf 一.Memcached数据库概述 1.Memcached简介 (1)Memcached是一个自由开源的,高性能, ...

  7. 脱壳入门----脱ASPack壳保护的DLL

    前言 结合脱dll壳的基本思路,对看雪加密解密里的一个ASPack壳保护的dll进行脱壳分析. 脱壳详细过程 寻找程序的OEP 先将目标DLL拖入OD,来到壳的入口处. 然后利用堆栈平衡原理在push ...

  8. 【小梅哥SOPC学习笔记】Altera SOPC嵌入式系统设计教程

    Altera SOPC嵌入式系统设计教程 第1章 概述 SOPC(System On Programmable Chip,可编程的片上系统)是Altera公司提出来的一种灵活.高效的SOC解决方案.它 ...

  9. 【学习笔记】兄弟连LINUX视屏教程(沈超 李明)

    发现自己的linux水平楞个瓜皮,找个视屏教程学习一哈 1 linux系统简介 1.1 UNIX和Linux发展史 unix发展历史:1969年,美国贝尔实验室的肯.汤普森开发出unix系统,1971 ...

随机推荐

  1. @EnableAutoConfiguration激活自动装配

    给予上个例子,将WebConfiguration类上的@SpringBootApplication换成@EnableAutoConfiguration.启动并运行http://localhost:80 ...

  2. 使用Spring Data Mongodb的MongoRepository类进行增删改查

    Spring Data Mongodb提供一套快捷操作 mongodb的方法,创建Dao,继承MongoRepository,并指定实体类型和主键类型. public interface CmsPag ...

  3. redis(七)---- SpringBoot和redis整合

    SpringBoot和Redis整合非常简单 添加pom依赖 <dependency> <groupId>org.springframework.boot</groupI ...

  4. h5-transform二维变换-扑克牌小案例

    html代码:6张扑克牌 <div class="pkBox"> <img src="../img/pk1.jpg" alt="&q ...

  5. Javascript object.constructor属性与面向对象编程(oop)

    定义和用法 在 JavaScript 中, constructor 属性返回对象的构造函数. 返回值是函数的引用,不是函数名: JavaScript 数组 constructor 属性返回 funct ...

  6. logrus日志框架

    目录 logrus介绍 logrus配置 日志打印 HOOK机制 Gin日志 Fatal处理 线程安全 logrus介绍 golang标准库的日志框架非常简单,仅仅提供了print,panic和fat ...

  7. shell字符串大小写转换

    1.typeset  有两个选项 -l 代表小写 -u 代表大写. 用法: typeset -u name name='asdasdas' echo $name   typeset -l ame am ...

  8. SQL基础教程(第2版)第4章 数据更新:4-1 数据的插入(INSERT)

    第4章 数据更新:4-1 数据的插入(INSERT) ● 将列名和值用逗号隔开,分别括在()内,这种形式称为清单.● 对表中所有列进行INSERT操作时可以省略表名后的列清单.● 插入NULL时需要在 ...

  9. tomcat配置配置文件和war包进行分离

    应用部署  war包.配置文件分离 部署主机路径规划以及tomcat中间件改造 1.新建存放war包路径 /appsystems/apps   将war包放置其中 2.新建存放配置文件路径 /apps ...

  10. thinkcmf2.2 火狐浏览器图片上传以及谷歌图片上传打开稍慢

    对目录中 admin/themes/simplebootx/asset/plupload.html 文件 进行更改如下图: