首页
社区
课程
招聘
[原创]VMP分析插件v1.4(2013/01/30更新)
发表于: 2012-8-13 12:43 217974

[原创]VMP分析插件v1.4(2013/01/30更新)

2012-8-13 12:43
217974
收藏
免费 11
支持
分享
最新回复 (235)
雪    币: 1270
活跃值: (230)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
26
有什么提示吗?

[QUOTE=yjd;1094462]
这是啥问题?od是pediy版[/QUOTE]

这可能和OD的反汇编格式有关,看看是不是选择 使用RET代替RETN了,可以参照上一版的说明设置一下反汇编格式。
2012-8-13 17:09
0
雪    币: 2882
活跃值: (1272)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
yjd
27
这可能和OD的反汇编格式有关,看看是不是选择 使用RET代替RETN了,可以参照上一版的说明设置一下反汇编格式。

确实这个问题已解决。多谢!
2012-8-13 17:26
0
雪    币: 418
活跃值: (63)
能力值: ( LV12,RANK:260 )
在线值:
发帖
回帖
粉丝
28
@zdhysd 兄:

      请问你这个插件在分析流程是怎么知道vjmp有分支的,比如说:
cmp eax,1
jz @00000001
@00000002
00000001:
……


       插件在分析时,是怎么知道这里是一个jz,而不是jmp, vmp的vjmp不是在运行时才知道下个jmp地址是什么吗??!  你插件的静态分析是怎么做到的? 还是直接默认一个为0,一个为4?
2012-8-13 23:00
0
雪    币: 71
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
29
很好啊

谢谢啦
2012-8-13 23:42
0
雪    币: 125
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
30
收藏,多谢楼主
2012-8-14 00:05
0
雪    币: 73
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
31
天扬,牛逼坏了啊~~顶一个。。。
2012-8-14 00:44
0
雪    币: 1270
活跃值: (230)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
32
我的方法是先直接计算vJmp的转移目标,如果目标是常量说明是JMP,如果目标是vReadMemSs4读取出来的可能是条件转移,向前查找vPushVEsp,这时堆栈里的两个数就是转移目标,如果是vReadMemDs4读取出来的可能是分支表。
2012-8-14 10:01
0
雪    币: 179
活跃值: (575)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
33
非常好用,比1.2更好使用!!
2012-8-14 10:15
0
雪    币: 418
活跃值: (63)
能力值: ( LV12,RANK:260 )
在线值:
发帖
回帖
粉丝
34
原来如此!! 谢谢
2012-8-14 15:35
0
雪    币: 113
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
35
mark一下
2012-8-14 15:43
0
雪    币: 576
活跃值: (1163)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
36
感谢分享。。
弱弱的问下,对于一段本身只有200行汇编代码,最后膨胀成5000条伪指令的话,要怎么办? 难到要一条条去看 :)
2012-8-14 15:46
0
雪    币: 5327
活跃值: (3719)
能力值: ( LV13,RANK:283 )
在线值:
发帖
回帖
粉丝
37
支持大牛分享....
2012-8-14 15:55
0
雪    币: 6
活跃值: (1141)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
38
希望lz把虚拟代码的化简也加进去,非常期待lz大作
2012-8-14 16:39
0
雪    币: 418
活跃值: (63)
能力值: ( LV12,RANK:260 )
在线值:
发帖
回帖
粉丝
39
还是有点不明白,看看下面两个:
这个是JMP的:
00495BFB  |> \12           vPopReg4 vR12
00495BFC  |.  BC 7471B18F  vPushImm4 8FB17174
00495C01  |.  33           vAdd4
00495C02  |.  F1           vPopReg4 vR3
00495C03  |.  B2           vPopReg4 vR9
00495C04  |.  D1           vPopReg4 vR2
00495C05  |.  C1           vPushReg4 vR2
00495C06  |.  A7           vPushVEsp
00495C07  |.  63           vReadMemSs4
00495C08  |.  BB           vNand4
00495C09  |.  D2           vPopReg4 vR10
00495C0A  |.  19 591857E3  vPushImm4 0E3571859
00495C0F  |.  BB           vNand4
00495C10  |.  91           vPopReg4 vR8
00495C11  |.  C1           vPushReg4 vR2
00495C12  |.  19 A6E7A81C  vPushImm4 1CA8E7A6
00495C17  |.  7E           vNand4
00495C18  |.  91           vPopReg4 vR8
00495C19  |.  27           vNand4
00495C1A  |.  11           vPopReg4 vR4
00495C1B  |.  B1           vPopReg4 vR1
00495C1C  |.  52           vPopReg4 vR14
00495C1D  |.  90           vPopReg4 vR0
00495C1E  |.  F2           vPopReg4 vR11
00495C1F  |.  D2           vPopReg4 vR10
00495C20  |.  91           vPopReg4 vR8
00495C21  |.  11           vPopReg4 vR4
00495C22  |.  71           vPopReg4 vR7
00495C23  |.  31           vPopReg4 vR5
00495C24  |.  72           vPopReg4 vR15
00495C25  |.  51           vPopReg4 vR6
00495C26  |.  72           vPopReg4 vR15
00495C27  |.  32           vPopReg4 vR13
00495C28  |.  51           vPopReg4 vR6
00495C29  |.  91           vPopReg4 vR8
00495C2A  |.  F1           vPopReg4 vR3
00495C2B  |.  E1           vPushReg4 vR3
00495C2C  |.  E1           vPushReg4 vR3
00495C2D  |.  27           vNand4
00495C2E  |.  71           vPopReg4 vR7
00495C2F  |.  BC 8204024D  vPushImm4 4D020482
00495C34  |.  BC 91B51EF7  vPushImm4 0F71EB591
00495C39  |.  3B 30742809  vPushImm4 9287430
00495C3E  |.  1E           vPushVEsp
00495C3F  |.  C9           vReadMemSs2
00495C40  |.  1E           vPushVEsp
00495C41  |.  C9           vReadMemSs2
00495C42  |.  71           vPopReg4 vR7
00495C43  |.  33           vAdd4
00495C44  |.  71           vPopReg4 vR7
00495C45  |.  02           vPushReg4 vR12
00495C46  |.  33           vAdd4
00495C47  |.  52           vPopReg4 vR14
00495C48  |.  EB           vReadMemDs4
00495C49  |.  33           vAdd4
00495C4A  |.  71           vPopReg4 vR7
00495C4B  |.  BC 3DAFD5B2  vPushImm4 0B2D5AF3D
00495C50  |.  E0 56BC      vPushImm2 0BC56
00495C53  |.  37 38        vPopReg2 vR14WL
00495C55  |.  33           vAdd4
00495C56  |.  71           vPopReg4 vR7
00495C57  |.  7F           vNand4
00495C58  |.  D2           vPopReg4 vR10
00495C59  |.  F7           vPopfd
00495C5A  |.  19 CCF655D9  vPushImm4 0D955F6CC
00495C5F  |.  19 494B8F60  vPushImm4 608F4B49
00495C64  |.  BC A35800B3  vPushImm4 0B30058A3
00495C69  |.  19 5CCB58A5  vPushImm4 0A558CB5C
00495C6E  |.  A7           vPushVEsp
00495C6F  |.  15           vReadMemSs1
00495C70  |.  BC 692CBD9F  vPushImm4 9FBD2C69
00495C75  |.  D4 0E        vPushImmSx1 0E
00495C77  |.  1E           vPushVEsp
00495C78  |.  33           vAdd4
00495C79  |.  90           vPopReg4 vR0
00495C7A  |.  10           vWriteMemSs4
00495C7B  |.  1D           vShl2
00495C7C  |.  D2           vPopReg4 vR10
00495C7D  |.  B9           vNand1
00495C7E  |.  71           vPopReg4 vR7
00495C7F  |.  37 28        vPopReg2 vR10WL
00495C81  |.  6E           vAdd4
00495C82  |.  71           vPopReg4 vR7
00495C83  |.  02           vPushReg4 vR12
00495C84  |.  33           vAdd4
00495C85  |.  71           vPopReg4 vR7
00495C86  |.  A0           vReadMemDs4
00495C87  |.  6E           vAdd4
00495C88  |.  71           vPopReg4 vR7
00495C89  |.  19 75F72EED  vPushImm4 0ED2EF775
00495C8E  |.  E0 5868      vPushImm2 6858
00495C91  |.  1E           vPushVEsp
00495C92  |.  00           vReadMemSs1
00495C93  |.  BC 38148880  vPushImm4 80881438
00495C98  |.  A7           vPushVEsp
00495C99  |.  0E 08        vPushImmSx1 8
00495C9B  |.  4C           vAdd4
00495C9C  |.  90           vPopReg4 vR0
00495C9D  |.  10           vWriteMemSs4
00495C9E  |.  CD           vPushVEsp
00495C9F  |.  16           vReadMemSs4
00495CA0  |.  71           vPopReg4 vR7
00495CA1  |.  52           vPopReg4 vR14
00495CA2  |.  7E           vNand4
00495CA3  |.  52           vPopReg4 vR14
00495CA4  |.  1E           vPushVEsp
00495CA5  |.  17           vReadMemSs4
00495CA6  |.  90           vPopReg4 vR0
00495CA7  |.  CD           vPushVEsp
00495CA8  |.  16           vReadMemSs4
00495CA9  |.  27           vNand4
00495CAA  |.  D2           vPopReg4 vR10
00495CAB  |.  BC F509F389  vPushImm4 89F309F5
00495CB0  |.  27           vNand4
00495CB1  |.  D2           vPopReg4 vR10
00495CB2  |.  80           vPushReg4 vR0
00495CB3  |.  19 0AF60C76  vPushImm4 760CF60A
00495CB8  |.  27           vNand4
00495CB9  |.  52           vPopReg4 vR14
00495CBA  |.  7E           vNand4
00495CBB  |.  D2           vPopReg4 vR10
00495CBC  |.  52           vPopReg4 vR14
00495CBD  |.  E1           vPushReg4 vR3
00495CBE  |.  81           vPushReg4 vR8
00495CBF  |.  62           vPushReg4 vR15
00495CC0  |.  22           vPushReg4 vR13
00495CC1  |.  E2           vPushReg4 vR11
00495CC2  |.  01           vPushReg4 vR4
00495CC3  |.  41           vPushReg4 vR6
00495CC4  |.  21           vPushReg4 vR5
00495CC5  |.  E2           vPushReg4 vR11
00495CC6  |.  81           vPushReg4 vR8
00495CC7  |.  E1           vPushReg4 vR3
00495CC8  |.  A2           vPushReg4 vR9
00495CC9  |.  BC 8C8E4E70  vPushImm4 704E8E8C
00495CCE  |.  6E           vAdd4
00495CCF  |.  D1           vPopReg4 vR2
00495CD0  |.  02           vPushReg4 vR12
00495CD1  |.  42           vPushReg4 vR14
00495CD2  |.  6D           vJmp_0044D090        ; JMP 209_CREC.004B3FCD
004B3FCD  |>  91           vPopReg4 vR8


这个是JNZ的:

004B3FCD  |> \91           vPopReg4 vR8
004B3FCE  |.  19 7471B18F  vPushImm4 8FB17174
004B3FD3  |.  4C           vAdd4
004B3FD4  |.  90           vPopReg4 vR0
004B3FD5  |.  72           vPopReg4 vR15
004B3FD6  |.  52           vPopReg4 vR14
004B3FD7  |.  D2           vPopReg4 vR10
004B3FD8  |.  90           vPopReg4 vR0
004B3FD9  |.  51           vPopReg4 vR6
004B3FDA  |.  F1           vPopReg4 vR3
004B3FDB  |.  B2           vPopReg4 vR9
004B3FDC  |.  1E           vPushVEsp
004B3FDD  |.  17           vReadMemSs4
004B3FDE  |.  11           vPopReg4 vR4
004B3FDF  |.  A7           vPushVEsp
004B3FE0  |.  17           vReadMemSs4
004B3FE1  |.  27           vNand4
004B3FE2  |.  12           vPopReg4 vR12
004B3FE3  |.  19 F509F389  vPushImm4 89F309F5
004B3FE8  |.  7F           vNand4
004B3FE9  |.  31           vPopReg4 vR5
004B3FEA  |.  01           vPushReg4 vR4
004B3FEB  |.  19 0AF60C76  vPushImm4 760CF60A
004B3FF0  |.  84           vNand4
004B3FF1  |.  F2           vPopReg4 vR11
004B3FF2  |.  BB           vNand4
004B3FF3  |.  B1           vPopReg4 vR1
004B3FF4  |.  32           vPopReg4 vR13
004B3FF5  |.  B1           vPopReg4 vR1
004B3FF6  |.  71           vPopReg4 vR7
004B3FF7  |.  F2           vPopReg4 vR11
004B3FF8  |.  31           vPopReg4 vR5
004B3FF9  |.  19 F5F3D174  vPushImm4 74D1F3F5
004B3FFE  |.  3B 014FBF6C  vPushImm4 6CBF4F01
004B4003  |.  BC 61CE8E93  vPushImm4 938ECE61
004B4008  |.  B5 36        vPushImm1 36
004B400A  |.  37 30        vPopReg2 vR12WL
004B400C  |.  33           vAdd4
004B400D  |.  D1           vPopReg4 vR2
004B400E  |.  81           vPushReg4 vR8
004B400F  |.  33           vAdd4
004B4010  |.  F2           vPopReg4 vR11
004B4011  |.  EB           vReadMemDs4
004B4012  |.  33           vAdd4
004B4013  |.  A7           vPushVEsp
004B4014  |.  17           vReadMemSs4
004B4015  |.  31           vPopReg4 vR5
004B4016  |.  B5 3C        vPushImm1 3C
004B4018  |.  3B 380A4000  vPushImm4 400A38
004B401D  |.  0E 0A        vPushImmSx1 0A
004B401F  |.  1E           vPushVEsp
004B4020  |.  33           vAdd4
004B4021  |.  12           vPopReg4 vR12
004B4022  |.  ED           vWriteMemSs4
004B4023  |.  37 30        vPopReg2 vR12WL
004B4025  |.  7E           vNand4
004B4026  |.  D1           vPopReg4 vR2
004B4027  |.  19 A5ED772E  vPushImm4 2E77EDA5
004B402C  |.  3B 0FAFBCFF  vPushImm4 0FFBCAF0F
004B4031  |.  19 D72D23B2  vPushImm4 0B2232DD7
004B4036  |.  1E           vPushVEsp
004B4037  |.  15           vReadMemSs1
004B4038  |.  CD           vPushVEsp
004B4039  |.  C9           vReadMemSs2
004B403A  |.  7B           vShl2
004B403B  |.  D1           vPopReg4 vR2
004B403C  |.  BC 058B3486  vPushImm4 86348B05
004B4041  |.  CD           vPushVEsp
004B4042  |.  0E 06        vPushImmSx1 6
004B4044  |.  4C           vAdd4
004B4045  |.  D1           vPopReg4 vR2
004B4046  |.  10           vWriteMemSs4
004B4047  |.  37 30        vPopReg2 vR12WL
004B4049  |.  7E           vNand4
004B404A  |.  12           vPopReg4 vR12
004B404B  |.  81           vPushReg4 vR8
004B404C  |.  33           vAdd4
004B404D  |.  12           vPopReg4 vR12
004B404E  |.  A0           vReadMemDs4
004B404F  |.  4C           vAdd4
004B4050  |.  31           vPopReg4 vR5
004B4051  |.  BC C8A3E86C  vPushImm4 6CE8A3C8
004B4056  |.  33           vAdd4
004B4057  |.  12           vPopReg4 vR12
004B4058  |.  A7           vPushVEsp            ; 解密前的转移目标
004B4059  |.  E0 B331      vPushImm2 31B3
004B405C  |.  19 7E49B8FF  vPushImm4 0FFB8497E
004B4061  |.  E2           vPushReg4 vR11
004B4062  |.  BC 9C6B54E6  vPushImm4 0E6546B9C
004B4067  |.  1E           vPushVEsp
004B4068  |.  C9           vReadMemSs2
004B4069  |.  1E           vPushVEsp
004B406A  |.  17           vReadMemSs4
004B406B  |.  0E 06        vPushImmSx1 6
004B406D  |.  A7           vPushVEsp
004B406E  |.  6E           vAdd4
004B406F  |.  F2           vPopReg4 vR11
004B4070  |.  C9           vReadMemSs2
004B4071  |.  19 0009801C  vPushImm4 1C800900
004B4076  |.  1E           vPushVEsp
004B4077  |.  F8 10        vPushImmSx1 10
004B4079  |.  33           vAdd4
004B407A  |.  F2           vPopReg4 vR11
004B407B  |.  10           vWriteMemSs4
004B407C  |.  F2           vPopReg4 vR11
004B407D  |.  37 2C        vPopReg2 vR11WL
004B407F  |.  37 14        vPopReg2 vR5WL
004B4081  |.  31           vPopReg4 vR5
004B4082  |.  27           vNand4
004B4083  |.  12           vPopReg4 vR12
004B4084  |.  81           vPushReg4 vR8
004B4085  |.  4C           vAdd4
004B4086  |.  31           vPopReg4 vR5
004B4087  |.  55           vReadMemDs2
004B4088  |.  20           vAdd2
004B4089  |.  F2           vPopReg4 vR11
004B408A  |.  E0 B5AC      vPushImm2 0ACB5
004B408D  |.  A7           vPushVEsp
004B408E  |.  C9           vReadMemSs2
004B408F  |.  E0 C052      vPushImm2 52C0
004B4092  |.  0E 08        vPushImmSx1 8
004B4094  |.  1E           vPushVEsp
004B4095  |.  33           vAdd4
004B4096  |.  19 3C14A940  vPushImm4 40A9143C
004B409B  |.  3B 8B51B11D  vPushImm4 1DB1518B
004B40A0  |.  21           vPushReg4 vR5
004B40A1  |.  CD           vPushVEsp
004B40A2  |.  63           vReadMemSs4
004B40A3  |.  19 A3331A4C  vPushImm4 4C1A33A3
004B40A8  |.  BC 4907988D  vPushImm4 8D980749
004B40AD  |.  19 55D849DE  vPushImm4 0DE49D855
004B40B2  |.  61           vPushReg4 vR7
004B40B3  |.  2E 2C        vPushReg2 vR11WL
004B40B5  |.  09           vNand2
004B40B6  |.  12           vPopReg4 vR12
004B40B7  |.  19 9C61B172  vPushImm4 72B1619C
004B40BC  |.  1E           vPushVEsp
004B40BD  |.  D4 08        vPushImmSx1 8
004B40BF  |.  6E           vAdd4
004B40C0  |.  12           vPopReg4 vR12
004B40C1  |.  10           vWriteMemSs4
004B40C2  |.  A7           vPushVEsp
004B40C3  |.  17           vReadMemSs4
004B40C4  |.  1E           vPushVEsp
004B40C5  |.  D4 03        vPushImmSx1 3
004B40C7  |.  33           vAdd4
004B40C8  |.  12           vPopReg4 vR12
004B40C9  |.  63           vReadMemSs4
004B40CA  |.  37 2C        vPopReg2 vR11WL
004B40CC  |.  F2           vPopReg4 vR11
004B40CD  |.  31           vPopReg4 vR5
004B40CE  |.  37 2C        vPopReg2 vR11WL
004B40D0  |.  33           vAdd4
004B40D1  |.  12           vPopReg4 vR12
004B40D2  |.  81           vPushReg4 vR8
004B40D3  |.  4C           vAdd4
004B40D4  |.  31           vPopReg4 vR5
004B40D5  |.  85           vReadMemDs4
004B40D6  |.  4C           vAdd4
004B40D7  |.  31           vPopReg4 vR5
004B40D8  |.  41           vPushReg4 vR6
004B40D9  |.  4C           vAdd4
004B40DA  |.  31           vPopReg4 vR5
004B40DB  |.  63           vReadMemSs4
004B40DC  |.  12           vPopReg4 vR12
004B40DD  |.  19 72C897E2  vPushImm4 0E297C872
004B40E2  |.  D4 0C        vPushImmSx1 0C
004B40E4  |.  A7           vPushVEsp
004B40E5  |.  33           vAdd4
004B40E6  |.  31           vPopReg4 vR5
004B40E7  |.  ED           vWriteMemSs4
004B40E8  |.  31           vPopReg4 vR5
004B40E9  |.  33           vAdd4
004B40EA  |.  F1           vPopReg4 vR3
004B40EB  |.  81           vPushReg4 vR8
004B40EC  |.  33           vAdd4
004B40ED  |.  F1           vPopReg4 vR3
004B40EE  |.  85           vReadMemDs4
004B40EF  |.  4C           vAdd4
004B40F0  |.  F1           vPopReg4 vR3
004B40F1  |.  3B C67AF726  vPushImm4 26F77AC6
004B40F6  |.  4C           vAdd4
004B40F7  |.  D1           vPopReg4 vR2
004B40F8  |.  19 F5224C0E  vPushImm4 0E4C22F5
004B40FD  |.  19 54F6D567  vPushImm4 67D5F654
004B4102  |.  22           vPushReg4 vR13
004B4103  |.  A7           vPushVEsp
004B4104  |.  15           vReadMemSs1
004B4105  |.  BC 4C667398  vPushImm4 9873664C
004B410A  |.  CD           vPushVEsp
004B410B  |.  0E 06        vPushImmSx1 6
004B410D  |.  33           vAdd4
004B410E  |.  F2           vPopReg4 vR11
004B410F  |.  10           vWriteMemSs4
004B4110  |.  CA A6BB      vPushImm2 0BBA6
004B4113  |.  E0 522B      vPushImm2 2B52
004B4116  |.  47 08        vPopReg1 vR2BL
004B4118  |.  F1           vPopReg4 vR3
004B4119  |.  33           vAdd4
004B411A  |.  F1           vPopReg4 vR3
004B411B  |.  81           vPushReg4 vR8
004B411C  |.  6E           vAdd4
004B411D  |.  D1           vPopReg4 vR2
004B411E  |.  85           vReadMemDs4
004B411F  |.  33           vAdd4
004B4120  |.  D1           vPopReg4 vR2
004B4121  |.  02           vPushReg4 vR12
004B4122  |.  33           vAdd4
004B4123  |.  31           vPopReg4 vR5
004B4124  |.  A0           vReadMemDs4
004B4125  |.  CD           vPushVEsp
004B4126  |.  16           vReadMemSs4
004B4127  |.  7E           vNand4
004B4128  |.  F1           vPopReg4 vR3
004B4129  |.  33           vAdd4
004B412A  |.  F2           vPopReg4 vR11
004B412B  |.  A7           vPushVEsp
004B412C  |.  77           vReadMemSs4
004B412D  |.  BB           vNand4
004B412E  |.  D1           vPopReg4 vR2
004B412F  |.  31           vPopReg4 vR5
004B4130  |.  E2           vPushReg4 vR11
004B4131  |.  1E           vPushVEsp
004B4132  |.  77           vReadMemSs4
004B4133  |.  27           vNand4
004B4134  |.  F1           vPopReg4 vR3
004B4135  |.  BC 756F5C9A  vPushImm4 9A5C6F75
004B413A  |.  BC 98314551  vPushImm4 51453198
004B413F  |.  BC 2F22FEAE  vPushImm4 0AEFE222F
004B4144  |.  4C           vAdd4
004B4145  |.  F1           vPopReg4 vR3
004B4146  |.  81           vPushReg4 vR8
004B4147  |.  33           vAdd4
004B4148  |.  F1           vPopReg4 vR3
004B4149  |.  A0           vReadMemDs4
004B414A  |.  33           vAdd4
004B414B  |.  52           vPopReg4 vR14
004B414C  |.  19 F6148216  vPushImm4 168214F6
004B4151  |.  33           vAdd4
004B4152  |.  31           vPopReg4 vR5
004B4153  |.  7E           vNand4
004B4154  |.  32           vPopReg4 vR13
004B4155  |.  C1           vPushReg4 vR2
004B4156  |.  C1           vPushReg4 vR2
004B4157  |.  7E           vNand4
004B4158  |.  52           vPopReg4 vR14
004B4159  |.  19 41346B8E  vPushImm4 8E6B3441
004B415E  |.  19 E06C6259  vPushImm4 59626CE0
004B4163  |.  3B 07B42EE8  vPushImm4 0E82EB407
004B4168  |.  2E 10        vPushReg2 vR4WL
004B416A  |.  19 D40AECA6  vPushImm4 0A6EC0AD4
004B416F  |.  D4 0A        vPushImmSx1 0A
004B4171  |.  1E           vPushVEsp
004B4172  |.  33           vAdd4
004B4173  |.  F1           vPopReg4 vR3
004B4174  |.  10           vWriteMemSs4
004B4175  |.  37 14        vPopReg2 vR5WL
004B4177  |.  33           vAdd4
004B4178  |.  31           vPopReg4 vR5
004B4179  |.  81           vPushReg4 vR8
004B417A  |.  4C           vAdd4
004B417B  |.  F1           vPopReg4 vR3
004B417C  |.  A0           vReadMemDs4
004B417D  |.  6E           vAdd4
004B417E  |.  52           vPopReg4 vR14
004B417F  |.  BC A7697D98  vPushImm4 987D69A7
004B4184  |.  A7           vPushVEsp
004B4185  |.  16           vReadMemSs4
004B4186  |.  F1           vPopReg4 vR3
004B4187  |.  33           vAdd4
004B4188  |.  31           vPopReg4 vR5
004B4189  |.  27           vNand4
004B418A  |.  31           vPopReg4 vR5
004B418B  |.  6E           vAdd4
004B418C  |.  F1           vPopReg4 vR3
004B418D  |.  32           vPopReg4 vR13
004B418E  |.  31           vPopReg4 vR5
004B418F  |.  87           vWriteMemSs2
004B4190  |.  37 14        vPopReg2 vR5WL
004B4192  |.  FF           vNand2
004B4193  |.  F2           vPopReg4 vR11
004B4194  |.  22           vPushReg4 vR13
004B4195  |.  22           vPushReg4 vR13
004B4196  |.  27           vNand4
004B4197  |.  31           vPopReg4 vR5
004B4198  |.  BC 3694B58F  vPushImm4 8FB59436
004B419D  |.  BC 90C3B6FF  vPushImm4 0FFB6C390
004B41A2  |.  3B 0003007C  vPushImm4 7C000300
004B41A7  |.  27           vNand4
004B41A8  |.  F2           vPopReg4 vR11
004B41A9  |.  81           vPushReg4 vR8
004B41AA  |.  33           vAdd4
004B41AB  |.  31           vPopReg4 vR5
004B41AC  |.  85           vReadMemDs4
004B41AD  |.  33           vAdd4
004B41AE  |.  52           vPopReg4 vR14
004B41AF  |.  19 7D5ACB43  vPushImm4 43CB5A7D
004B41B4  |.  A7           vPushVEsp
004B41B5  |.  00           vReadMemSs1
004B41B6  |.  B6 2C        vPopReg1 vR11BL
004B41B8  |.  4C           vAdd4
004B41B9  |.  52           vPopReg4 vR14
004B41BA  |.  FE           vNand4
004B41BB  |.  52           vPopReg4 vR14
004B41BC  |.  26           vShr4
004B41BD  |.  52           vPopReg4 vR14
004B41BE  |.  33           vAdd4
004B41BF  |.  31           vPopReg4 vR5
004B41C0  |.  16           vReadMemSs4
004B41C1  |.  31           vPopReg4 vR5
004B41C2  |.  F1           vPopReg4 vR3
004B41C3  |.  F1           vPopReg4 vR3
004B41C4  |.  21           vPushReg4 vR5
004B41C5  |.  A7           vPushVEsp
004B41C6  |.  16           vReadMemSs4
004B41C7  |.  F2           vPopReg4 vR11
004B41C8  |.  E2           vPushReg4 vR11
004B41C9  |.  84           vNand4
004B41CA  |.  52           vPopReg4 vR14
004B41CB  |.  3B 8F0C1080  vPushImm4 80100C8F
004B41D0  |.  27           vNand4
004B41D1  |.  31           vPopReg4 vR5
004B41D2  |.  BC 70F3EF7F  vPushImm4 7FEFF370
004B41D7  |.  E2           vPushReg4 vR11
004B41D8  |.  BB           vNand4
004B41D9  |.  52           vPopReg4 vR14
004B41DA  |.  7E           vNand4
004B41DB  |.  F1           vPopReg4 vR3
004B41DC  |.  52           vPopReg4 vR14
004B41DD  |.  01           vPushReg4 vR4
004B41DE  |.  22           vPushReg4 vR13
004B41DF  |.  41           vPushReg4 vR6
004B41E0  |.  A1           vPushReg4 vR1
004B41E1  |.  80           vPushReg4 vR0
004B41E2  |.  22           vPushReg4 vR13
004B41E3  |.  61           vPushReg4 vR7
004B41E4  |.  A2           vPushReg4 vR9
004B41E5  |.  02           vPushReg4 vR12
004B41E6  |.  C2           vPushReg4 vR10
004B41E7  |.  A1           vPushReg4 vR1
004B41E8  |.  62           vPushReg4 vR15
004B41E9  |.  BC 8C8E4E70  vPushImm4 704E8E8C
004B41EE  |.  33           vAdd4
004B41EF  |.  F1           vPopReg4 vR3
004B41F0  |.  81           vPushReg4 vR8
004B41F1  |.  42           vPushReg4 vR14
004B41F2  |.  F6           vJmp_0044D090        ; JNZ 209_CREC.004A3AD0
004D12B7  |.  11           vPopReg4 vR4


JMP 和 JNZ  之前都是有vReadMemSs4 和 vPushVEsp,要如何区别呢?
2012-8-14 17:19
0
雪    币: 1270
活跃值: (230)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
40
如果是关键代码的话一般只能都看了,动态调试会方便点,可以先大概跟踪一下,在运行时的信息比如寄存器和堆栈中可能找到一些重要内容。现在的数据分析也可以去掉一部分指令,保护越大化简率越高,基本可以化简到最小保护或更低。



指令信息中添加的操作表达式就是为算法分析做准备,现在只用作数据分析,下一版如果做的顺利的话可能会加入一些算法分析,不顺利就不一定了。



我说的向前是数据流的前面,你用菜单 图表-数据流图 画个图看看就明白了。给你个普通保护的例子看看,指令少一点。

JNZ
0040DE5B  |.  88 D02BEEB1  vPushImm4 0B1EE2BD0
0040DE56  |.  88 9F09EEB1  vPushImm4 0B1EE099F
0040DE51  |.  21           vPushVEsp            ; 这里栈顶的两个数是解密前的转移目标
0040DE50  |.  10 04        vPushImm1 4
0040DE4E  |.  C0           vPushReg4 vR10
0040DE4D  |.  C0           vPushReg4 vR10
0040DE4C  |.  7B           vNand4
0040DE4B  |.  76           vPopReg4 vR4
0040DE4A  |.  A4 BF        vPushImmSx1 0BF
0040DE48  |.  69           vNand4
0040DE47  |.  31           vPopReg4 vR9
0040DE46  |.  17           vShr4
0040DE45  |.  76           vPopReg4 vR4
0040DE44  |.  04           vAdd4                ; 加0或4,取一个目标
0040DE43  |.  70           vPopReg4 vR12
0040DE42  |.  8E           vReadMemSs4          ; 读取堆栈中的目标地址
0040DE41  |.  F6           vPopReg4 vR2         ; 下面开始解密
0040DE40  |.  70           vPopReg4 vR12
0040DE3F  |.  31           vPopReg4 vR9
0040DE3E  |.  C6           vPushReg4 vR2
0040DE3D  |.  05           vPushVEsp
0040DE3C  |.  2F           vReadMemSs4
0040DE3B  |.  30           vPopReg4 vR13
0040DE3A  |.  00           vPushReg4 vR13
0040DE39  |.  42           vNand4
0040DE38  |.  F6           vPopReg4 vR2
0040DE37  |.  C4 2A02514E  vPushImm4 4E51022A
0040DE32  |.  42           vNand4
0040DE31  |.  76           vPopReg4 vR4
0040DE30  |.  00           vPushReg4 vR13
0040DE2F  |.  18 D5FDAEB1  vPushImm4 0B1AEFDD5
0040DE2A  |.  42           vNand4
0040DE29  |.  F6           vPopReg4 vR2
0040DE28  |.  7B           vNand4
0040DE27  |.  70           vPopReg4 vR12
0040DE26  |.  F6           vPopReg4 vR2         ; 解密后的目标地址
0040DE25  |.  06           vPushReg4 vR5
0040DE24  |.  46           vPushReg4 vR4
0040DE23  |.  81           vPushReg4 vR7
0040DE22  |.  C0           vPushReg4 vR10
0040DE21  |.  C3           vPushReg4 vR14
0040DE20  |.  83           vPushReg4 vR15
0040DE1F  |.  80           vPushReg4 vR11
0040DE1E  |.  40           vPushReg4 vR12
0040DE1D  |.  C1           vPushReg4 vR6
0040DE1C  |.  41           vPushReg4 vR8
0040DE1B  |.  47           vPushReg4 vR0
0040DE1A  |.  18 C0AD337F  vPushImm4 7F33ADC0
0040DE15  |.  06           vPushReg4 vR5
0040DE14  |.  9D           vAdd4
0040DE13  |.  70           vPopReg4 vR12
0040DE12  |.  86           vPushReg4 vR3
0040DE11  |.  C6           vPushReg4 vR2
0040DE10  |.  55           vJmp_0040C41A        ; JNZ vmp2_03p.0040F44A


JMP
0040D5D9  |.  18 0341E6B9  vPushImm4 0B9E64103
0040D5D4  |.  B6           vPopReg4 vR3         ; 栈顶的数是解密前的转移目标,只有一个
0040D5D3  |.  86           vPushReg4 vR3        ; 下面开始解密
0040D5D2  |.  A4 01        vPushImmSx1 1
0040D5D0  |.  71           vPopReg4 vR8
0040D5CF  |.  86           vPushReg4 vR3
0040D5CE  |.  7B           vNand4
0040D5CD  |.  F6           vPopReg4 vR2
0040D5CC  |.  18 1C4A5946  vPushImm4 46594A1C
0040D5C7  |.  69           vNand4
0040D5C6  |.  F6           vPopReg4 vR2
0040D5C5  |.  DD E3B5A6B9  vPushImm4 0B9A6B5E3
0040D5C0  |.  86           vPushReg4 vR3
0040D5BF  |.  42           vNand4
0040D5BE  |.  B3           vPopReg4 vR15
0040D5BD  |.  42           vNand4
0040D5BC  |.  B3           vPopReg4 vR15
0040D5BB  |.  F6           vPopReg4 vR2         ; 解密后的目标地址
0040D5BA  |.  47           vPushReg4 vR0
0040D5B9  |.  C0           vPushReg4 vR10
0040D5B8  |.  C1           vPushReg4 vR6
0040D5B7  |.  40           vPushReg4 vR12
0040D5B6  |.  06           vPushReg4 vR5
0040D5B5  |.  C6           vPushReg4 vR2
0040D5B4  |.  81           vPushReg4 vR7
0040D5B3  |.  00           vPushReg4 vR13
0040D5B2  |.  46           vPushReg4 vR4
0040D5B1  |.  41           vPushReg4 vR8
0040D5B0  |.  01           vPushReg4 vR9
0040D5AF  |.  18 C0AD337F  vPushImm4 7F33ADC0
0040D5AA  |.  C0           vPushReg4 vR10
0040D5A9  |.  9D           vAdd4
0040D5A8  |.  B3           vPopReg4 vR15
0040D5A7  |.  80           vPushReg4 vR11
0040D5A6  |.  C6           vPushReg4 vR2
0040D5A5  |.  55           vJmp_0040C41A        ; JMP vmp2_03p.0040F4E0
2012-8-14 20:08
0
雪    币: 149
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
41
膜拜强人
2012-8-14 20:56
0
雪    币: 1149
活跃值: (888)
能力值: ( LV13,RANK:260 )
在线值:
发帖
回帖
粉丝
42
膜拜  ,啥都不会的小白 来顶贴.....
2012-8-14 23:36
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
43
牛逼插件 果断收藏
2012-8-14 23:39
0
雪    币: 576
活跃值: (1163)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
44
建议楼主将力气发在以下几个方面:  

1. 基本伪指令的化简,比如
push r1
push dword ptr [esp]

可以直接化简成
push r1
push r1

还有类似
push esp
push 4
add dword
pop r1

化简成
push esp+4   ;EFL = r1

2. 隐藏常量的还原。。这招很恶心,去掉的话,可以干掉很多伪指令

3. nand到逻辑指令和减法指令的还原

4.大绝招: 干掉VMP的Ultra模式。。 其实就是伪指令缩减后得到的指令进行变形的处理

这里的变形处理相对于真实x86变形处理的来的容易。。因为基本上就是类似下面的模版

mov r1, r2 ==> 这条可以清除
mov r1, dword ptr [0040100]

2012-8-15 10:16
0
雪    币: 1270
活跃值: (230)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
45
这个在数据分析后是可以知道结果是esp+4的,下面如果有指令引用这个结果,在引用数据中就可以看到。



现在可以还原隐藏常量,数据分析后计算常量的指令显示灰色,其他指令使用这个常量时在引用数据中可以看到。



下一步算法分析就是干这个的



我觉得这个模式就是先在汇编变形然后虚拟,基本是加垃圾指令。加了Ultra模式后通常可以化简掉90%左右的指令,垃圾指令和计算常量的指令分析后都会显示灰色,可以不用管他。现在只是变形出来的转移和转移相关指令无法去掉,其他的垃圾大部分可以识别。

刚才发现清除垃圾指令时合并结束数据的有效性有一点问题,结果不总是正确,下一版修正一下。
2012-8-15 10:56
0
雪    币: 76
活跃值: (55)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
46
膜拜。。。。。
2012-8-15 12:16
0
雪    币: 564
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
47
力顶、
2012-8-15 13:15
0
雪    币: 227
活跃值: (120)
能力值: ( LV10,RANK:160 )
在线值:
发帖
回帖
粉丝
48
v587    .
2012-8-15 13:18
0
雪    币: 40
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
49
牛人+神器~!感谢分享!
2012-8-18 18:25
0
雪    币: 146
活跃值: (18)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
50
来晚了,膜拜牛人
2012-8-19 16:09
0
游客
登录 | 注册 方可回帖
返回
//