- UID
- 49527
注册时间2008-5-1
阅读权限10
最后登录1970-1-1
周游历练
TA的每日心情 | 开心 2018-3-28 22:57 |
---|
签到天数: 31 天 [LV.5]常住居民I
|
以下是一个软件验算注册码的代码段,请高手们看看是怎么验算的.
0041BC42 . 68 80A64600 push 0046A680
0041BC47 . 64:A1 0000000>mov eax, dword ptr fs:[0]
0041BC4D . 50 push eax
0041BC4E . 83EC 4C sub esp, 4C
0041BC51 . A1 E8B74800 mov eax, dword ptr [48B7E8]
0041BC56 . 33C4 xor eax, esp
0041BC58 . 894424 48 mov dword ptr [esp+48], eax
0041BC5C . 56 push esi
0041BC5D . 57 push edi
0041BC5E . A1 E8B74800 mov eax, dword ptr [48B7E8]
0041BC63 . 33C4 xor eax, esp
0041BC65 . 50 push eax
0041BC66 . 8D4424 58 lea eax, dword ptr [esp+58]
0041BC6A . 64:A3 0000000>mov dword ptr fs:[0], eax
0041BC70 . 8B3D 7CC54600 mov edi, dword ptr [<&USER32.GetDlgI>; USER32.GetDlgItemTextA
0041BC76 . 6A 04 push 4 ; /Count = 4
0041BC78 . 8D4424 20 lea eax, dword ptr [esp+20] ; |
0041BC7C . 50 push eax ; |Buffer
0041BC7D . 8BF1 mov esi, ecx ; |
0041BC7F . 8B4E 20 mov ecx, dword ptr [esi+20] ; |
0041BC82 . 68 EA030000 push 3EA ; |ControlID = 3EA (1002.)
0041BC87 . 51 push ecx ; |hWnd
0041BC88 . FFD7 call edi ; \GetDlgItemTextA
0041BC8A . 8B46 20 mov eax, dword ptr [esi+20]
0041BC8D . 6A 09 push 9 ; /Count = 9
0041BC8F . 8D5424 4C lea edx, dword ptr [esp+4C] ; |
0041BC93 . 52 push edx ; |Buffer
0041BC94 . 68 EB030000 push 3EB ; |ControlID = 3EB (1003.)
0041BC99 . 50 push eax ; |hWnd
0041BC9A . FFD7 call edi ; \GetDlgItemTextA
0041BC9C . 8D4C24 20 lea ecx, dword ptr [esp+20]
0041BCA0 . 51 push ecx
0041BCA1 . 8D4C24 20 lea ecx, dword ptr [esp+20]
0041BCA5 . E8 F6F2FFFF call 0041AFA0
0041BCAA . 8D5424 48 lea edx, dword ptr [esp+48]
0041BCAE . 52 push edx
0041BCAF . 8D4C24 14 lea ecx, dword ptr [esp+14]
0041BCB3 . 51 push ecx
0041BCB4 . 8BC8 mov ecx, eax
0041BCB6 . C74424 68 000>mov dword ptr [esp+68], 0
0041BCBE . E8 FD040000 call 0041C1C0
0041BCC3 . 83C4 08 add esp, 8
0041BCC6 . C64424 60 02 mov byte ptr [esp+60], 2
0041BCCB . 8B4424 20 mov eax, dword ptr [esp+20]
0041BCCF . 83C0 F0 add eax, -10
0041BCD2 . 8D50 0C lea edx, dword ptr [eax+C]
0041BCD5 . 83C9 FF or ecx, FFFFFFFF
0041BCD8 . F0:0FC10A lock xadd dword ptr [edx], ecx
0041BCDC . 49 dec ecx
0041BCDD . 85C9 test ecx, ecx
0041BCDF . 7F 0A jg short 0041BCEB
0041BCE1 . 8B08 mov ecx, dword ptr [eax]
0041BCE3 . 8B11 mov edx, dword ptr [ecx]
0041BCE5 . 50 push eax
0041BCE6 . 8B42 04 mov eax, dword ptr [edx+4]
0041BCE9 . FFD0 call eax
0041BCEB > 8B56 20 mov edx, dword ptr [esi+20]
0041BCEE . 6A 06 push 6
0041BCF0 . 8D4C24 2C lea ecx, dword ptr [esp+2C]
0041BCF4 . 51 push ecx
0041BCF5 . 68 F6030000 push 3F6
0041BCFA . 52 push edx
0041BCFB . FFD7 call edi
0041BCFD . 8B4E 20 mov ecx, dword ptr [esi+20]
0041BD00 . 6A 06 push 6
0041BD02 . 8D4424 44 lea eax, dword ptr [esp+44]
0041BD06 . 50 push eax
0041BD07 . 68 FA030000 push 3FA
0041BD0C . 51 push ecx
0041BD0D . FFD7 call edi
0041BD0F . 8B46 20 mov eax, dword ptr [esi+20]
0041BD12 . 6A 06 push 6
0041BD14 . 8D5424 34 lea edx, dword ptr [esp+34]
0041BD18 . 52 push edx
0041BD19 . 68 FB030000 push 3FB
0041BD1E . 50 push eax
0041BD1F . FFD7 call edi
0041BD21 . 8B56 20 mov edx, dword ptr [esi+20]
0041BD24 . 6A 06 push 6
0041BD26 . 8D4C24 3C lea ecx, dword ptr [esp+3C]
0041BD2A . 51 push ecx
0041BD2B . 68 FC030000 push 3FC
0041BD30 . 52 push edx
0041BD31 . FFD7 call edi
0041BD33 . 8D4424 24 lea eax, dword ptr [esp+24]
0041BD37 . 50 push eax
0041BD38 . 8D4C24 2C lea ecx, dword ptr [esp+2C]
0041BD3C . E8 5FF2FFFF call 0041AFA0
0041BD41 . 8D4C24 40 lea ecx, dword ptr [esp+40]
0041BD45 . 51 push ecx
0041BD46 . 8D5424 18 lea edx, dword ptr [esp+18]
0041BD4A . 52 push edx
0041BD4B . 8BC8 mov ecx, eax
0041BD4D . C64424 68 03 mov byte ptr [esp+68], 3
0041BD52 . E8 69040000 call 0041C1C0
0041BD57 . 8D4C24 38 lea ecx, dword ptr [esp+38]
0041BD5B . 51 push ecx
0041BD5C . 8D5424 24 lea edx, dword ptr [esp+24]
0041BD60 . 52 push edx
0041BD61 . 8BC8 mov ecx, eax
0041BD63 . C64424 70 04 mov byte ptr [esp+70], 4
0041BD68 . E8 53040000 call 0041C1C0
0041BD6D . 8D4C24 48 lea ecx, dword ptr [esp+48]
0041BD71 . 51 push ecx
0041BD72 . 8D5424 20 lea edx, dword ptr [esp+20]
0041BD76 . 52 push edx
0041BD77 . 8BC8 mov ecx, eax
0041BD79 . C64424 78 05 mov byte ptr [esp+78], 5
0041BD7E . E8 3D040000 call 0041C1C0
0041BD83 . 83C4 18 add esp, 18
0041BD86 . C64424 60 07 mov byte ptr [esp+60], 7
0041BD8B . 8B4424 18 mov eax, dword ptr [esp+18]
0041BD8F . 83C0 F0 add eax, -10
0041BD92 . 8D48 0C lea ecx, dword ptr [eax+C]
0041BD95 . 83CA FF or edx, FFFFFFFF
0041BD98 . F0:0FC111 lock xadd dword ptr [ecx], edx
0041BD9C . 4A dec edx
0041BD9D . 85D2 test edx, edx
0041BD9F . 7F 0A jg short 0041BDAB
0041BDA1 . 8B08 mov ecx, dword ptr [eax]
0041BDA3 . 8B11 mov edx, dword ptr [ecx]
0041BDA5 . 50 push eax
0041BDA6 . 8B42 04 mov eax, dword ptr [edx+4]
0041BDA9 . FFD0 call eax
0041BDAB > C64424 60 08 mov byte ptr [esp+60], 8
0041BDB0 . 8B4424 14 mov eax, dword ptr [esp+14]
0041BDB4 . 83C0 F0 add eax, -10
0041BDB7 . 8D48 0C lea ecx, dword ptr [eax+C]
0041BDBA . 83CA FF or edx, FFFFFFFF
0041BDBD . F0:0FC111 lock xadd dword ptr [ecx], edx
0041BDC1 . 4A dec edx
0041BDC2 . 85D2 test edx, edx
0041BDC4 . 7F 0A jg short 0041BDD0
0041BDC6 . 8B08 mov ecx, dword ptr [eax]
0041BDC8 . 8B11 mov edx, dword ptr [ecx]
0041BDCA . 50 push eax
0041BDCB . 8B42 04 mov eax, dword ptr [edx+4]
0041BDCE . FFD0 call eax
0041BDD0 > C64424 60 09 mov byte ptr [esp+60], 9
0041BDD5 . 8B4424 24 mov eax, dword ptr [esp+24]
0041BDD9 . 83C0 F0 add eax, -10
0041BDDC . 8D48 0C lea ecx, dword ptr [eax+C]
0041BDDF . 83CA FF or edx, FFFFFFFF
0041BDE2 . F0:0FC111 lock xadd dword ptr [ecx], edx
0041BDE6 . 4A dec edx
0041BDE7 . 85D2 test edx, edx
0041BDE9 7F 0A jg short 0041BDF5
0041BDEB . 8B08 mov ecx, dword ptr [eax]
0041BDED . 8B11 mov edx, dword ptr [ecx]
0041BDEF . 50 push eax
0041BDF0 . 8B42 04 mov eax, dword ptr [edx+4]
0041BDF3 . FFD0 call eax
0041BDF5 68 60D24700 push 0047D260 ; ASCII "ArmAccess.DLL"
0041BDFA FF15 40C34600 call dword ptr [<&KERNEL32.LoadLibrar>; kernel32.LoadLibraryA
0041BE00 85C0 test eax, eax
0041BE02 74 6A je short 0041BE6E ; 跳向失败1
0041BE04 68 98D24700 push 0047D298 ; ASCII "InstallKey"
0041BE09 50 push eax
0041BE0A FF15 A0C34600 call dword ptr [<&KERNEL32.GetProcAdd>; kernel32.GetProcAddress
0041BE10 8BF8 mov edi, eax
0041BE12 85FF test edi, edi
0041BE14 74 58 je short 0041BE6E ; 跳向失败2
0041BE16 . 8B4C24 10 mov ecx, dword ptr [esp+10]
0041BE1A . E8 61EAFFFF call 0041A880
0041BE1F . 85C0 test eax, eax
0041BE21 74 4B je short 0041BE6E ; 跳向失败3
0041BE23 . 8B4C24 0C mov ecx, dword ptr [esp+C]
0041BE27 . E8 74EBFFFF call 0041A9A0
0041BE2C . 85C0 test eax, eax
0041BE2E 74 3E je short 0041BE6E ; 跳向失败4
0041BE30 . 8D4424 10 lea eax, dword ptr [esp+10]
0041BE34 . E8 E7E9FFFF call 0041A820
0041BE39 . 8D4424 0C lea eax, dword ptr [esp+C]
0041BE3D . E8 FEEAFFFF call 0041A940
0041BE42 . 8B4C24 0C mov ecx, dword ptr [esp+C]
0041BE46 . 8B5424 10 mov edx, dword ptr [esp+10]
0041BE4A . 51 push ecx
0041BE4B . 52 push edx
0041BE4C . FFD7 call edi
0041BE4E . 0FB6C0 movzx eax, al
0041BE51 . 85C0 test eax, eax
0041BE53 74 19 je short 0041BE6E ; 跳向失败5
0041BE55 . 6A 00 push 0
0041BE57 . 6A 40 push 40
0041BE59 . 68 78D54700 push 0047D578 ; 注册成功
0041BE5E . E8 399A0100 call 0043589C
0041BE63 . 6A 01 push 1
0041BE65 . 8BCE mov ecx, esi
0041BE67 . E8 FA640100 call 00432366
0041BE6C . EB 0E jmp short 0041BE7C
0041BE6E > 6A 00 push 0 ; 注册激活失败
0041BE70 . 6A 30 push 30
0041BE72 . 68 A8D54700 push 0047D5A8
0041BE77 . E8 209A0100 call 0043589C
0041BE7C > C64424 60 02 mov byte ptr [esp+60], 2
0041BE81 . 8B4424 0C mov eax, dword ptr [esp+C]
0041BE85 . 83C0 F0 add eax, -10
0041BE88 . 8D48 0C lea ecx, dword ptr [eax+C]
0041BE8B . 83CA FF or edx, FFFFFFFF
0041BE8E . F0:0FC111 lock xadd dword ptr [ecx], edx
0041BE92 . 4A dec edx
0041BE93 . 85D2 test edx, edx
0041BE95 . 7F 0A jg short 0041BEA1
0041BE97 . 8B08 mov ecx, dword ptr [eax]
0041BE99 . 8B11 mov edx, dword ptr [ecx]
0041BE9B . 50 push eax
0041BE9C . 8B42 04 mov eax, dword ptr [edx+4]
0041BE9F . FFD0 call eax
0041BEA1 > C74424 60 FFF>mov dword ptr [esp+60], -1
0041BEA9 . 8B4424 10 mov eax, dword ptr [esp+10]
0041BEAD . 83C0 F0 add eax, -10
0041BEB0 . 8D48 0C lea ecx, dword ptr [eax+C]
0041BEB3 . 83CA FF or edx, FFFFFFFF
0041BEB6 . F0:0FC111 lock xadd dword ptr [ecx], edx
0041BEBA . 4A dec edx
0041BEBB . 85D2 test edx, edx
0041BEBD . 7F 0A jg short 0041BEC9
0041BEBF . 8B08 mov ecx, dword ptr [eax]
0041BEC1 . 8B11 mov edx, dword ptr [ecx]
0041BEC3 . 50 push eax
0041BEC4 . 8B42 04 mov eax, dword ptr [edx+4]
0041BEC7 . FFD0 call eax
0041BEC9 > 8B4C24 58 mov ecx, dword ptr [esp+58]
0041BECD . 64:890D 00000>mov dword ptr fs:[0], ecx
0041BED4 . 59 pop ecx
0041BED5 . 5F pop edi
0041BED6 . 5E pop esi
0041BED7 . 8B4C24 48 mov ecx, dword ptr [esp+48]
0041BEDB . 33CC xor ecx, esp
0041BEDD . E8 C5340300 call 0044F3A7
0041BEE2 . 83C4 58 add esp, 58
0041BEE5 . C3 retn
用以上的代码能否写出算法注册机?谢谢! |
|