今天拿到此CM无壳还OK,虽然简单的壳很好玩,但是重的壳我等菜如何招架~
话说回来..
此CM算法一般,自反汇编一下就知道,实在不行你就跟踪下也能知道,再不行你就跟踪几次肯定能知道.我们今天要说的是反汇编中一个特殊的指令~
此CM最大区别在于在反汇编中用到BOUND指令~
看此处:
/*****************************************************************************/
00427AC0 |. |B9 0A000000 |mov ecx, 0A ; 0x0A
00427AC5 |. |99 |cdq
00427AC6 |. |F7F9 |idiv ecx ; /10?
00427AC8 |. |6215 3C7B4200 |bound edx, qword ptr [427B3C]
/*看这句代码 可知道 bound 是双操作数的指令/*
/*稍微往下看,[427B3C]处…发现什么?是00 00 00 00 0C 00 00 00*/
/*一堆0忽略 我们看0x0C,0x0C=12,12是啥?12正是我们算法序列中的一个数组数量~*/
/*换言之,bound指令的作用就是检查数组,获取(offse[数组]):[edx]处的元素~*/
/*分析到这里bound的作用应该一目了然了吧~*/
00427ACE |. |8A92 84884200 |mov dl, byte ptr [edx+428884]
00427AD4 |. |8D45 F0 |lea eax, dword ptr [ebp-10]
00427AD7 |. |E8 FCBBFDFF |call 004036D8
00427ADC |. |8B55 F0 |mov edx, dword ptr [ebp-10]
00427ADF |. |8D45 F4 |lea eax, dword ptr [ebp-C]
00427AE2 |. |E8 D1BCFDFF |call 004037B8
00427AE7 |. |8BC3 |mov eax, ebx
00427AE9 |. |B9 0A000000 |mov ecx, 0A
00427AEE |. |99 |cdq
00427AEF |. |F7F9 |idiv ecx
00427AF1 |. |8BD8 |mov ebx, eax
00427AF3 |. |4E |dec esi
00427AF4 |.^\75 C8 \jnz short 00427ABE
00427AF6 |> 8B45 F4 mov eax, dword ptr [ebp-C]
00427AF9 |. 8B55 F8 mov edx, dword ptr [ebp-8]
00427AFC |. E8 BFBDFDFF call 004038C0
00427B01 |. 75 07 jnz short 00427B0A
00427B03 |. BB 4E61BC00 mov ebx, 0BC614E
00427B08 |. EB 05 jmp short 00427B0F
00427B0A |> BB 91D61200 mov ebx, 12D691
00427B0F |> 33C0 xor eax, eax
00427B11 |. 5A pop edx
00427B12 |. 59 pop ecx
00427B13 |. 59 pop ecx
00427B14 |. 64:8910 mov dword ptr fs:[eax], edx
00427B17 |. 68 317B4200 push 00427B31
00427B1C |> 8D45 F0 lea eax, dword ptr [ebp-10]
00427B1F |. BA 04000000 mov edx, 4
00427B24 |. E8 2FBAFDFF call 00403558
00427B29 \. C3 retn
00427B2A .^ E9 A9B4FDFF jmp 00402FD8
00427B2F .^ EB EB jmp short 00427B1C
00427B31 . 8BC3 mov eax, ebx
00427B33 . 5E pop esi
00427B34 . 5B pop ebx
00427B35 . 8BE5 mov esp, ebp
00427B37 . 5D pop ebp
00427B38 . C3 retn
00427B39 00 db 00
00427B3A 00 db 00
00427B3B 00 db 00
00427B3C 00 db 00
00427B3D 00 db 00
00427B3E 00 db 00
00427B3F 00 db 00
00427B40 0C db 0C
00427B41 00 db 00
00427B42 00 db 00
00427B43 00 db 00
/*****************************************************************************/
一组可用KEY:
ShadowKong
N6N465AA5A
http://dl.dbank.com/c0cn87dscz