|
最近在研究vmp, 花了2天时间写了个vmp3.x Jcc爆破插件
源程序代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
| 004010A9 /. 55 push ebp
004010AA |. 8BEC mov ebp,esp
004010AC |. 81EC 08000000 sub esp,0x8
004010B2 |. 6A FF push -0x1
004010B4 |. 6A 08 push 0x8
004010B6 |. 68 06000116 push 0x16010006
004010BB |. 68 01000152 push 0x52010001
004010C0 |. E8 CF000000 call 无壳.00401194
004010C5 |. 83C4 10 add esp,0x10
004010C8 |. 8945 FC mov [local.1],eax ; kernel32.BaseThreadInitThunk
004010CB |. 68 FC084800 push 无壳.004808FC ; ASCII "123"
004010D0 |. FF75 FC push [local.1]
004010D3 |. E8 2CFFFFFF call 无壳.00401004
004010D8 |. 83C4 08 add esp,0x8
004010DB |. 83F8 00 cmp eax,0x0
004010DE |. B8 00000000 mov eax,0x0
004010E3 |. 0f94c0 sete al
004010E6 |. 8945 F8 mov [local.2],eax ; kernel32.BaseThreadInitThunk
004010E9 |. 8B5D FC mov ebx,[local.1]
004010EC |. 85DB test ebx,ebx
004010EE |. 74 09 je short 无壳.004010F9
004010F0 |. 53 push ebx
004010F1 |. E8 98000000 call 无壳.0040118E
004010F6 |. 83C4 04 add esp,0x4
004010F9 |> 837D F8 00 cmp [local.2],0x0
004010FD |. 0F84 34000000 je 无壳.00401137
00401103 |. BB 06000000 mov ebx,0x6
00401108 |. E8 94FFFFFF call 无壳.004010A1
0040110D |. 68 01030080 push 0x80000301
00401112 |. 6A 00 push 0x0
00401114 |. 68 00000000 push 0x0
00401119 |. 68 04000080 push 0x80000004
0040111E |. 6A 00 push 0x0
00401120 |. 68 FC084800 push 无壳.004808FC ; ASCII "123"
00401125 |. 68 04000000 push 0x4
0040112A |. BB 60124000 mov ebx,无壳.00401260
0040112F |. E8 54000000 call 无壳.00401188
00401134 |. 83C4 34 add esp,0x34
00401137 |> 8BE5 mov esp,ebp
00401139 |. 5D pop ebp ; kernel32.776F347D
0040113A \. C3 retn
|
加了vmp
1
2
3
4
5
6
| 004010A9 55 push ebp
004010AA 8BEC mov ebp,esp
004010AC 81EC 08000000 sub esp,0x8
004010B2 - E9 5A3D2900 jmp vmp3_5加.00694E11
; 无效代码省略
00401139 C3 retn
|
下面简单演示一下怎么用的
首先到vm入口停下来
然后单步一下,改变一下eip
就可以右键分析了
这个时候有一个jcc,先记录下来
出现了一个错误,这个可以不用管它,直接到OD把异常点运行过去
接下就是记录Jcc,直到走出vm代码
这是我记录的jcc
现在就可以粗略的判断
最后一个可以直接排除,这个涉及到vmp的原理,这里不多讲,看第一个操作数为40的jcc就行了
现在倒着找Jcc
将eax改成0 (是0改成1,是1改成0)
运行,发现没反应,这时候去找倒数第二个
在堆栈发现了一些奇怪的字符串
还是先爆破,将edx改成1
发现还是没反应
继续找倒数第三个00764DC3
运行,发现弹窗了,这个就是爆破成功了
结尾
插件使用了udis86+unicorn来跑的代码,
可能会有一些bug,可以回帖来反馈一下
打算后面写vmp2.x 等虚拟化代码爆破
FuckJcc.rar
(1.57 MB, 下载次数: 198)
|
评分
-
参与人数 37 | HB +36 |
THX +14 |
收起
理由
|
猫妖的故事
| |
+ 1 |
|
花盗睡鼠
| + 2 |
+ 1 |
[吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守! |
消逝的过去
| |
+ 1 |
|
一路走来不容易
| + 1 |
|
|
DDK4282
| + 1 |
+ 1 |
[吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意! |
冷月孤心
| + 1 |
|
|
sjtkxy
| + 1 |
+ 1 |
|
老李嗷嗷嗷
| + 1 |
|
|
459121520
| |
+ 1 |
|
爱汇编爱汇编
| + 1 |
|
[吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少! |
冷亦飞
| + 1 |
|
|
车太震
| + 1 |
|
[吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意! |
kkk1l
| + 1 |
|
|
hbyaojing
| + 1 |
|
[吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩! |
zyyujq
| + 1 |
|
|
liugu0hai
| + 1 |
+ 1 |
[吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意! |
玖霊後
| |
+ 1 |
|
4957465
| + 1 |
|
|
我是好人
| + 1 |
|
[吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守! |
weiran324
| |
+ 1 |
[吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩! |
成丰羽
| + 1 |
|
[吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意! |
欧阳天天
| + 2 |
|
|
szukodf
| |
+ 1 |
[吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意! |
bnjzzheng
| + 1 |
|
[吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少! |
饭饭烦
| + 1 |
+ 1 |
|
xmwd123
| + 1 |
|
[吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守! |
272089993
| + 1 |
|
|
longge188
| + 1 |
|
[吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意! |
playboy
| + 2 |
|
|
kll545012
| + 1 |
|
[吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少! |
洛雪
| + 1 |
|
[吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意! |
temp
| + 1 |
+ 1 |
|
ldljlzw
| + 1 |
|
|
河图
| + 1 |
|
[吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守! |
6378895
| + 2 |
+ 1 |
|
zwj00544
| + 1 |
+ 1 |
|
zxjzzh
| + 2 |
|
[吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守! |
查看全部评分
|