能力值:
( LV7,RANK:100 )
|
-
-
2 楼
传说中的人肉VM~~~
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
这么好的文 没人顶?
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
这个必须得顶~
|
能力值:
( LV9,RANK:290 )
|
-
-
5 楼
分析条件就麻烦一些了,需要找出所有标志操作,尤其是需要检查多个标志的条件,VMP会分成很多步来计算。因为虚拟机中没有比较指令,所有比较都是通过位操作来完成,而位操作最后是用与非和移位,计算过程很长,再加上隐藏常量等,一个条件计算下来可能要几百到上千条指令。我的方法是从最后一个使用的标志向前计算所有常量,如果几个常量合并算一个,再查找这些常量中包含哪些标志来初步确定转移类型。这只能确定条件转移检查什么标志,还不知道是标志为真时转移还是为假时转移,比如JZ、JNZ等,也不知道转移和不转移分别对应哪个分支,要结合其他信息来分析。
----------------------->
X86条件跳转用到的符号位只有6个,2的6次方=64,找计算跳转开始位置,然后虚拟执行这64种组合,一直到vmjmp。取esi。如果出现的esi地址超过2个,那么就结果穷举。通过标志位的组合值和两个esi值,可得出分支地址和跳转类型。
|
能力值:
( LV3,RANK:30 )
|
-
-
6 楼
好不好,测试一下再反馈
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
创意很不错,楼主能否说说具体用法,打开调试窗口都是没有反汇编过的代码,可能不在虚拟机中。换了好几个OD,把插件都清理掉,就用你的插件还是不行。
|
能力值:
( LV8,RANK:130 )
|
-
-
8 楼
现在转移类型和目标是可以计算的,方法是检查所有比较时用到的标志,只有一个问题就是根据程序结构恢复转移类型时有可能把条件取反,因为恢复程序结构只能保证结构逻辑相同,不一定和原来一样。
|
能力值:
( LV8,RANK:130 )
|
-
-
9 楼
要先分析虚拟程序后才能看到反汇编,可以在虚拟程序入口右键菜单里选择分析虚拟程序。
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
顶~测试一下
|
能力值:
( LV8,RANK:130 )
|
-
-
11 楼
看起来不错。。不过这种东西还是自己写比较好。。才有办法对付所有的程序。。否则的话,稍微有点变化的话,没有代码也改不了。。也就用不了。。。
|
能力值:
( LV3,RANK:30 )
|
-
-
12 楼
跑了一下,不知道怎么说好,年度给力插件入围选手 。。。。。期待后续版本
|
能力值:
( LV8,RANK:130 )
|
-
-
13 楼
期待LZ的后续大作。
|
能力值:
( LV3,RANK:30 )
|
-
-
14 楼
别研究VMP了,快把 泡X秘籍 传给我 !
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
这插件让VMP作者内牛满面,赞一个
|
能力值:
( LV4,RANK:50 )
|
-
-
16 楼
第一时间 前来拜膜
|
能力值:
( LV12,RANK:210 )
|
-
-
17 楼
继续关注作者,强力插入
|
能力值:
( LV8,RANK:120 )
|
-
-
18 楼
这样的帖子哪能少了我的份
|
能力值:
( LV2,RANK:10 )
|
-
-
19 楼
膜拜!!
搞 VMP的 都是大牛
|
能力值:
( LV2,RANK:10 )
|
-
-
20 楼
人肉终结者啊。。。强大的无法形容。。看前面的这么大一篇介绍有种享受的感觉。。
|
能力值:
( LV2,RANK:10 )
|
-
-
21 楼
我的od加载不了插件里的 XuniZhiling.vin
|
能力值:
( LV8,RANK:130 )
|
-
-
22 楼
有什么提示信息吗?
|
能力值:
( LV2,RANK:10 )
|
-
-
23 楼
强贴,要过来学习一下,下载试试看~~~~
|
能力值:
( LV13,RANK:283 )
|
-
-
24 楼
好东西,多谢分享
|
能力值:
( LV2,RANK:10 )
|
-
-
25 楼
前排膜拜大牛
|
|
|