VMP2.0版本带壳调试教程
样本MD5:297DE74CB20A975EFAF20CD88FDDF270
在逆向分析时遇到VMP壳总是令人头疼,因为要源文件完美地从VMP壳中脱出来非常的困难。相比于VMP完美脱壳,带壳调试要简单许多,而且已经能满足调试分析的需求了,VMP分1.0、2.0、3.0,2.0,现在市面上较多见的是2.0,调试方法也较简单,下面我们就来讲解下如何带壳调试VMP2.0。
使用查壳工具可以得知样本加的是VMP2.0.7版本的壳,小本版之间的脱壳方法都一样,以下方法v2.0.X都适用。
OD打开样本后,按下Ctrl+G跳转到VirtualProtect函数的位置。
在VirtualProtect的起始处(0x7C801AD4)下断点,然后开始按F9,程序会多次停在断点处,在此期间要注意观察右下方红框中的NewProtect的值。
当NewProtect的值变为PAG_READONLY时,样本的代码已经全部解密出来了,我们停止按F9。
解密出代码后,就要开始寻找OEP了,首先我们来到程序的代码起始处0x401000(每个程序的代码起始处不一样),右键->分析->从模块中删除分析,让代码更直观。
做完以上操作后,代码已经显示出来了,接下来我们就要通过搜索入口点字节码来找OEP,每种编译器的初始字节码是不一样的,具体可以百度。我这个样本用查壳工具可以得知是VC编译的。
VC编译出来的程序入口点的字节码为:push ebp move ebp,esp,所以我按下Ctrl+S搜索该汇编码以寻找入口点。搜到的第一个地址为0x401560,虽然这个入口点字节码匹配,但我们看图中两个箭头,这两个地方都是代码结束点,我们想程序主函数不应该那么短吧,所以这应该是个函数,还不是OEP,所以我们继续往下找。
搜到了0x401610,也是没多久又retn了,估计又是个函数,不是OEP,接着找。
终于来到了一个没那么短的代码段,而且箭头中有许多敏感的字符串,这个应该就是我们要找的OEP,在0x4016C0处右键->断点->硬件执行,就能给OEP下硬件断点了。
重新加载程序,取消掉之前VirutalProtect的断点,按下F9,就来到了OEP的位置,接下来可以开始调试了。
VMP2.0版本带壳调试教程相关推荐
- redis6.2/5.0版本windows下载安装教程(win10)
一.下载 redis官网4后就没有提供windows版本了,只能通过工具在windows下生成相应的版本.这个我已经使用cygwin生成,我已经生成了,大家可以下载,目前有6.2和5.0版本. [re ...
- 【已解决】Android5.0版本如何打开调试模式
解决方法: 设置->关于手机->Android版本(双击此处,直到提示已经处于开发者模式) 返回上一级,进入其他高级设置->开发者选项->USB调试(勾选) 此时,已经搞定,赶 ...
- 基于ymir2.0版本搭建本地化调试的环境
ymir本地化调试流程 1.安装ubuntu20.4系统,下载pycharm社区版 2.在pycharm打开ymir工程目录 3.将ymir/ymir/backend/src下面的common,ymi ...
- 专门用于录音和编辑的音乐制作软件Cubase 12.0版本下载安装使用教程
目录 前言 一.库管理工具安装 二.激活管理工具安装 三.Cubase安装 四.b4安装 总结 前言 Cubase是一个专门用于录音和编辑的软件.除了提供大量的乐器,该工具还具有突出的乐器,如先进的鼓 ...
- 最新转转+闲鱼源码2.0版本带独立后台+个人二维码收款
介绍: PHP5.6 后台/admin.php 账号admin密码123456. 网盘下载地址: https://zijiewangpan.com/CRyBag36oo9 图片:
- 喜大普奔,全球领先的应用开发平台-应用之星3.0版本已经正式发布
好消息,全球领先的app开发平台应用之星平台3.0版本已经全面升级上线,从网站页面,开发工具和网站服务等进行全面升级,希望对开发者带来全新的开发体验. 下面跟大家掰一掰有哪些变化. 第一:网站采用扁平 ...
- 最新翻译的官方PyTorch简易入门教程(PyTorch1.0版本)
"PyTorch 深度学习:60分钟快速入门"为PyTorch官网教程,网上已经有部分翻译作品,随着PyTorch1.0版本的公布,这个教程有较大的代码改动,本人对教程进行重新翻译 ...
- 【游戏开发实战】Unity老工程师开始搞Laya了,不想看官方文档,那就看我的教程吧(Laya2.12.0版本 | 案例 | 入门 | 教程)
文章目录 一.前言 二.我做的Laya案例集合工程 三.LayaAir IDE下载 四.Hello World工程 1.新建空项目 2.新建场景:HelloWorld.scene 3.创建一个Labe ...
- 尝试自动重定向的次数太多_阿里Arthas 3.1.0版本:在线教程、内存编译器和强大的自动补全...
摘要: `Arthas`是Alibaba开源的Java诊断工具,深受开发者喜爱. 从Arthas上个版本发布,已经过去两个多月了,Arthas 3.1.0版本不仅带来大家投票出来的新LOGO,还带来强 ...
- android版本的微信更新,安卓微信8.0版本在哪里更新?安卓微信8.0下载更新教程...
安卓微信8.0版本在哪里更新?微信的最新版已经上线,但是安卓用户却没有找到更新的地方,所以想要了解安卓微信8.0版本更新的方法,那么下面就让小编带着大家一起来了解一下微信8.0版本安卓更新的具体详情. ...
最新文章
- php获取mysql数据菜鸟_PHP 连接 MySQL | 菜鸟教程
- Java 和 HTTP 的那些事(四) HTTPS 和 证书
- 2013 2016 年期末考试
- 移除项目中的CocoaPods
- 表格为一条细线的html代码,html制作细线表格的简单实例
- Java的finally理解
- 高斯主元素消去法c语言,列主元Gauss消去法(C++实现)
- ajax控件扩展,22.6 扩展控件
- Windows 查看端口使用情况
- 能力的变迁:能力包括哪些方面
- 关于孟德斯鸠的出卖官职
- BT656跟BT1120和BT709有什么区别
- Java读取文件的N种方法
- 复盘:图像饱和度计算公式和图像信噪(PSNR)比计算公式
- 高中计算机教师学期论文,高中信息技术教学论文范文
- 网站收录有很多为什么没排名?解决办法
- 查询失败,后台服务器运行错误,添加网络打印机错误?怎么处理?Windows 无法连接到打印机。 服务器打印后台处理程序服务没有运行。...
- vc word bookmark
- 教你用python做个街拍美图手册
- Windows应用、注册表