昨天下午刚从网游下来,挂个QQ,阿K哥今天很热情,主动和我说话。。。,真是前所未有@_@.下Q之前阿K哥说下面这个软件的算法很简单,叫我试试,我想想,阿K哥是不是想忽悠人,抱着如果我分析不出来就可以请教阿K哥的想法我就试了,结果才知道,这个软件的算法不但简单,而且熟悉,根本就是去年分析过了的~~^_^
WinAudio Recorder 2.2.0282算法分析
软件名称:WinAudio Recorder 2.2.0282
下载连接:http://www.onlinedown.net/soft/49250.htm
软件大小:652KB
软件语言:英文
软件类别:国外软件/共享版/音频工具
运行环境:Win9x/Me/NT/2000/XP/2003
0040ED00 . 83EC 0C sub esp, 0C
0040ED03 . 55 push ebp
0040ED04 . 56 push esi
0040ED05 . 57 push edi
0040ED06 . BF 01000000 mov edi, 1
0040ED0B . 57 push edi
0040ED0C . 8BF1 mov esi, ecx
0040ED0E . E8 34A70100 call 00429447
0040ED13 . 8B46 70 mov eax, dword ptr [esi+70] ; [ESI+70]指向用户名
0040ED16 . 8B68 F4 mov ebp, dword ptr [eax-C] ; [EAX-C]是用户名长度
0040ED19 . 83FD 02 cmp ebp, 2 ; 要≥2哦
0040ED1C . 7D 15 jge short 0040ED33
0040ED1E . 6A 00 push 0
0040ED20 . 6A 00 push 0
0040ED22 . 68 BCD04300 push 0043D0BC ; please input correct user name!
0040ED27 . E8 27090200 call 0042F653
0040ED2C . 5F pop edi
0040ED2D . 5E pop esi
0040ED2E . 5D pop ebp
0040ED2F . 83C4 0C add esp, 0C
0040ED32 . C3 retn
0040ED33 > 8B4E 74 mov ecx, dword ptr [esi+74] ; [ESI+74]指向注册码
0040ED36 . 8379 F4 08 cmp dword ptr [ecx-C], 8 ; 注册码要≥8
0040ED3A . 7D 15 jge short 0040ED51
0040ED3C . 6A 00 push 0
0040ED3E . 6A 00 push 0
0040ED40 . 68 94D04300 push 0043D094 ; please input correct registration code!
0040ED45 . E8 09090200 call 0042F653
0040ED4A . 5F pop edi
0040ED4B . 5E pop esi
0040ED4C . 5D pop ebp
0040ED4D . 83C4 0C add esp, 0C
0040ED50 . C3 retn
0040ED51 > 8B46 70 mov eax, dword ptr [esi+70] ; [ESI+70]指向用户名
0040ED54 . 8B48 F4 mov ecx, dword ptr [eax-C] ; [EAX-C]是用户名的长度
0040ED57 . 85C9 test ecx, ecx
0040ED59 . 7D 0A jge short 0040ED65
0040ED5B . 68 57000780 push 80070057
0040ED60 . E8 0B27FFFF call 00401470
0040ED65 > 8A10 mov dl, byte ptr [eax] ; 用户名第1位到dl
0040ED67 . 8B46 70 mov eax, dword ptr [esi+70]
0040ED6A . 3978 F4 cmp dword ptr [eax-C], edi
0040ED6D . 7D 0A jge short 0040ED79
0040ED6F . 68 57000780 push 80070057
0040ED74 . E8 F726FFFF call 00401470
0040ED79 > 8A40 01 mov al, byte ptr [eax+1] ; 用户名第2位到al
0040ED7C . 884424 0E mov byte ptr [esp+E], al
0040ED80 . 8B46 70 mov eax, dword ptr [esi+70]
0040ED83 . 8B48 F4 mov ecx, dword ptr [eax-C]
0040ED86 . 85C9 test ecx, ecx
0040ED88 . 7D 0A jge short 0040ED94
0040ED8A . 68 57000780 push 80070057
0040ED8F . E8 DC26FFFF call 00401470
0040ED94 > 8B4E 70 mov ecx, dword ptr [esi+70]
0040ED97 . 53 push ebx
0040ED98 . 8A18 mov bl, byte ptr [eax] ; 用户名第1位到bl
0040ED9A . 3979 F4 cmp dword ptr [ecx-C], edi
0040ED9D . 7D 0A jge short 0040EDA9
0040ED9F . 68 57000780 push 80070057
0040EDA4 . E8 C726FFFF call 00401470
0040EDA9 > 0FB6C2 movzx eax, dl ; dl--》EAX
0040EDAC . 83C8 52 or eax, 52 ; or 52
0040EDAF . 99 cdq
0040EDB0 . BF 0A000000 mov edi, 0A
0040EDB5 . F7FF idiv edi ; idiv 0A
0040EDB7 . 0FB64424 12 movzx eax, byte ptr [esp+12] ; 用户名第2位到eax
0040EDBC . 83C8 45 or eax, 45 ; or 45
0040EDBF . 885424 16 mov byte ptr [esp+16], dl ; 余数到[ESP+16]
0040EDC3 . 99 cdq
0040EDC4 . F7FF idiv edi ; IDIV 0A
0040EDC6 . 0FB6C3 movzx eax, bl ; BL--》EAX
0040EDC9 . 83C8 43 or eax, 43 ; OR 43
0040EDCC . 885424 12 mov byte ptr [esp+12], dl ; 余数到[ESP+12]
0040EDD0 . 99 cdq
0040EDD1 . F7FF idiv edi ; IDIV 0A
0040EDD3 . 0FB641 01 movzx eax, byte ptr [ecx+1] ; 用户名第2位到EAX
0040EDD7 . 83C8 4F or eax, 4F ; or 4F
0040EDDA . 8BCF mov ecx, edi
0040EDDC . 885424 17 mov byte ptr [esp+17], dl ; 余数到[ESP+17]
0040EDE0 . 99 cdq
0040EDE1 . F7F9 idiv ecx ; IDIV 0A
0040EDE3 . 33C0 xor eax, eax ; EAX=0
0040EDE5 . 33C9 xor ecx, ecx ; ECX=0
0040EDE7 . 85ED test ebp, ebp
0040EDE9 . 885424 18 mov byte ptr [esp+18], dl ; 余数到[ESP+18]
0040EDED . 7E 20 jle short 0040EE0F
0040EDEF . 90 nop
0040EDF0 > 85C9 test ecx, ecx
0040EDF2 . 0F8C D2000000 jl 0040EECA
0040EDF8 . 8B7E 70 mov edi, dword ptr [esi+70]
0040EDFB . 3B4F F4 cmp ecx, dword ptr [edi-C]
0040EDFE . 0F8F C6000000 jg 0040EECA
0040EE04 . 0FB6140F movzx edx, byte ptr [edi+ecx] ; 用户名依次到EDX
0040EE08 . 03C2 add eax, edx ; 累加到EAX
0040EE0A . 41 inc ecx
0040EE0B . 3BCD cmp ecx, ebp
0040EE0D .^ 7C E1 jl short 0040EDF0
0040EE0F > 8B4E 74 mov ecx, dword ptr [esi+74] ; [ESI+74]=注册码
0040EE12 . 8B51 F4 mov edx, dword ptr [ecx-C] ; [EAX-C]=注册码长度
0040EE15 . 85D2 test edx, edx
0040EE17 . 7D 0A jge short 0040EE23
0040EE19 . 68 57000780 push 80070057
0040EE1E . E8 4D26FFFF call 00401470
0040EE23 > 8A11 mov dl, byte ptr [ecx] ; 注册码第1位到DL
0040EE25 . 8B4E 74 mov ecx, dword ptr [esi+74]
0040EE28 . 8379 F4 01 cmp dword ptr [ecx-C], 1
0040EE2C . 885424 19 mov byte ptr [esp+19], dl ; dl――》[ESP+19]
0040EE30 . 7D 0A jge short 0040EE3C
0040EE32 . 68 57000780 push 80070057
0040EE37 . E8 3426FFFF call 00401470
0040EE3C > 8A49 01 mov cl, byte ptr [ecx+1]
0040EE3F . 8B7E 74 mov edi, dword ptr [esi+74]
0040EE42 . 884C24 13 mov byte ptr [esp+13], cl ; 注册码第2位到[ESP+13]
0040EE46 . 837F F4 02 cmp dword ptr [edi-C], 2
0040EE4A . 7D 0A jge short 0040EE56
0040EE4C . 68 57000780 push 80070057
0040EE51 . E8 1A26FFFF call 00401470
0040EE56 > 8A4F 02 mov cl, byte ptr [edi+2]
0040EE59 . 8B7E 74 mov edi, dword ptr [esi+74]
0040EE5C . 884C24 14 mov byte ptr [esp+14], cl ; 注册码第3位到[ESP+14]
0040EE60 . 837F F4 03 cmp dword ptr [edi-C], 3
0040EE64 . 7D 0A jge short 0040EE70
0040EE66 . 68 57000780 push 80070057
0040EE6B . E8 0026FFFF call 00401470
0040EE70 > 8A4F 03 mov cl, byte ptr [edi+3]
0040EE73 . 8B7E 74 mov edi, dword ptr [esi+74]
0040EE76 . 884C24 15 mov byte ptr [esp+15], cl ; 注册码第4位到[ESP+15]
0040EE7A . 837F F4 04 cmp dword ptr [edi-C], 4
0040EE7E . 7D 0A jge short 0040EE8A
0040EE80 . 68 57000780 push 80070057
0040EE85 . E8 E625FFFF call 00401470
0040EE8A > 8A4F 04 mov cl, byte ptr [edi+4]
0040EE8D . 8B7E 74 mov edi, dword ptr [esi+74]
0040EE90 . 837F F4 05 cmp dword ptr [edi-C], 5
0040EE94 . 7D 0A jge short 0040EEA0
0040EE96 . 68 57000780 push 80070057
0040EE9B . E8 D025FFFF call 00401470
0040EEA0 > 8A5F 05 mov bl, byte ptr [edi+5] ; 注册码第6位到bl
0040EEA3 . 8B7E 74 mov edi, dword ptr [esi+74]
0040EEA6 . 885C24 1A mov byte ptr [esp+1A], bl ; bl--》[ESP+1A]
0040EEAA . 837F F4 06 cmp dword ptr [edi-C], 6
0040EEAE . 7D 0A jge short 0040EEBA
0040EEB0 68 57000780 push 80070057
0040EEB5 E8 B625FFFF call 00401470
0040EEBA 8A5F 06 mov bl, byte ptr [edi+6]
0040EEBD 8B7E 74 mov edi, dword ptr [esi+74]
0040EEC0 885C24 1B mov byte ptr [esp+1B], bl ; 注册码第7位到[ESP+1B]
0040EEC4 837F F4 07 cmp dword ptr [edi-C], 7
0040EEC8 7D 0A jge short 0040EED4
0040EECA 68 57000780 push 80070057
0040EECF E8 9C25FFFF call 00401470
0040EED4 8A5F 07 mov bl, byte ptr [edi+7]
0040EED7 0FB67C24 16 movzx edi, byte ptr [esp+16] ; 注册码第8位到BL
0040EEDC 0FB6D2 movzx edx, dl ; dl保存的注册码第1位
0040EEDF 83EA 30 sub edx, 30 ; 作用是转化为数字
0040EEE2 3BFA cmp edi, edx ; 和第一个余数比较
0040EEE4 75 48 jnz short 0040EF2E
0040EEE6 0FB65424 13 movzx edx, byte ptr [esp+13]
0040EEEB 0FB67C24 12 movzx edi, byte ptr [esp+12]
0040EEF0 83EA 30 sub edx, 30
0040EEF3 3BFA cmp edi, edx ; 注册码第2位和第2个余数比较
0040EEF5 75 37 jnz short 0040EF2E
0040EEF7 0FB65424 14 movzx edx, byte ptr [esp+14]
0040EEFC 0FB67C24 17 movzx edi, byte ptr [esp+17]
0040EF01 83EA 30 sub edx, 30
0040EF04 3BFA cmp edi, edx ; 注册码第3位和第3个余数比较
0040EF06 75 26 jnz short 0040EF2E
0040EF08 0FB65424 15 movzx edx, byte ptr [esp+15]
0040EF0D 0FB67C24 18 movzx edi, byte ptr [esp+18]
0040EF12 83EA 30 sub edx, 30
0040EF15 3BFA cmp edi, edx ; 注册码第4位和第4个余数比较
0040EF17 75 15 jnz short 0040EF2E
0040EF19 . 99 cdq
0040EF1A . BF 0A000000 mov edi, 0A
0040EF1F . F7FF idiv edi ; 用户名的累加值idiv 0A
0040EF21 . 0FB6C2 movzx eax, dl ; 余数到eax
0040EF24 . 0FB6D1 movzx edx, cl ; cl=注册码第5位
0040EF27 . 83EA 30 sub edx, 30
0040EF2A . 3BC2 cmp eax, edx ; 比较
0040EF2C . 74 38 je short 0040EF66
====================================================================================================
总结:
用户名≥2
注册码≥8
注册码第1位=(用户名第1位的ASC码 or 52) mod 0A
注册码第2位=(用户名第2位的ASC码 or 45) mod 0A
注册码第3位=(用户名第1位的ASC码 or 43) mod 0A
注册码第4位=(用户名第2位的ASC码 or 4f) mod 0A
注册码第5位=用户名的累加值 mod 0A
后面三为不进行比较!
====================================================================================================
0040EF2E > 807C24 19 38 cmp byte ptr [esp+19], 38 ; 注册码第1位和8比
0040EF33 0F85 83000000 jnz 0040EFBC
0040EF39 . 807C24 13 33 cmp byte ptr [esp+13], 33 ; 第2位和3比
0040EF3E 75 7C jnz short 0040EFBC
0040EF40 . 8A5424 14 mov dl, byte ptr [esp+14]
0040EF44 . B0 36 mov al, 36
0040EF46 . 3AD0 cmp dl, al ; 第3位和6比
0040EF48 75 72 jnz short 0040EFBC
0040EF4A . 384424 15 cmp byte ptr [esp+15], al ; 第4位和6比
0040EF4E 75 6C jnz short 0040EFBC
0040EF50 . 3AC8 cmp cl, al ; 第5位和6比
0040EF52 75 68 jnz short 0040EFBC
0040EF54 . 807C24 1A 31 cmp byte ptr [esp+1A], 31 ; 第6位和1比
0040EF59 75 61 jnz short 0040EFBC
0040EF5B . 807C24 1B 34 cmp byte ptr [esp+1B], 34 ; 第7位和4比
0040EF60 75 5A jnz short 0040EFBC
0040EF62 . 3AD8 cmp bl, al ; 第8位和6比
0040EF64 . 75 56 jnz short 0040EFBC
#####################################################################################
万能注册码:83666146
#####################################################################################
0040EF66 > 6A 00 push 0
0040EF68 . 6A 00 push 0
0040EF6A . 68 78D04300 push 0043D078 ; registration has succeeded!
0040EF6F . E8 DF060200 call 0042F653
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
本来不想发的,既然发了就把另一个软件的算法也贴上来吧,也是去年分析过的,今年还是没有什么变化,当然是简单的,难的不会
软件介绍 Egg 1.51 Beta 1
软件大小:55KB
软件语言:英文
软件类别:国外软件/共享版/闹铃时钟
运行环境:Win9x/Me/NT/2000/XP/2003
超小型倒计时软件,界面小巧,设置方便,占用资源小,可自定义闹钟声。
下载:http://www.newhua.com/soft/54487.htm
00401A03 |. 8D85 A0FDFFFF lea eax, dword ptr [ebp-260]
00401A09 |. 50 push eax ; /Arg1
00401A0A |. E8 7D0C0000 call 0040268C ; \Egg.0040268C
00401A0F |. 833D ACF04000>cmp dword ptr [40F0AC], 0 [40F0AC]=0就提示注册失败
00401A16 |. 74 5F je short 00401A77 ;关键跳!
0040268C /$ 55 push ebp
0040268D |. 8BEC mov ebp, esp
0040268F |. 81C4 80FDFFFF add esp, -280
00402695 |. 68 722D4100 push 00412D72
0040269A |. 68 22C24000 push 0040C222 ; eggy
0040269F |. E8 DC880000 call 0040AF80
004026A4 |. 68 47DC4000 push 0040DC47 ; sinnercomputing
004026A9 |. 68 722D4100 push 00412D72
004026AE |. E8 9D880000 call 0040AF50
004026B3 |. 57 push edi
004026B4 |. 53 push ebx
004026B5 |. BF 722D4100 mov edi, 00412D72
004026BA |. 33C0 xor eax, eax
004026BC |. 8945 DC mov dword ptr [ebp-24], eax
004026BF |. EB 0E jmp short 004026CF
004026C1 |> FF45 DC /inc dword ptr [ebp-24]
004026C4 |. 66:8B07 |mov ax, word ptr [edi]
004026C7 |. 66:83E8 40 |sub ax, 40
004026CB |. 66:8907 |mov word ptr [edi], ax
004026CE |. 47 |inc edi
004026CF |> 837D DC 0A cmp dword ptr [ebp-24], 0A
004026D3 |.^ 72 EC \jb short 004026C1
004026D5 |. 33C0 xor eax, eax
004026D7 |. 66:8907 mov word ptr [edi], ax
004026DA |. 8B7D 08 mov edi, dword ptr [ebp+8] ; [EBP+8]指向我们输入的注册码
004026DD |. 33DB xor ebx, ebx ; EBX=0
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
004026DF |> 8B07 /mov eax, dword ptr [edi]
004026E1 |. 8885 ACFEFFFF |mov byte ptr [ebp-154], al
004026E7 |. 3C 39 |cmp al, 39
004026E9 |. 77 04 |ja short 004026EF
004026EB |. 3C 30 |cmp al, 30
004026ED |. 73 0A |jnb short 004026F9
004026EF |> C705 ACF04000>|mov dword ptr [40F0AC], 0 ; 注册码要是数字,要不[40F0AC]=0
004026F9 |> 88A5 ADFEFFFF |mov byte ptr [ebp-153], ah
004026FF |. 33C0 |xor eax, eax
00402701 |. 8885 AEFEFFFF |mov byte ptr [ebp-152], al
00402707 |. 8D85 ACFEFFFF |lea eax, dword ptr [ebp-154]
0040270D |. 50 |push eax
0040270E |. E8 D5860000 |call 0040ADE8
00402713 |. 0BC0 |or eax, eax ; 测试是否为空
00402715 |. 75 0B |jnz short 00402722
00402717 |. C705 ACF04000>|mov dword ptr [40F0AC], 0
00402721 |. 40 |inc eax
00402722 |> 89449D E0 |mov dword ptr [ebp+ebx*4-20], eax ; 保存到[EBP+EBX*4-20]
00402726 |. 43 |inc ebx ; EBX+1
00402727 |. 83C7 02 |add edi, 2 ; 指向下两位
0040272A |. 83FB 08 |cmp ebx, 8 ; 这里告诉我们注册码要16位
0040272D |.^ 75 B0 \jnz short 004026DF]
这个循环的作用就是将我们输入的16个数字分组,每2位一组
比如我输入的是1234567890787878
那么第一组:[EBP+0*4+20]=12
第2组: [ebp+1*4-20]=34
第3组: [ebp+2*4-20]=34
依次类推。。。。。。。。。。。。
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
0040272F |. 33DB xor ebx, ebx ; EBX=0
00402731 |. 43 inc ebx ; EBX=1
00402732 |. 8B449D E0 mov eax, dword ptr [ebp+ebx*4-20] ; EAX=第2组
00402736 |. 43 inc ebx
00402737 |. 43 inc ebx
00402738 |. 03449D E0 add eax, dword ptr [ebp+ebx*4-20] ; 加第4组
0040273C |. 43 inc ebx
0040273D |. 43 inc ebx
0040273E |. 03449D E0 add eax, dword ptr [ebp+ebx*4-20] ; 加第6组
00402742 |. 43 inc ebx
00402743 |. 43 inc ebx
00402744 |. 03449D E0 add eax, dword ptr [ebp+ebx*4-20] ; 加第8组
00402748 |. 83F8 70 cmp eax, 70 ; 比较EAX=70否
0040274B |. 74 0A je short 00402757
0040274D |. C705 ACF04000>mov dword ptr [40F0AC], 0 ; 要等哦,不等[40F0AC]
00402757 |> 33DB xor ebx, ebx ; EBX=0
00402759 |. 8B449D E0 mov eax, dword ptr [ebp+ebx*4-20] ; 第1组到EAX
0040275D |. 83F8 3C cmp eax, 3C
00402760 |. 72 07 jb short 00402769 ; 不能小的哦
00402762 |. 3D 80000000 cmp eax, 80
00402767 |. 76 0A jbe short 00402773
00402769 C705 ACF04000>mov dword ptr [40F0AC], 0
00402773 833D ACF04000>cmp dword ptr [40F0AC], 0
0040277A 0F84 52010000 je 004028D2
到这里我们知道
第2,4,6组三组数字相加=70h(112)
第1组数字要大于3Ch(60)
到这里我构造了以下数据,注册成功,收工!!!!
7050125012127878
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
破文标题:超级简单的1st Security Agent算法分析
破文作者:小娃崽
下载地址:http://www.skycn.com/soft/17528.html
软件简介: 1st Screen Lock 可以帮助你锁定你的电脑,并对其它用户的所有操作进行监控。
004A94C8 /$ 53 push ebx
004A94C9 |. 56 push esi
004A94CA |. 57 push edi
004A94CB |. BF 4C9D4D00 mov edi, 004D9D4C
004A94D0 |. 33F6 xor esi, esi ; ESI=0
004A94D2 |. 33DB xor ebx, ebx ; EBX=0
004A94D4 |. 8B07 mov eax, [edi] ; [EDI]假设=注册码
004A94D6 |. E8 FDB5F5FF call 00404AD8 ; 估计是取注册码长度
004A94DB |. 83F8 0E cmp eax, 0E ; 长度=0E(14)
004A94DE |. 75 67 jnz short 004A9547 ; 不能跳,跳的话EBX=0--》EAX直接返回
004A94E0 |. 8B07 mov eax, [edi] ; 注册码到EAX
004A94E2 |. 8038 31 cmp byte ptr [eax], 31 ; 第一位是1吗
004A94E5 |. 0F94C0 sete al ; 是的话AL=1
004A94E8 |. 83E0 7F and eax, 7F ; 与7F进行and运算
004A94EB |. 03F0 add esi, eax ; ESI=ESI+EAX
004A94ED |. 8B07 mov eax, [edi]
004A94EF |. 8078 02 32 cmp byte ptr [eax+2], 32 ; 注册码第3为是2吗
004A94F3 |. 0F94C0 sete al
004A94F6 |. 83E0 7F and eax, 7F
004A94F9 |. 03F0 add esi, eax
004A94FB |. 8B07 mov eax, [edi]
004A94FD |. 8078 03 31 cmp byte ptr [eax+3], 31 ; 第四位1
004A9501 |. 0F94C0 sete al
004A9504 |. 83E0 7F and eax, 7F
004A9507 |. 03F0 add esi, eax
004A9509 |. 8B07 mov eax, [edi]
004A950B |. 8078 04 39 cmp byte ptr [eax+4], 39 ; 第5位9
004A950F |. 0F94C0 sete al
004A9512 |. 83E0 7F and eax, 7F
004A9515 |. 03F0 add esi, eax
004A9517 |. 8B07 mov eax, [edi]
004A9519 |. 8078 07 30 cmp byte ptr [eax+7], 30 ; 第8位0
004A951D |. 0F94C0 sete al
004A9520 |. 83E0 7F and eax, 7F
004A9523 |. 03F0 add esi, eax
004A9525 |. 8B07 mov eax, [edi]
004A9527 |. 8078 08 35 cmp byte ptr [eax+8], 35 ; 第9位5
004A952B |. 0F94C0 sete al
004A952E |. 83E0 7F and eax, 7F
004A9531 |. 03F0 add esi, eax
004A9533 |. 8B07 mov eax, [edi]
004A9535 |. 8078 0A 33 cmp byte ptr [eax+A], 33 ; 11位3
004A9539 |. 0F94C0 sete al
004A953C |. 83E0 7F and eax, 7F
004A953F |. 03F0 add esi, eax
004A9541 |. 83FE 07 cmp esi, 7
004A9544 |. 0F94C3 sete bl
004A9547 |> 8BC3 mov eax, ebx
004A9549 |. 5F pop edi
004A954A |. 5E pop esi
004A954B |. 5B pop ebx
004A954C \. C3 retn
结论:注册码长度14位
1?219??05?3??? ?表示任意的数字
7(1 and 7F)=7---》 1and 7F=1 条件永远成立滴
所以我们的注册码形式就是:1?219??05?3???,验证了也是正确的
下面是从看雪精华4某位CCG老前辈处窃取来的超炫签名^_^,因为该前辈还没到工商局注册商标^@^
========================================================
,;~;,
/\_
( /
(() //)
| \\ ,,;;'\
__ _( )i love li wei(================--------
/' ' '()/~' '.(, |
,;( )|| | ~
,;' \ /-(.;, ) 小娃崽[DFCG]
) / ) /
// ||
)_\ )_\
==========================================================
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)