(1)经典对照组合,常为注册码泛起处(by programhunter) 1 mov eax [ ] 这里可以是地址,也可以是其它寄存器 mov edx [ ] 同上 通常这两个地址就储存着主要信息 call 00?????? test eax eax jz(jnz) 2 mov eax [ ] 这里可以是地址,也可以是其它寄存器 mov edx [ ] 同上 通常这两个地址就储存着主要信息 call 00?????? jne(je) 3 mov eax [ ] mov edx [ ] cmp eax,edx jnz(jz) 或者 begin mov al [ ] mov cl [ ] cmp al,cl jnz(jz) mov al [ +1] mov cl [ +1] cmp al,cl jnz(jz) cmp eax ecx (eax为计数器) jnl begin mov al 01 4 lea edi [ ] lea esi [ ] repz cmpsd jz(jnz) 5 mov eax [ ] 这里可以是地址,也可以是其它寄存器 mov edx [ ] 同上 通常这两个地址就储存着主要信息 call 00?????? setz (setnz) al (bl,cl…) 6 mov eax [ ] 这里可以是地址,也可以是其它寄存器 mov edx [ ] 同上 通常这两个地址就储存着主要信息 call 00?????? test eax eax setz (setnz) bl,cl… 7 call 00?????? *** push eax (ebx,ecx…) …… …… call 00?????? pop eax (ebx,ecx…) test eax eax jz(jnz) 这个形式对照稀奇,它的要害对照地方不在第二call中,而在第一call中 (2)注册码按字节依次给出 :A 0FBE03 movsx eax, byte ptr [ebx] :A15C 50 push eax :A15D EC0 call D84 :A 59 pop ecx :A 83F84A cmp eax, A ----gt;J :A jne A1C1 :A 0FBE movsx edx, byte ptr [ebx+01] :A16C 52 push edx :A16D EC0 call D84 :A 59 pop ecx :A 83F cmp eax, ----gt; S :A jne A1C1 :A 0FBE4B02 movsx ecx, byte ptr [ebx+02] :A17C 83F cmp ecx, ----gt; :A17F jne A1C1 :A 0FBE movsx eax, byte ptr [ebx+03] :A 83F cmp eax, ----gt; 2 :A jne A1C1 :A18A 0FBE movsx edx, byte ptr [ebx+04] :A18E 83FA38 cmp edx, ----gt; 8 :A E jne A1C1 :A 0FBE4B05 movsx ecx, byte ptr [ebx+05] :A 83F cmp ecx, ----gt; 9 :A19A jne A1C1 :A19C 0FBE movsx eax, byte ptr [ebx+06] :A1A0 83F cmp eax, ----gt; 2 :A1A3 C jne A1C1 :A1A5 0FBE movsx edx, byte ptr [ebx+07] :A1A9 83FA31 cmp edx, -----gt;1 (3)对照位数 cmp dword ptr[ebp-04],A jne/jge/jle/je 00xxxx 或 mov eax, dword ptr [ebp-04] call 00xxxx cmp eax, A lt;----对照注册码是否为10位 jne 00xxxxx lt;----不是,错 (4)VB程序经典对照 PUSH XXX //假注册码 PUSH XXX //真注册码 CALL [MSVBVM60!__vbaStrCmp] TEST EAX,EAX JNZ 00XXXXX (5)SmartCheck中,注册码常泛起处 __vbasrtcmp(String:"zzzzz",String:"yyyyy")returns __vbaStrVarVal(VARIATN:String"a") returns __vbaVarTstEq(VARIANT:****, VARIANT:****) returns (6)依次取两位对照 :D8 8A10 mov dl, byte ptr [eax] :DA 8ACA mov cl, dl :DC 3A16 cmp dl, byte ptr [esi] :DE C jne FC :E0 84C9 test cl, cl :E2 je F8 :E4 8A mov dl, byte ptr [eax+01] :E7 8ACA mov cl, dl