样本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版本带壳调试教程相关推荐

  1. redis6.2/5.0版本windows下载安装教程(win10)

    一.下载 redis官网4后就没有提供windows版本了,只能通过工具在windows下生成相应的版本.这个我已经使用cygwin生成,我已经生成了,大家可以下载,目前有6.2和5.0版本. [re ...

  2. 【已解决】Android5.0版本如何打开调试模式

    解决方法: 设置->关于手机->Android版本(双击此处,直到提示已经处于开发者模式) 返回上一级,进入其他高级设置->开发者选项->USB调试(勾选) 此时,已经搞定,赶 ...

  3. 基于ymir2.0版本搭建本地化调试的环境

    ymir本地化调试流程 1.安装ubuntu20.4系统,下载pycharm社区版 2.在pycharm打开ymir工程目录 3.将ymir/ymir/backend/src下面的common,ymi ...

  4. 专门用于录音和编辑的音乐制作软件Cubase 12.0版本下载安装使用教程

    目录 前言 一.库管理工具安装 二.激活管理工具安装 三.Cubase安装 四.b4安装 总结 前言 Cubase是一个专门用于录音和编辑的软件.除了提供大量的乐器,该工具还具有突出的乐器,如先进的鼓 ...

  5. 最新转转+闲鱼源码2.0版本带独立后台+个人二维码收款

    介绍: PHP5.6 后台/admin.php 账号admin密码123456. 网盘下载地址: https://zijiewangpan.com/CRyBag36oo9 图片:

  6. 喜大普奔,全球领先的应用开发平台-应用之星3.0版本已经正式发布

    好消息,全球领先的app开发平台应用之星平台3.0版本已经全面升级上线,从网站页面,开发工具和网站服务等进行全面升级,希望对开发者带来全新的开发体验. 下面跟大家掰一掰有哪些变化. 第一:网站采用扁平 ...

  7. 最新翻译的官方PyTorch简易入门教程(PyTorch1.0版本)

    "PyTorch 深度学习:60分钟快速入门"为PyTorch官网教程,网上已经有部分翻译作品,随着PyTorch1.0版本的公布,这个教程有较大的代码改动,本人对教程进行重新翻译 ...

  8. 【游戏开发实战】Unity老工程师开始搞Laya了,不想看官方文档,那就看我的教程吧(Laya2.12.0版本 | 案例 | 入门 | 教程)

    文章目录 一.前言 二.我做的Laya案例集合工程 三.LayaAir IDE下载 四.Hello World工程 1.新建空项目 2.新建场景:HelloWorld.scene 3.创建一个Labe ...

  9. 尝试自动重定向的次数太多_阿里Arthas 3.1.0版本:在线教程、内存编译器和强大的自动补全...

    摘要: `Arthas`是Alibaba开源的Java诊断工具,深受开发者喜爱. 从Arthas上个版本发布,已经过去两个多月了,Arthas 3.1.0版本不仅带来大家投票出来的新LOGO,还带来强 ...

  10. android版本的微信更新,安卓微信8.0版本在哪里更新?安卓微信8.0下载更新教程...

    安卓微信8.0版本在哪里更新?微信的最新版已经上线,但是安卓用户却没有找到更新的地方,所以想要了解安卓微信8.0版本更新的方法,那么下面就让小编带着大家一起来了解一下微信8.0版本安卓更新的具体详情. ...

最新文章

  1. php获取mysql数据菜鸟_PHP 连接 MySQL | 菜鸟教程
  2. Java 和 HTTP 的那些事(四) HTTPS 和 证书
  3. 2013 2016 年期末考试
  4. 移除项目中的CocoaPods
  5. 表格为一条细线的html代码,html制作细线表格的简单实例
  6. Java的finally理解
  7. 高斯主元素消去法c语言,列主元Gauss消去法(C++实现)
  8. ajax控件扩展,22.6 扩展控件
  9. Windows 查看端口使用情况
  10. 能力的变迁:能力包括哪些方面
  11. 关于孟德斯鸠的出卖官职
  12. BT656跟BT1120和BT709有什么区别
  13. Java读取文件的N种方法
  14. 复盘:图像饱和度计算公式和图像信噪(PSNR)比计算公式
  15. 高中计算机教师学期论文,高中信息技术教学论文范文
  16. 网站收录有很多为什么没排名?解决办法
  17. 查询失败,后台服务器运行错误,添加网络打印机错误?怎么处理?Windows 无法连接到打印机。 服务器打印后台处理程序服务没有运行。...
  18. vc word bookmark
  19. 教你用python做个街拍美图手册
  20. Windows应用、注册表

热门文章

  1. 最新修复版efucms聚合小说漫画动漫听书分销系统源码(附安装教程)
  2. 【小伟哥AI之路】海康摄像头近距离不能对焦模糊问题
  3. 从事IT行业的应该如何学习最高效的休息方式
  4. 网页设计Dreamweaver【1】
  5. windows系统安装下GCC编译器
  6. 网速提高学习周——软件篇
  7. 07版qq默认经典表情下载
  8. VFP+6.0中文版教程--初级教程
  9. EdrawMax使用方法
  10. 《Android框架揭秘》——导读