第四课 VMP壳内爆破
这一课用来演示的软件是文件巴士。
打开网页一搜索,可笑的是搜索到的结果都是破解版,想找个原版的倒费劲了。
好容易找到一个,下好一查壳,还没有。。。
行吧,自己加一个VMP壳开搞。

第一步 OD载入程序后,直接F9运行,然后点击”,点击OK

这步什么意思呢
因为但凡有壳的程序,都会对数据进行加密。输入这个的目的就是跳到已经解码的部分
然后在已经解码的部分,可以进行搜索错误代码,找关键跳的操作。
但是,并不是所有的程序跳到已解码部分都是输入“401000”,具体怎么区别对待,原理又是什么,后面老师教了再说。这里只是知道这方法不是通吃的就行。
输入后点击OK,汇编窗口代码会变成全是白色的一长串,这时候就是跳到了已经解码的代码段,此时,右键----分析--从模块中删除分析,就回到了通常的反汇编代码显示。
第二步 搜索错误提示代码和寻找关键跳
软件运行后任意输入假码,看下报错信息,如下:

可以看到这里有一行提示:"免费试用版本剩余天数:30天"
下面搜索报错信息中的“注册失败”
在搜索结果中双击,返回反汇编窗口,一步一步向上找,发现有一个JE完整的跳过了注册成功的提示,那这个JE就是关键跳


这个跳转太长,中间省略了一部分截图
注意第一张图的红圈标识的JE和CALL就是关键跳和关键CALL
第三步 NOP填充
因为这个JE,跳过了注册完成的部分,所以不能让它跳转成功。那就用NOP掉。
在这个JE上下断点,F9运行,程序停在断点,把这个JE使用NOP填充掉,再按F8一步步运行

完成。再按F9运行软件,发现“免费试用版和试用天数剩余30天”的提示已经消失了

总结:
即使软件加了诸如VMP这种强壳,在不脱壳的情况下,
通过在内部已解码的字段寻找关键跳,然后NOP掉 的方法依然是可以绕过验证的。
不过,这样简单的办法也仅仅是针对对加壳并不了解的软件作者有效吧
第四课 VMP壳内爆破的更多相关文章
- X86逆向4:VMP壳内寻找注册码
本节课将讲解一下重启验证,重启验证在软件中也是非常的常见的,重启验证的原理很简单,用户在注册界面输入注册码以后程序会自动将输入的注册信息保存到配置文件中,这里可能保存到注册表,也可能使用INI文件来保 ...
- NeHe OpenGL教程 第四十四课:3D光晕
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- 【Linux探索之旅】第二部分第四课:文件操纵,鼓掌之中
内容简介 1.第二部分第四课:文件操纵,鼓掌之中 2.第二部分第五课预告:用户和权限 文件操纵,鼓掌之中 既然上一课我们学习了Linux中的文件组织方式,那么现在就该是玩弄,啊不,是操纵它们的时候了. ...
- Linux云自动化运维第四课
Linux云自动化运维第四课 一.vim 1.vim光标移动 1)在命令模式下 :数字 ###移动到指定的行 G ###文件最后一行 gg ###文件第一行 2)在插入模式下 i ###光标所 ...
- 【JavaScript从入门到精通】第四课初探JavaScript魅力-04
第四课初探JavaScript魅力-04 style与className 之前我们已经讲过,style用于在JS里控制元素的样式,通过style可以选中元素的各种css属性.此外,我们也提到过,JS用 ...
- Linux零基础入门第四课
根据直播讲义整理的内容,从第四课开始.前三课的内容若后面有精力会一并整理进来. 文件的基本操作(上) 创建.删除.复制.移动和重命名 touch命令创建文件 语法 >$ touch file0 ...
- [译]Quartz.NET 框架 教程(中文版)2.2.x 之第四课 更多关于Triggers
第四课 更多关于Triggers 跟作业任务类似,触发器也非常容易使用,但是在你能够充分掌握Quartz之前,你需要知道并理解许多触发器的客户化的参数.前面已经提到过,有许多不同类型的触发器供你选择, ...
- webgl(three.js)实现室内三维定位,3D定位,3D楼宇bim、实时定位三维可视化解决方案——第十四课(定位升级版)
序: 还是要抽出时间看书的,迷上了豆豆的作品,最近在看<天幕红尘>,书中主人公的人生价值观以及修为都是让我惊为叹止.很想成为那样的人,但是再看看自己每天干的事,与时间的支配情况,真是十分的 ...
- Kali Linux Web 渗透测试视频教程—第十四课-arp欺骗、嗅探、dns欺骗、session劫持
Kali Linux Web 渗透测试视频教程—第十四课-arp欺骗.嗅探.dns欺骗.session劫持 文/玄魂 目录 Kali Linux Web 渗透测试—第十四课-arp欺骗.嗅探.dns欺 ...
随机推荐
- 服务管理之rsync
目录 rsync 1. rsync简介 2. rsync特性 4. rsync命令 5. rsync+inotify rsync 1. rsync简介 rsync是linux系统下的数据镜像备份工具. ...
- String StringBuilder 包装类
1. String 概述 程序中直接写上双引号的字符串就在字符串常量池中,new的不在池当中 java6之前常量池在方法区,java7以后将字符串常量池放在堆中 因为字符串是对象,应该在堆中 相同的字 ...
- Java容器-个人整理1
1.初始化集合时,若能知道知道容量,尽量初始化时确定容量.容器类一般可以自动扩充,但扩充是有性能代价的. 2.Arrays.asList()的底层表示仍然时数组,因此不能进行调整尺寸的操作. 3.Ha ...
- 适用于Mac 的自动补丁管理软件
适用于Mac 的自动补丁管理软件 ManageEngine Desktop Central 的功能越来越神奇.系统管理员现在可以使用 Desktop Central 管理异构网络.即使是最复杂的任务, ...
- 常用API2 正则表达式
正则表达式 正则表达式的概念 正则表达式(Regular Expression ,在代码中常简写为regex) 正则表达式是一个字符串,使用单个字符串来描述.用来定义匹配规则,匹配一系列符合某个句法规 ...
- 冒泡排序&&选择排序
package cn.lijun.demo;//冒泡排序public class Test5 { public static void main(String[] args) { int[] arr ...
- 关于Selenium.common.exceptions.WebDriverException: Message: Invalid locator strategy: css selector 的问题
在执行脚本时报Selenium.common.exceptions.WebDriverException: Message: Invalid locator strategy: css selecto ...
- 现网环境业务不影响,但是tomcat启动一直有error日志,ERROR org.apache.catalina.startup.ContextConfig- Unable to process Jar entry [module-info.class] from Jar [jar:file:/home/iufs/apache-tomcat/webapps/iufs/WEB-INF/lib/asm
完整的错误日志信息: 2019-03-19 15:30:42,021 [main] INFO org.apache.catalina.core.StandardEngine- Starting Ser ...
- fromdata上传多个文件
function upload_single_file(value){ if(value==''){ layer.msg('请添加文件',{time:1500}) }else{ var formDat ...
- Ubuntu修改系统时间
在新版的ubuntu中,使用timedatectl 替换了ntpdate来进行时间管理. 1.查看当前时间状态 查看当前时间状态 timedatectl status : res@ubuntu:~$ ...