本文主要是介绍利用工具半自动修复VMP3.5壳的变异IAT,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本教程不讲解过反调试,寻找并修复OEP等内容, 只讲解修复变异IAT的部分, 有疑问或者错误的地方可以指出来, 用到的工具有x32dbg vmp3-import-fix-x86 Universal Import Fixer Imports Fixer, 除了x32dbg调试器,其余软件都在附件可以下载
第一步:调试器调试到OEP后暂停(记下OEP地址和进程ID), 可以看见下图中的call FD320A, FD320A这个地址会跳转到.vmp0段, 这里应该是直接调用GetVersion函数的;
第二步:以管理员打开cmd, 执行"vmp3-import-fix-x86 -p 之前记下的进程ID"命令, 执行完命令后随便用个工具dump出来;
第三步:以管理员打开Universal Import Fixer, 进程ID填写之前记下的进程ID, 代码始于和代码止于自己看自己的调试器中的地址填写, 新的IAT VA可以不填写, 勾选修复输入表, 点击开始, 等待修复完后就进行下一步
第四步:以管理员打开Imports Fixer, 进程列表中选择正在调试的进程, 点击IT&IAT, 代码区段中选择.text, OEP填写之前记下的OEP地址, 点击获取导入表, 把无效指针都去掉, 点击修正转储, 选择之前dump出来的文件, 最后dump出来的文件就已经修复完变异IAT啦, 可以把.vmp0和.vmp1区段头和数据全部删除啦
觉得可以的话,给个三连吧
这篇关于利用工具半自动修复VMP3.5壳的变异IAT的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!