【个人笔记】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. 寒假day19

    今天编写了人才动态模块,同时刷了一些算法题.

  2. SQL inner join, join, left join, right join, full outer join

    基本信息 创建两个表a1, a2. 两个表的重要差别是:a1 中有5,'wu',a2中没有. a2中有 4,'li',而a1中没有. 创建表和插入数据的代码如下: -- 创建a1表 create ta ...

  3. 可重入排他锁ReentrantLock源码浅析

    1.引子 "ReentrantLock"单词中的“Reentrant”就是“重入”的意思,正如其名,ReentrantLock是一个支持重入的排他锁,即同一个线程中可以多次获得同步 ...

  4. POJ - 1127 Jack Straws(几何)

    题意:桌子上放着n根木棍,已知木棍两端的坐标.给定几对木棍,判断每对木棍是否相连.当两根木棍之间有公共点或可以通过相连的木棍间接的连在一起,则认为是相连的. 分析: 1.若线段i与j平行,且有部分重合 ...

  5. CF940F Machine Learning(带修莫队)

    首先显然应该把数组离散化,然后发现是个带修莫队裸题,但是求mex比较讨厌,怎么办?其实可以这样求:记录每个数出现的次数,以及出现次数的出现次数.至于求mex,直接暴力扫最小的出现次数的出现次数为0的正 ...

  6. JSP三大指令(Page指令,include指令,taglib指令)

    参考文章: https://www.runoob.com/jsp/jsp-directives.html http://c.biancheng.net/view/1458.html https://b ...

  7. spring+mybatis 多数据源切换失败的可能原因

    可能因为,加了事务. // @Transactional(readOnly = false) // 需要事务操作必须加入此注解 就因为加了事务,导致了,问题的出现. 不然setCustomerType ...

  8. 设置MySQL客户端连接使用的字符集

    设置MySQL客户端连接使用的字符集 时间:2014-03-05    来源:服务器之家    投稿:root 考虑什么是一个"连接":它是连接服务器时所作的事情.客户端发送SQL ...

  9. MSE(均方误差)、RMSE (均方根误差)、MAE (平均绝对误差)

    1.MSE(均方误差)(Mean Square Error) MSE是真实值与预测值的差值的平方然后求和平均. 范围[0,+∞),当预测值与真实值完全相同时为0,误差越大,该值越大. import n ...

  10. jenkins job 杀进程不成功解决办法

    jenkins_job #!/bin/bash set -ex #打印执行过程 BUILD_ID=DONTKILLME #防止自杀 ssh dataexa@192.168.1.65 > /dev ...