实现代码:
GitHub - PlaneJun/VMP-Import-Fix: VMP 3.X decrypt iat
GitHub - PlaneJun/vmp_fixiat: fix vmp-iat by unicorn and capstone
一、IAT保护方式原函数调用代码:
Text1004018EE FF 15 0C 30 40 00 ...
一、没有大炮我们自己造首先编写一个简单的程序。
1234567int main(){ int a = 1; a = a + 1; printf("%d\n",a); return 0;}
编译后给程序添加vmp保护壳,这里选择的VMP版本为v3.5.0。
保护的函数为main函数,编译类型修改为虚拟。
并且关闭一系列保护。
编译完成后,可看到程...
分析对象为网上流传的VMP源码
源码路径
函数名
行号
runtime\loader.cc
SetupImage
884
1、反调试1.1 用户模式line:17492通过检测PEB->BeingDebugged,常规手段了,没什么好说。
然后就是通过NtSetInformationProcess、NtQueryInformationProcess、NtSetInfo...
在dump一些驱动样本的时候会遇到这样的情况。
这种是要修复导入表的,大多数解决办法就是给dump文件修复导入表,但是这种方式有点弊端。比如说面对的是一段shellcode代码的话就比较繁琐,所以并不适用。最佳解决办法就是把ntoskrnl.exe模块原封不动加载到ida。
首先,我们把驱动dump下来后,因为缺少ntoskenl.exe的内存,所以函数调用会变红。所以我们首先是要加载这个内...
一、样本标签
标签名
描述
原始⽂件名
Andoryu.x86
MD5
00a8b3eed7356153ab93d2fd3366a60e
⽂件⼤⼩
41.22 KB (42208 bytes)
⽂件格式
ELF 64-bit
加壳类型
无
编译语⾔
C/C++
SHA1
c948b7115ddb0f44a196f11be08c025ca2379194
...
一、Readme模块分析1、样本标签
标签名
描述
原始⽂件名
Readme.exe
MD5
194B2F31CC40249C041A5581E6A12A5B
⽂件⼤⼩
41.6 KB (42,624 字节)
⽂件格式
Win32 Exe
时间戳
1970-01-01 08:00:00
加壳类型
UPX
编译语⾔
C/C++
SHA1
D3D8BEE...