壳版本: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修复导入表的插件的更多相关文章

  1. 探讨VMP 2.12.3 导入表修复

    壳版本:VMProtect.Ultimate.2.12.3 样本:notepad.exe 目的:IAT修复 作者:MrWrong 标题:探讨VMP 2.12.3 导入表修复 只是感兴趣,没有其他目的. ...

  2. IDA分析脱壳后丢失导入表的PE

    1. 问题 一些程序经过脱壳后(如用OD的dump插件),一些导入表信息丢失了,导致拖入IDA后看不到API的信息(如右图所示,第一个红圈处实际是GetCurrentProcessId),给分析造成极 ...

  3. C/C++ 手工实现IAT导入表注入劫持

    DLL注入有多种方式,今天介绍的这一种注入方式是通过修改导入表,增加一项导入DLL以及导入函数,我们知道当程序在被运行起来之前,其导入表中的导入DLL与导入函数会被递归读取加载到目标空间中,我们向导入 ...

  4. C/C++ 导入表与IAT内存修正

    本章教程中,使用的工具是上次制作的PE结构解析器,如果还不会使用请先看前一篇文章中对该工具的介绍,本章节内容主要复习导入表结构的基础知识点,并通过前面编写的一些小案例,实现对内存的转储与导入表的脱壳修 ...

  5. EXP/IMP迁移案例,IMP遭遇导入表的表空间归属问题

    生产环境: 源数据库:Windows Server + Oracle 11.2.0.1 目标数据库:SunOS + Oracle 11.2.0.3 1.确认迁移需求:源数据库cssf 用户所有表和数据 ...

  6. (转)jQuery插件 -- Form表单插件jquery.form.js

    beforeSubmit: validate function validate(formData, jqForm, options) { //在这里对表单进行验证,如果不符合规则,将返回false来 ...

  7. oracle exp imp 导入 正在跳过表 plsql 导入表 成功终止 数据 被导入

    http://blog.csdn.net/agileclipse/article/details/12968011 .导入过程中,所有表导入都出现提示, 正在跳过表...某某表名 最后提示成功终止导入 ...

  8. jquery.form.js表单插件的使用

    jquery.form.js官网:http://malsup.com/jquery/form API文档:http://malsup.com/jquery/form/#api 下载地址:http:// ...

  9. 小甲鱼PE详解之输入表(导入表)详解(PE详解07)

    捷径并不是把弯路改直了,而是帮你把岔道堵上! 走得弯路跟成长的速度是成正比的!不要害怕走上弯路,弯路会让你懂得更多,最终还是会在终点交汇! 岔路会将你引入万劫不复的深渊,并越走越深…… 在开始讲解输入 ...

随机推荐

  1. <转>libjpeg解码内存中的jpeg数据

    转自http://my.unix-center.net/~Simon_fu/?p=565 熟悉libjpeg的朋友都知道libjpeg是一个开源的库.Linux和Android都是用libjpeg来 ...

  2. HDOJ 1098 Ignatius's puzzle

    Problem Description Ignatius is poor at math,he falls across a puzzle problem,so he has no choice bu ...

  3. Flas-SQLAchemy数据库操作使用学习笔记

    Flas-SQLAchemy数据库操作使用学习笔记 Flask-SQLALchemy 是一个给你的应用添加 SQLALchemy 支持的 Flask 扩展.SQLALchemy 是Python语言的S ...

  4. DateGradeView分页绑定

    <form method="post" id="nform" runat="server">               < ...

  5. 《使用Win32DiskImager安装Ubuntu16.04》

    之前,一直使用的是“软碟通”来制作Ubuntu启动盘,或使用“EasyBCD”硬盘安装双系统,但前者在Ubuntu14.10及以后版本中便再也行不通了.此问题是由于Ubuntu使用了最新的syslin ...

  6. 学习之路十四:客户端调用WCF服务的几种方法小议

    最近项目中接触了一点WCF的知识,也就是怎么调用WCF服务,上网查了一些资料,很快就搞出来,可是不符合头的要求,主要有以下几个方面: ①WCF的地址会变动,地址虽变,但是里面的逻辑不变! ②不要引用W ...

  7. 第二节,CCSpriteBatchNode CCSpriteFrameCache

    1,CCSpriteBatchNode 精灵集合类 其中Batch的英文含义是一批,一群的意思.他的对象常常包含了许多的精灵对象,这些精灵对象有一个共同的特点,那就是使用同一张文理图片.虽然是同一个纹 ...

  8. 要缩小通过两个触摸点的观点(iOS)

    于AppDelegate.m档,创建一个视图控制器 #import "MAYAppDelegate.h" #import "MAYViewController.h&quo ...

  9. 怎样将关系型数据表转换至hbase数据表

    首先须要把关系型数据库的数据表的数据添加由 "纵向延伸",转变为HBase数据表的"横向延伸" 一.Hbase的存储结构 a)      HBase以表(HTa ...

  10. Servlet的PrintWriter out = response.getWriter()使用

    一直以来,只知道out可以向客户端浏览器页面输入数据(html.txt等类型),今天在和php程序联调时发现自己的理解出现了偏差. out是输出字符流,即servlet接受到request请求后,se ...