LoongKing 发表于 2013-9-20 12:47

菜鸟的第一次,简单分析一个被VM的CM,

本帖最后由 E_eYYF 于 2013-9-20 13:18 编辑

原帖:http://www.52pojie.cn/thread-214365-2-1.html
载入OD跑起来,
ctrl+G来到万能的00401000
查找二进制字符串FF 25
来到
00403D6F   /FF25 C07A4700   jmp dword ptr ds:            ; a.0041E1A0
00403D75   |FF25 C47A4700   jmp dword ptr ds:            ; a.0041E1D0
00403D7B   |FF25 C87A4700   jmp dword ptr ds:            ; a.0041DD80
00403D81   |FF25 B87A4700   jmp dword ptr ds:            ; a.0041E340
00403D87   |FF25 B07A4700   jmp dword ptr ds:            ; a.0041E210
00403D8D   |FF25 987A4700   jmp dword ptr ds:            ; a.0041E130
00403D93   |FF25 9C7A4700   jmp dword ptr ds:            ; a.0041DDB0
00403D99   |FF25 A47A4700   jmp dword ptr ds:            ; a.0041DE00
00403D9F   |FF25 A87A4700   jmp dword ptr ds:            ; a.0041E150
00403DA5   |FF25 AC7A4700   jmp dword ptr ds:            ; a.0041E170
选择最后一个JMP,回车,断首下段
0041E170    55            push ebp
0041E171    8BEC            mov ebp,esp
0041E173    8B45 1C         mov eax,dword ptr ss:
0041E176    50            push eax
0041E177    8B4D 18         mov ecx,dword ptr ss:
0041E17A    51            push ecx
0041E17B    8B55 14         mov edx,dword ptr ss:
0041E17E    52            push edx
0041E17F    8B45 10         mov eax,dword ptr ss:
0041E182    50            push eax
0041E183    8B4D 0C         mov ecx,dword ptr ss:
0041E186    51            push ecx
0041E187    8B55 08         mov edx,dword ptr ss:
0041E18A    52            push edx
0041E18B    B9 00714A00   mov ecx,a.004A7100
0041E190    E8 DB9BFFFF   call a.00417D70
0041E195    5D            pop ebp
然后单步走到了
0041E190    E8 DB9BFFFF   call a.00417D70
F7进入

就下来就是无尽的F8.......
他会在弄个配置项,我不知道干啥= =
C:\Windows\Uop00402AF7    FF75 F4         push dword ptr ss:
00402AFA    E8 23FDFFFF   call a.00402822
00402AFF    83C4 08         add esp,0x8
00402B02    83F8 00         cmp eax,0x0
00402B05    B8 00000000   mov eax,0x0
00402B0A    0F94C0          sete al
验证用户名

验证密码
00402CD0    FF75 F4         push dword ptr ss:
00402CD3    E8 4AFBFFFF   call a.00402822
00402CD8    83C4 08         add esp,0x8
00402CDB    83F8 00         cmp eax,0x0
00402CDE    B8 00000000   mov eax,0x0
00402CE3    0F94C0          sete al

马上就到返回值了
00402E04    68 DB7A4700   push a.00477ADB                        ; ASCII "C:\Windows\Uop\config"
00402E09    68 04000000   push 0x4
00402E0E    BB 70514000   mov ebx,a.00405170
00402E13    E8 810F0000   call a.00403D99
00402E18    83C4 34         add esp,0x34
00402E1B    8945 EC         mov dword ptr ss:,eax
00402E1E    8B5D F0         mov ebx,dword ptr ss:
00402E21    85DB            test ebx,ebx
这里不知道在干啥貌似读取配置项?
00402EB8    FF75 EC         push dword ptr ss:
00402EBB    E8 62F9FFFF   call a.00402822
00402EC0    83C4 08         add esp,0x8
00402EC3    83F8 00         cmp eax,0x0
00402EC6    B8 00000000   mov eax,0x0
00402ECB    0F94C0          sete al
把用户名和密码搞在一起,准备返回了
00402EC0    83C4 08         add esp,0x8
走到这里,看寄存器的EAX的值为-1,我们给他置0,F9,弹出登录成功,...........

第一次分析可能有点乱,希望各位见谅= =.......







Aurelion 发表于 2013-9-20 13:14

那个CM实在是。。。。最简单的写法 如果真(编辑框1.内容=888888) 就这样 VM几乎没用啊

LoongKing 发表于 2013-9-20 13:18

本帖最后由 E_eYYF 于 2013-9-20 13:19 编辑

qq793359277 发表于 2013-9-20 13:14 static/image/common/back.gif
那个CM实在是。。。。最简单的写法 如果真(编辑框1.内容=888888) 就这样 VM几乎没用啊
是这个CM,比第一个强点= =http://www.52pojie.cn/thread-214365-2-1.html

谁再敢盗我QQ 发表于 2013-9-20 13:25

马斯维尔 发表于 2013-9-20 13:33

感谢大牛的分析,很详细。只是我有一点搞不明白,就是为什么“选择最后一个JMP,回车,断首下段”,这个问题想不明白。

马斯维尔 发表于 2013-9-20 13:48



学习了大牛你的教程,终于搞定了。谢谢了。

LoongKing 发表于 2013-9-20 13:59

马斯维尔 发表于 2013-9-20 13:48 static/image/common/back.gif
学习了大牛你的教程,终于搞定了。谢谢了。

没事,论坛终极神牛太多了,小菜只能打酱油.......

Aurelion 发表于 2013-9-20 14:44

E_eYYF 发表于 2013-9-20 13:18 static/image/common/back.gif
是这个CM,比第一个强点= =http://www.52pojie.cn/thread-214365-2-1.html

终极CM...噗

zeromaggot 发表于 2013-9-20 23:24

走走,看看,学学

yys5161 发表于 2013-9-21 10:37

也来学习下,这样详细的不错。
页: [1]
查看完整版本: 菜鸟的第一次,简单分析一个被VM的CM,