好友
阅读权限25
听众
最后登录1970-1-1
|
本帖最后由 ollydebug 于 2015-7-11 17:18 编辑
@XKQ @珈蓝夜雨 这个CM类似于去年CM大赛@Poner 的那个,是利用VEH的CM。
按钮事件断下后来到这里。
[Asm] 纯文本查看 复制代码 00401C90 /. 55 push ebp
00401C91 |. 8BEC mov ebp,esp
00401C93 |. 81EC 14000000 sub esp,0x14
00401C99 |. 68 00000000 push 0x0
00401C9E |. BB 807C4000 mov ebx,cracked.00407C80
00401CA3 |. E8 B3550000 call cracked.0040725B
00401CA8 |. 83C4 04 add esp,0x4
00401CAB |. 68 01030080 push 0x80000301
00401CB0 |. 6A 00 push 0x0
00401CB2 |. 50 push eax
00401CB3 |. 68 01000000 push 0x1
00401CB8 |. BB C0774000 mov ebx,cracked.004077C0
00401CBD |. E8 99550000 call cracked.0040725B
00401CC2 |. 83C4 10 add esp,0x10
00401CC5 |. 8945 F8 mov [local.2],eax
00401CC8 |. 68 05000080 push 0x80000005
00401CCD |. 6A 00 push 0x0
00401CCF |. 8B45 F8 mov eax,[local.2]
00401CD2 |. 85C0 test eax,eax
00401CD4 |. 75 05 jnz short cracked.00401CDB
00401CD6 |. B8 A2AC4800 mov eax,cracked.0048ACA2
00401CDB |> 50 push eax
00401CDC |. 68 01000000 push 0x1
00401CE1 |. B8 02000000 mov eax,0x2
00401CE6 |. BB D03D4600 mov ebx,cracked.00463DD0
00401CEB |. E8 7D550000 call cracked.0040726D
00401CF0 |. 83C4 10 add esp,0x10
00401CF3 |. 8945 F4 mov [local.3],eax
00401CF6 |. 8B5D F8 mov ebx,[local.2]
00401CF9 |. 85DB test ebx,ebx
00401CFB |. 74 09 je short cracked.00401D06
00401CFD |. 53 push ebx
00401CFE |. E8 52550000 call cracked.00407255
00401D03 |. 83C4 04 add esp,0x4
00401D06 |> 6A FF push -0x1
00401D08 |. 6A 08 push 0x8
00401D0A |. 68 5E1C0116 push 0x16011C5E
00401D0F |. 68 5D1C0152 push 0x52011C5D
00401D14 |. E8 5A550000 call cracked.00407273
00401D19 |. 83C4 10 add esp,0x10
00401D1C |. 8945 F0 mov [local.4],eax
00401D1F |. 8B45 F4 mov eax,[local.3]
00401D22 |. 50 push eax
00401D23 |. FF75 F0 push [local.4]
00401D26 |. E8 C8FEFFFF call cracked.00401BF3
00401D2B |. 83C4 08 add esp,0x8
00401D2E |. 83F8 00 cmp eax,0x0
00401D31 |. B8 00000000 mov eax,0x0
00401D36 |. 0F94C0 sete al
00401D39 |. 8945 EC mov [local.5],eax
00401D3C |. 8B5D F0 mov ebx,[local.4]
00401D3F |. 85DB test ebx,ebx
00401D41 |. 74 09 je short cracked.00401D4C
00401D43 |. 53 push ebx
00401D44 |. E8 0C550000 call cracked.00407255
00401D49 |. 83C4 04 add esp,0x4
00401D4C |> 8B5D F4 mov ebx,[local.3]
00401D4F |. 85DB test ebx,ebx
00401D51 |. 74 09 je short cracked.00401D5C
00401D53 |. 53 push ebx
00401D54 |. E8 FC540000 call cracked.00407255
00401D59 |. 83C4 04 add esp,0x4
00401D5C |> 837D EC 00 cmp [local.5],0x0
00401D60 |. 0F84 05000000 je cracked.00401D6B
00401D66 |. E8 79000000 call cracked.00401DE4
00401D6B |> 6A FF push -0x1
00401D6D |. 6A 08 push 0x8
00401D6F |. 68 5E1C0116 push 0x16011C5E
00401D74 |. 68 5D1C0152 push 0x52011C5D
00401D79 |. E8 F5540000 call cracked.00407273
00401D7E |. 83C4 10 add esp,0x10
00401D81 |. 8945 FC mov [local.1],eax
00401D84 |. 68 04000080 push 0x80000004
00401D89 |. 6A 00 push 0x0
00401D8B |. 8B45 FC mov eax,[local.1] ; cracked.00401C90
00401D8E |. 85C0 test eax,eax
00401D90 |. 75 05 jnz short cracked.00401D97
00401D92 |. B8 DAAF4800 mov eax,cracked.0048AFDA
00401D97 |> 50 push eax
00401D98 |. 68 01000000 push 0x1
00401D9D |. BB C0774000 mov ebx,cracked.004077C0
00401DA2 |. E8 B4540000 call cracked.0040725B
00401DA7 |. 83C4 10 add esp,0x10
00401DAA |. 8945 F8 mov [local.2],eax
00401DAD |. 8B5D FC mov ebx,[local.1] ; cracked.00401C90
00401DB0 |. 85DB test ebx,ebx
00401DB2 |. 74 09 je short cracked.00401DBD
00401DB4 |. 53 push ebx
00401DB5 |. E8 9B540000 call cracked.00407255
00401DBA |. 83C4 04 add esp,0x4
00401DBD |> 8B45 F8 mov eax,[local.2]
00401DC0 |. 50 push eax
00401DC1 |. 8B1D 94244B00 mov ebx,dword ptr ds:[0x4B2494]
00401DC7 |. 85DB test ebx,ebx
00401DC9 |. 74 09 je short cracked.00401DD4
00401DCB |. 53 push ebx
00401DCC |. E8 84540000 call cracked.00407255
00401DD1 |. 83C4 04 add esp,0x4
00401DD4 |> 58 pop eax ; cracked.0041F240
00401DD5 |. A3 94244B00 mov dword ptr ds:[0x4B2494],eax
00401DDA |. B8 01000101 mov eax,0x1010001
00401DDF |. CC int3
00401DE0 |. 8BE5 mov esp,ebp
00401DE2 |. 5D pop ebp ; cracked.0041F240
00401DE3 \. C3 retn
其中还会有一个假码来迷惑你,看到int3后我就知道应该是VEH。他前面有个常量,所有常量搜索1010001即可到达关键位置,经过分析他下面的一个跳转即为关键跳,nop掉就ok。
[Asm] 纯文本查看 复制代码 0040176E . 813B 01000101 cmp dword ptr ds:[ebx],0x1010001
00401774 . 0F85 57020000 jnz cracked.004019D1
0040177A . 68 02000080 push 0x80000002
0040177F . 6A 00 push 0x0
00401781 . 68 01000000 push 0x1
00401786 . 68 01030080 push 0x80000301
0040178B . 6A 00 push 0x0
0040178D . 68 30000000 push 0x30
00401792 . 68 02000000 push 0x2
00401797 . B8 01000000 mov eax,0x1
0040179C . BB B03B4600 mov ebx,cracked.00463BB0
004017A1 . E8 C75A0000 call cracked.0040726D
004017A6 . 83C4 1C add esp,0x1C
004017A9 . A3 90244B00 mov dword ptr ds:[0x4B2490],eax ; cracked.00401BD4
004017AE . B8 88AC4800 mov eax,cracked.0048AC88
004017B3 . 33C9 xor ecx,ecx
004017B5 . 85C0 test eax,eax ; cracked.00401BD4
004017B7 . 74 03 je short cracked.004017BC
004017B9 . 8B48 04 mov ecx,dword ptr ds:[eax+0x4]
004017BC > 51 push ecx
004017BD . 83C0 08 add eax,0x8
004017C0 . 50 push eax ; cracked.00401BD4
004017C1 . A1 94244B00 mov eax,dword ptr ds:[0x4B2494]
004017C6 . 33DB xor ebx,ebx ; ntdll.7C99D5E0
004017C8 . 85C0 test eax,eax ; cracked.00401BD4
004017CA . 74 03 je short cracked.004017CF
004017CC . 8B58 04 mov ebx,dword ptr ds:[eax+0x4]
004017CF > 83C0 08 add eax,0x8
004017D2 . 50 push eax ; cracked.00401BD4
004017D3 . 3BD9 cmp ebx,ecx
004017D5 . B8 01000000 mov eax,0x1
004017DA . 75 0A jnz short cracked.004017E6
004017DC . 48 dec eax ; cracked.00401BD4
004017DD . 85C9 test ecx,ecx
004017DF . 74 05 je short cracked.004017E6
004017E1 . E8 9DF8FFFF call cracked.00401083
004017E6 > 83C4 0C add esp,0xC
004017E9 . 85C0 test eax,eax ; cracked.00401BD4
004017EB . 90 nop ;关键跳,nop掉
004017EC . 90 nop
004017ED . 90 nop
004017EE . 90 nop
004017EF . 90 nop
004017F0 . 90 nop
大神请问我分析的对么。时间紧迫只能简单写写了。
|
|