修改vmp源码实现虚拟化导入表
新人发帖,排版问题请见谅话不多说先上图
如图所示,大概就是一个程序所有的导入函数引用的地址,差不多就三种类型,mov reg,或者call 还有jmp
通过修改vmp源码来实现自动识别一键导入
效果如图
可能会有人问了,那call和mov引用的地址呢
如图所示,通过修改vmp识别函数结尾部分的源码,来对指定类型的指令进行截断
也就是说,加密了两千多个函数,实际上只是2000多条指令
为什么会有这个?
众所周知,vmp自带的导入保护本质上就是一堆混淆指令加上一个动态解密IAT地址,强度嘛,懂的都懂
强度怎么样
这里以一个标准易语言OEP作为演示
对比组
可以看到完整的
004DAF0F | FF15 78D24F00 | call dword ptr ds:[<GetVersion>] |
进行第一次加密后...
跟进call看看
经典的虚拟机入口,再往下去就进入虚拟机了
这时候又有聪明的同学要问了,那符号表呢
对比组....
加密之后.......
程序依然可以正常运行
那缺点是啥呢
缺点就是要分开两次进行加密,第一次加密会识别导入表引用,第二次才能算是真正的加密,可以保护你自己想保护的函数,也可以选上外壳选项
贴上程序连接
https://www.123pan.com/s/sBh9Td-Mv7f.html
程序来源于网络,可能会有报毒现象,可以自行去虚拟机内进行测试查看
小菜作品,大佬勿喷~ 修改的源码或成品呢..
页:
[1]