这就是传说中的自问自答...
0040145E . 6A 01 push 0x1
00401460 . C64424 48 03 mov byte ptr ss:[esp+0x48],0x3
00401465 . E8 43BA0100 call NEW_CM.0041CEAD ; 读取用户名,注册码
0040146A . 8B43 5C mov eax,dword ptr ds:[ebx+0x5C]
0040146D . 8D73 5C lea esi,dword ptr ds:[ebx+0x5C]
00401470 . 8B40 F8 mov eax,dword ptr ds:[eax-0x8]
00401473 . 83F8 09 cmp eax,0x9 ; 用户名位数和9比较
00401476 . 0F8C 53020000 jl NEW_CM.004016CF ; 小于9位跳转
0040147C . 8B4B 60 mov ecx,dword ptr ds:[ebx+0x60]
0040147F . 8D7B 60 lea edi,dword ptr ds:[ebx+0x60]
00401482 . 8379 F8 09 cmp dword ptr ds:[ecx-0x8],0x9 ; 注册码位数和9比较
00401486 . 0F8C 43020000 jl NEW_CM.004016CF ; 小于9跳转
0040148C . 55 push ebp
0040148D . 6A 02 push 0x2
0040148F . 8D5424 3C lea edx,dword ptr ss:[esp+0x3C]
00401493 . 6A 07 push 0x7
00401495 . 52 push edx
00401496 . 8BCE mov ecx,esi
00401498 . E8 55710100 call NEW_CM.004185F2 ; id.Mid(7,2)
0040149D . 8BE8 mov ebp,eax
0040149F . 6A 03 push 0x3
004014A1 . 8D4424 38 lea eax,dword ptr ss:[esp+0x38]
004014A5 . 6A 04 push 0x4
004014A7 . 50 push eax
004014A8 . 8BCF mov ecx,edi
004014AA . C64424 54 04 mov byte ptr ss:[esp+0x54],0x4
004014AF . E8 3E710100 call NEW_CM.004185F2 ; sn.Mid(4,3)
004014B4 . 8BD8 mov ebx,eax
004014B6 . 6A 04 push 0x4
004014B8 . 8D4C24 30 lea ecx,dword ptr ss:[esp+0x30]
004014BC . 6A 00 push 0x0
004014BE . 51 push ecx
004014BF . 8BCE mov ecx,esi
004014C1 . C64424 54 05 mov byte ptr ss:[esp+0x54],0x5
004014C6 . E8 27710100 call NEW_CM.004185F2 ; id.Mid(0,4)
004014CB . 53 push ebx
004014CC . 8D5424 2C lea edx,dword ptr ss:[esp+0x2C]
004014D0 . 50 push eax
004014D1 . 52 push edx
004014D2 . C64424 54 06 mov byte ptr ss:[esp+0x54],0x6
004014D7 . E8 D0960100 call NEW_CM.0041ABAC ; str1=id.Mid(0,4)+sn.Mid(4,3)
004014DC . 55 push ebp
004014DD . 50 push eax
004014DE . 8D4424 2C lea eax,dword ptr ss:[esp+0x2C]
004014E2 . C64424 50 07 mov byte ptr ss:[esp+0x50],0x7
004014E7 . 50 push eax
004014E8 . E8 BF960100 call NEW_CM.0041ABAC ; str1+id.Mid(7,2)
004014ED . 50 push eax
004014EE . 8D4C24 20 lea ecx,dword ptr ss:[esp+0x20]
004014F2 . C64424 4C 08 mov byte ptr ss:[esp+0x4C],0x8
004014F7 . E8 BA950100 call NEW_CM.0041AAB6
004014FC . 8D4C24 24 lea ecx,dword ptr ss:[esp+0x24]
00401500 . C64424 48 07 mov byte ptr ss:[esp+0x48],0x7
00401505 . E8 73940100 call NEW_CM.0041A97D
0040150A . 8D4C24 28 lea ecx,dword ptr ss:[esp+0x28]
0040150E . C64424 48 06 mov byte ptr ss:[esp+0x48],0x6
00401513 . E8 65940100 call NEW_CM.0041A97D
00401518 . 8D4C24 2C lea ecx,dword ptr ss:[esp+0x2C]
0040151C . C64424 48 05 mov byte ptr ss:[esp+0x48],0x5
00401521 . E8 57940100 call NEW_CM.0041A97D
00401526 . 8D4C24 34 lea ecx,dword ptr ss:[esp+0x34]
0040152A . C64424 48 04 mov byte ptr ss:[esp+0x48],0x4
0040152F . E8 49940100 call NEW_CM.0041A97D
00401534 . 8D4C24 38 lea ecx,dword ptr ss:[esp+0x38]
00401538 . C64424 48 03 mov byte ptr ss:[esp+0x48],0x3
0040153D . E8 3B940100 call NEW_CM.0041A97D
00401542 . 6A 04 push 0x4
00401544 . 8D4C24 28 lea ecx,dword ptr ss:[esp+0x28]
00401548 . 6A 00 push 0x0
0040154A . 51 push ecx
0040154B . 8BCF mov ecx,edi
0040154D . E8 A0700100 call NEW_CM.004185F2 ; sn.Mid(0,4)
00401552 . 8BE8 mov ebp,eax
00401554 . 6A 02 push 0x2
00401556 . 8D5424 2C lea edx,dword ptr ss:[esp+0x2C]
0040155A . 6A 07 push 0x7
0040155C . 52 push edx
0040155D . 8BCF mov ecx,edi
0040155F . C64424 54 09 mov byte ptr ss:[esp+0x54],0x9
00401564 . E8 89700100 call NEW_CM.004185F2 ; sn.Mid(7,2)
00401569 . 8BF8 mov edi,eax
0040156B . 6A 03 push 0x3
0040156D . 8D4424 30 lea eax,dword ptr ss:[esp+0x30]
00401571 . 6A 04 push 0x4
00401573 . C64424 50 0A mov byte ptr ss:[esp+0x50],0xA
00401578 . 50 push eax
00401579 . 8BCE mov ecx,esi
0040157B . E8 72700100 call NEW_CM.004185F2 ; id.Mid(4,3)
00401580 . 57 push edi
00401581 . 8D4C24 38 lea ecx,dword ptr ss:[esp+0x38]
00401585 . 50 push eax
00401586 . 51 push ecx
00401587 . C64424 54 0B mov byte ptr ss:[esp+0x54],0xB
0040158C . E8 1B960100 call NEW_CM.0041ABAC ; str2=id.Mid(4,3)+sn.Mid(7,2)
00401591 . 55 push ebp
00401592 . 8D5424 3C lea edx,dword ptr ss:[esp+0x3C]
00401596 . B3 0C mov bl,0xC
00401598 . 50 push eax
00401599 . 52 push edx
0040159A . 885C24 54 mov byte ptr ss:[esp+0x54],bl
0040159E . E8 09960100 call NEW_CM.0041ABAC ; str2=str2+id.Mid(4,3)
004015A3 . 50 push eax
004015A4 . 8D4C24 1C lea ecx,dword ptr ss:[esp+0x1C]
004015A8 . C64424 4C 0D mov byte ptr ss:[esp+0x4C],0xD
004015AD . E8 04950100 call NEW_CM.0041AAB6
004015B2 . 8D4C24 38 lea ecx,dword ptr ss:[esp+0x38]
004015B6 . 885C24 48 mov byte ptr ss:[esp+0x48],bl
004015BA . E8 BE930100 call NEW_CM.0041A97D
004015BF . 8D4C24 34 lea ecx,dword ptr ss:[esp+0x34]
004015C3 . C64424 48 0B mov byte ptr ss:[esp+0x48],0xB
004015C8 . E8 B0930100 call NEW_CM.0041A97D
004015CD . 8D4C24 2C lea ecx,dword ptr ss:[esp+0x2C]
004015D1 . C64424 48 0A mov byte ptr ss:[esp+0x48],0xA
004015D6 . E8 A2930100 call NEW_CM.0041A97D
004015DB . 8D4C24 28 lea ecx,dword ptr ss:[esp+0x28]
004015DF . C64424 48 09 mov byte ptr ss:[esp+0x48],0x9
004015E4 . E8 94930100 call NEW_CM.0041A97D
004015E9 . 8D4C24 24 lea ecx,dword ptr ss:[esp+0x24]
004015ED . C64424 48 03 mov byte ptr ss:[esp+0x48],0x3
004015F2 . E8 86930100 call NEW_CM.0041A97D
004015F7 . 8B4424 1C mov eax,dword ptr ss:[esp+0x1C] ; 读取str1
004015FB . 50 push eax
004015FC . E8 B0800000 call NEW_CM.004096B1 ; x=atoi(str1)
00401601 . 35 4C222806 xor eax,0x628224C ; x xor103293516
00401606 . 8D4C24 18 lea ecx,dword ptr ss:[esp+0x18]
0040160A . 50 push eax
0040160B . 68 D8E04200 push NEW_CM.0042E0D8 ; 将x转化成字符串型xs
00401610 . 51 push ecx
00401611 . E8 BF730100 call NEW_CM.004189D5
00401616 . 8B5424 28 mov edx,dword ptr ss:[esp+0x28] ; 读取str2
0040161A . 52 push edx
0040161B . E8 91800000 call NEW_CM.004096B1 ; y=atoi(str2)
00401620 . 35 197EEB22 xor eax,0x22EB7E19 ; y xor 585858585
00401625 . 50 push eax
00401626 . 8D4424 28 lea eax,dword ptr ss:[esp+0x28]
0040162A . 68 D8E04200 push NEW_CM.0042E0D8 ; 将y转化成字符串型ys
0040162F . 50 push eax
00401630 . E8 A0730100 call NEW_CM.004189D5
00401635 . 83C4 20 add esp,0x20
00401638 . 8D4C24 10 lea ecx,dword ptr ss:[esp+0x10] ; str1
0040163C . 8D5424 14 lea edx,dword ptr ss:[esp+0x14]
00401640 . 8D4424 34 lea eax,dword ptr ss:[esp+0x34]
00401644 . 51 push ecx
00401645 . 52 push edx
00401646 . 50 push eax
00401647 . E8 60950100 call NEW_CM.0041ABAC ; xs+ys
0040164C . 8B00 mov eax,dword ptr ds:[eax]
0040164E . 8B7424 14 mov esi,dword ptr ss:[esp+0x14] ; xs
00401652 . 8B7C24 10 mov edi,dword ptr ss:[esp+0x10] ; ys
00401656 . 50 push eax
00401657 . E8 60800000 call NEW_CM.004096BC
0040165C . 894424 3C mov dword ptr ss:[esp+0x3C],eax
00401660 . 895424 40 mov dword ptr ss:[esp+0x40],edx
00401664 . DF6C24 3C fild qword ptr ss:[esp+0x3C]
00401668 . 57 push edi
00401669 . DD5C24 34 fstp qword ptr ss:[esp+0x34] ; 浮点化(xs+ys)
0040166D . E8 3F800000 call NEW_CM.004096B1
00401672 . 56 push esi
00401673 . 8BF8 mov edi,eax
00401675 . E8 37800000 call NEW_CM.004096B1
0040167A . 83C4 0C add esp,0xC
0040167D . 03F8 add edi,eax
0040167F . 897C24 38 mov dword ptr ss:[esp+0x38],edi
00401683 . DB4424 38 fild dword ptr ss:[esp+0x38]
00401687 . DD05 08574200 fld qword ptr ds:[0x425708]
0040168D . E8 3E810000 call NEW_CM.004097D0 ; (x+y)^2
00401692 . DC5C24 2C fcomp qword ptr ss:[esp+0x2C] ; xs+ys与(x+y)^2是否相等
00401696 . 5D pop ebp
00401697 . DFE0 fstsw ax
00401699 . F6C4 40 test ah,0x40
0040169C . 74 04 je short NEW_CM.004016A2 ; 关键跳转
源码
UpdateData(TRUE);
{
if(m_id.GetLength()>=9 &&m_sn.GetLength()>=9)
{
temp1=m_id.Mid(0,4)+m_sn.Mid(4,3)+m_id.Mid(7,2);
temp2=m_id.Mid(4,3)+m_sn.Mid(7,2)+m_sn.Mid(0,4);
t1.Format("%d",atoi(temp1)^103293516);
t2.Format("%d",atoi(temp2)^585858585);
if(_atoi64(t1+t2)==pow((atoi(t1)+atoi(t2)),2)) //18位的雷劈数
MessageBox(p1);
else
MessageBox(p2);
}
注册码有哪些呢百度一下:
雷劈数
110888778222110889=(110888778+222110889)^2,
186997808245434624=(186997808+245434624)^2,
322132944245434624=(322132944+245434624)^2,
442475700620940900=(44247570+0620940900)^2,
444889444222110889=(444889444+222110889)^2,
585886298179545801=(585886298+179545801)^2,
752050880792003584=(75205088+0792003584)^2,
826446280826446281=(82644628+0826446281)^2,
999999998000000001=(999999998+000000001)^2,
注册码
id:616867618
sn:131210591
id:11808028-
sn:707259557
id:218974356
sn:765788107