壳版本: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. HDOJ 2089 不要62(打表)

    Problem Description 杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer). 杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来 ...

  2. [转载]Android相关开发网站

    my: Android 开发官方文档国内镜像-踏得网: http://wear.techbrood.com/index.html 转载自: http://my.oschina.net/luforn/b ...

  3. 数组在C++和java中的区别

    几乎所有的程序设计语言都支持数组.在C和C++中使用数组是很危险的.因为C和C++中的数组就是内存块.如果一个程序要访问其自身内存块之外的数组,或者在数组初始化之前使用它,都会产生难以预料的后果. j ...

  4. Exception in thread "main" com.sun.xml.internal.ws.streaming.XMLStreamReaderException: unexpected XML tag.

    webservice 抛异常,原因: public class HeaderHandler implements SOAPHandler<SOAPMessageContext>{ @Ove ...

  5. oracle用户解锁和改密

    alter user hs_user account unlock; alter user hs_asset account unlock; alter user hs_his account unl ...

  6. JSP学习笔记(一):JDK的安装及环境变量的配置

    一.JDK的安装. JDK可以在Oracle(甲骨文)的官网下载,连接地址:http://www.oracle.com/technetwork/java/javase/downloads/index- ...

  7. java:利用数组实现将古诗词纵向输出

      java:利用二维数组实现将古诗词纵向输出. 从网络上随便搜索一首古诗词,这里刻意选择句子长短不一的诗词 1.首先先把诗词放进一个二维数组中. 这里将数组类型定义成char 类型,因为将其定义为S ...

  8. setTimeout中所执行函数中的this,永远指向window

    注意是要延迟执行的函数中的this哦!! //片段一 setTimeout("alert(this)", 1); // [object Window] //片段二 var obj ...

  9. 你需要知道的九大排序算法【Python实现】之插入排序

    三.插入排序 基本思想:插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的.个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2).是稳定的排序方法.插入算 ...

  10. [AngularJS] Services, Factories, and Providers -- Service vs Factory

    Creating a Service: Before actual create an angular service, first create a constructor in Javascrip ...