VMProtect修复导入表的插件
壳版本:VMProtect.Ultimate.2.12.3
样本:TKLobby.exe
目的:IAT修复
作者:MrWrong
标题:VMProtect修复导入表的插件
只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
严谨地说,本文所作的工作仅仅是在跑到VMP所保护的exe的OEP后,修复系统中LONG CALL 和 LONG JMP,还有一些MOV reg, [iat_addr]。插件实现根据原来发的一篇帖子:《探讨VMP 2.12.3 导入表修复》
链接:http://www.cnblogs.com/MrWrong/p/3640369.html
原来的帖子上在修复的细节上还有一点错误。
插件不太好用,所以搞了个exe程序作为例子,截几个关键的图。
用的exe是JJ比赛大厅:http://www.jj.cn
下了一个当前最新的版本JJmatch-ID4501562-ChildID-.exe
大厅程序名TKLobby.exe
先跑OEP。OEP为0043F3AA。
然后在代码窗口 右键->VMPIatRepair->修复IAT
点击后弹出一个叫作Dialog的窗口。对,窗口名居然就叫Dialog,还是个模态对话框。(太懒了,难搞)
在窗口里把数据填好。注意,是16进制的RVA,看图。
然后点确定,就完成了修复。
修复完,打开LOG窗口,发现里面有每个修复的call和jmp的地址信息(将原来的LONG JMP和LONG CALL 修复成了SHORT JMP和SHORT CALL)。
如图
接下来怎么办?看我的《探讨VMP 2.12.3 导入表修复》里说的来搞,不重复讲了。
其他版本的VMP你也可以试着用插件搞一下,搞不搞得定就全看你的脸了(其实我也不知道这个样本是哪个版本的VMP,全是因为脸好)。还有,目前不支持DLL的修复。
文件下载地址 http://files.cnblogs.com/files/MrWrong/VMProtect%E4%BF%AE%E5%A4%8D%E5%AF%BC%E5%85%A5%E8%A1%A8%E7%9A%84%E6%8F%92%E4%BB%B6.zip
百度云下载地址:链接:http://pan.baidu.com/s/1qWkNTt6 密码:iwk6 (百度云下载地址内有JJ比赛的安装程序)
最后特别感谢好友KeyKernel的帮助。独学而无友,则孤陋而寡闻。
VMProtect修复导入表的插件的更多相关文章
- 探讨VMP 2.12.3 导入表修复
壳版本:VMProtect.Ultimate.2.12.3 样本:notepad.exe 目的:IAT修复 作者:MrWrong 标题:探讨VMP 2.12.3 导入表修复 只是感兴趣,没有其他目的. ...
- IDA分析脱壳后丢失导入表的PE
1. 问题 一些程序经过脱壳后(如用OD的dump插件),一些导入表信息丢失了,导致拖入IDA后看不到API的信息(如右图所示,第一个红圈处实际是GetCurrentProcessId),给分析造成极 ...
- C/C++ 手工实现IAT导入表注入劫持
DLL注入有多种方式,今天介绍的这一种注入方式是通过修改导入表,增加一项导入DLL以及导入函数,我们知道当程序在被运行起来之前,其导入表中的导入DLL与导入函数会被递归读取加载到目标空间中,我们向导入 ...
- C/C++ 导入表与IAT内存修正
本章教程中,使用的工具是上次制作的PE结构解析器,如果还不会使用请先看前一篇文章中对该工具的介绍,本章节内容主要复习导入表结构的基础知识点,并通过前面编写的一些小案例,实现对内存的转储与导入表的脱壳修 ...
- EXP/IMP迁移案例,IMP遭遇导入表的表空间归属问题
生产环境: 源数据库:Windows Server + Oracle 11.2.0.1 目标数据库:SunOS + Oracle 11.2.0.3 1.确认迁移需求:源数据库cssf 用户所有表和数据 ...
- (转)jQuery插件 -- Form表单插件jquery.form.js
beforeSubmit: validate function validate(formData, jqForm, options) { //在这里对表单进行验证,如果不符合规则,将返回false来 ...
- oracle exp imp 导入 正在跳过表 plsql 导入表 成功终止 数据 被导入
http://blog.csdn.net/agileclipse/article/details/12968011 .导入过程中,所有表导入都出现提示, 正在跳过表...某某表名 最后提示成功终止导入 ...
- jquery.form.js表单插件的使用
jquery.form.js官网:http://malsup.com/jquery/form API文档:http://malsup.com/jquery/form/#api 下载地址:http:// ...
- 小甲鱼PE详解之输入表(导入表)详解(PE详解07)
捷径并不是把弯路改直了,而是帮你把岔道堵上! 走得弯路跟成长的速度是成正比的!不要害怕走上弯路,弯路会让你懂得更多,最终还是会在终点交汇! 岔路会将你引入万劫不复的深渊,并越走越深…… 在开始讲解输入 ...
随机推荐
- ASPNET异步删除和增加
function InitList() { $.getJSON("GetNewsList.ashx", {}, function (data) { for (var i = 0; ...
- Linux项目一
Linux项目一 引言: 这是我去年做的东西,一直没有时间整理,今天又要做一个基于这个项目的客户端与服务器版本. 以前我写的库文件中的函数耦合度很大,在一个函数中调用另一个函数,导致一无法拆开使用! ...
- socket编程里的read和recv函数【转载】
本文转载自:http://blog.163.com/like12@126/blog/static/63023403201291983117551/ 1.read 与 recv 区别 read 原则: ...
- node.js环境配置(angularjs高级程序设计中出现的错误)
一:npm install connect会出现错误:解决方法 1:$ npm install connect@2.X.X 2:$ npm install serve-static: 建立server ...
- validator 对象
validate方法返回Validator对象,Validator对象有很多种有用的方法: Validator.form()验证表单是否有效,返回true/false Validator.elemen ...
- Meth | apt-get update ,upgarde 和dist-upgrade 的区别
#sudo apt-get update 获得最近的软件包的列表:列表中包含一些包的信息,比如这个包是否更新过#sudo apt-get dist-upgrade 如果这个包没有发布更新,就不管它:如 ...
- struts2,hibernate,spring整合笔记(4)--struts与spring的整合
饭要一口一口吃,程序也要一步一步写, 很多看起来很复杂的东西最初都是很简单的 下面要整合struts和spring spring就是我们的管家,原来我们费事费神的问题统统扔给她就好了 先写一个测试方法 ...
- yii CGridView colum 链接
默认显示的内容是没有链接的,现在想加链接,效果图如下 代码位置就在columns数组里,直接上代码说明 $this->widget('zii.widgets.grid.CGridView', a ...
- NS2仿真:公交车移动周期模型及性能分析
NS2仿真实验报告3 实验名称:公交车移动周期模型及性能分析 实验日期:2015年3月16日~2015年3月21日 实验报告日期:2015年3月22日 一.实验环境(网络平台,操作系统,网络拓扑图) ...
- python基础-软件目录开发规范
为什么要设计好目录结构? "设计项目目录结构",就和"代码编码风格"一样,属于个人风格问题.对于这种风格上的规范,一直都存在两种态度: 一类同学认为,这种个人风 ...