壳版本: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. bzoj3890 [Usaco2015 Jan]Meeting Time

    Description Bessie and her sister Elsie want to travel from the barn to their favorite field, such t ...

  2. 「Githug」Git 游戏通关流程

    Githug 他喵的这是个啥!?难道不是 GitHub 拼错了么,和 Git 什么关系? 和游戏又有什么关系? 其实,他的元身在这里:https://github.com/Gazler/githug  ...

  3. js跨域问题新方案

    只要创建一个空图片. js代码: var data = "http://localhost:8080/test?id="+id+"&content="+ ...

  4. android Bluetooth(官方翻译)

    Bluetooth Using the Bluetooth APIs, an Android application can perform the following: 使用蓝牙APIs,一个And ...

  5. [转] 在 Linux 中怎样使用cp命令合并目录树

    PS:通过cp -r --link a/* b/* merged 硬链接不需要复制 怎样将两个布局相似的目录树合并成一个新的目录树?为理解该问题让我们思考下面的例子. 假设 dir1 和 dir2 目 ...

  6. Unix系统解压tar包时出现@LongLink错误

    Unix系统上使用tar命令解压tar包后,多了一个@LongLink的文件,并且原来的tar包解压后不完整.网上查了下,原因是AIX系统上tar命令自身的一个缺陷.解决办法:把该tar包上传到lin ...

  7. C:应用于字符串处理函数

    出于对C的不够熟悉,在读代码的过程中,平凡出现的字符串处理函数,成为了一个理解代码的大问题. 为了更方便的读取和理解代码,特意将接触到的字符串处理函数列出,方便查询: 1.strstr(str1,st ...

  8. 2015 UESTC Winter Training #4【Regionals 2008 :: Asia - Tehran】

    2015 UESTC Winter Training #4 Regionals 2008 :: Asia - Tehran 比赛开始时电脑死活也连不上WIFI,导致花了近1个小时才解决_(:зゝ∠)_ ...

  9. printf用法之打印2进制,八进制,十进制,十六进制

    printf是格式化输出函数,它可以直接打印十进制,八进制,十六进制,输出控制符分别为%d, %o, %x, 但是它不存在二进制,如果输出二进制,可以手写,但是也可以调用stdlib.h里面的itoa ...

  10. Java多线程——ThreadLocal类

    一.概述   ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是threadlocalvariable(线程局部变量).也许把它命名 ...