机动车驾驶员理论复习及模拟考试系统 破解过程
日期:2005年3月5日 破解人:Baby2008
―――――――――――――――――――――――――――――――――――――――――――
【软件名称】:机动车驾驶员理论复习及模拟考试系统
【软件大小】:10M
【下载地址】:http://www.jiabosoft.com
【软件简介】:
【软件限制】:未注册不能进入系统
【破解声明】:初学Crack,只是感兴趣,没有其它目的。失误之处敬请诸位大侠赐教!
【破解工具】:OLLYDBG 1.1 ,PEID0.92,DeDe
―――――――――――――――――――――――――――――――――――――――――――
【破解过程】:
先用PEID 0.92汉化增强版查壳,无壳,Delphi4.0-5.0
delphi程序,先用Dede处理,输出map文件
用od打开目标程序:jdcks.exe ,用mapconv插件引入Dede输出的map文件,替换标签及插件。然后查找字符,可以找到“确认要注册”字样,双击来到cpu窗口,向上翻看可以找到这里:以下就是具体算法
0049B119 . BA 60B44900 mov edx,JDCKS.0049B460
0049B11E <> . E8 6D53F9FF call JDCKS.00430490 ; ->controls.TControl.SetText(TControl;TCaption);
0049B123 . A1 58084A00 mov eax,dword ptr ds:[4A0858]
0049B128 . 8B00 mov eax,dword ptr ds:[eax]
0049B12A <> . 8B80 EC020000 mov eax,dword ptr ds:[eax+2EC] ; *TForm3.Label2:TLabel
0049B130 . BA 54B44900 mov edx,JDCKS.0049B454
0049B135 <> . E8 5653F9FF call JDCKS.00430490 ; ->controls.TControl.SetText(TControl;TCaption);
0049B13A . A1 58084A00 mov eax,dword ptr ds:[4A0858]
0049B13F . 8B00 mov eax,dword ptr ds:[eax]
0049B141 <> . 8B80 F0020000 mov eax,dword ptr ds:[eax+2F0] ; *TForm3.Label3:TLabel
0049B147 . BA 80B44900 mov edx,JDCKS.0049B480
0049B14C <> . E8 3F53F9FF call JDCKS.00430490 ; ->controls.TControl.SetText(TControl;TCaption);
0049B151 . A1 58084A00 mov eax,dword ptr ds:[4A0858]
0049B156 . 8B00 mov eax,dword ptr ds:[eax]
0049B158 . 8B10 mov edx,dword ptr ds:[eax]
0049B15A <> . FF92 D8000000 call dword ptr ds:[edx+D8] ; ->TForm3.ShowModal()
0049B160 . 48 dec eax
0049B161 . 0F85 81020000 jnz JDCKS.0049B3E8
0049B167 . 8B45 FC mov eax,dword ptr ss:[ebp-4] ; 确定要注册
0049B16A <> . E8 C9F5FFFF call <JDCKS.<-TForm10@jy> ; 注册关键
0049B16F . 8945 F8 mov dword ptr ss:[ebp-8],eax
0049B172 . 8B45 FC mov eax,dword ptr ss:[ebp-4]
0049B175 . FF80 F4020000 inc dword ptr ds:[eax+2F4]
0049B17B . 68 8CB44900 push JDCKS.0049B48C ; ASCII "SELECT * FROM ""
:
0049B16A <> . E8 C9F5FFFF call <JDCKS.<-TForm10@jy> 函数
---------------------------------------------
0049A738 <>/$ 55 push ebp ; <-TForm10@jy
0049A739 |. 8BEC mov ebp,esp
0049A73B |. B9 29000000 mov ecx,29
0049A740 |> 6A 00 /push 0
0049A742 |. 6A 00 |push 0
0049A744 |. 49 |dec ecx
0049A745 |.^ 75 F9 \jnz short JDCKS.0049A740
0049A747 |. 51 push ecx
0049A748 |. 53 push ebx
0049A749 |. 56 push esi
0049A74A |. 8BD8 mov ebx,eax
0049A74C |. B9 10000000 mov ecx,10
0049A751 |. 8D45 B4 lea eax,dword ptr ss:[ebp-4C]
0049A754 |. 8B15 D0104000 mov edx,dword ptr ds:[4010D0] ; JDCKS.004010D4
0049A75A <>|. E8 619CF6FF call JDCKS.004043C0 ; ->system.@InitializeArray;
0049A75F |. B9 10000000 mov ecx,10
0049A764 |. 8D85 74FFFFFF lea eax,dword ptr ss:[ebp-8C]
0049A76A |. 8B15 D0104000 mov edx,dword ptr ds:[4010D0] ; JDCKS.004010D4
0049A770 <>|. E8 4B9CF6FF call JDCKS.004043C0 ; ->system.@InitializeArray;
0049A775 |. 33C0 xor eax,eax
0049A777 |. 55 push ebp
0049A778 |. 68 20B04900 push <JDCKS.->system.@HandleFinally;>
0049A77D |. 64:FF30 push dword ptr fs:[eax]
0049A780 |. 64:8920 mov dword ptr fs:[eax],esp
0049A783 |. 8D55 F8 lea edx,dword ptr ss:[ebp-8]
0049A786 <>|. 8B83 E0020000 mov eax,dword ptr ds:[ebx+2E0] ; *TForm10.StaticText1:TStaticText
0049A78C <>|. E8 CF5CF9FF call JDCKS.00430460 ; ->controls.TControl.GetText(TControl):TCaption;
0049A791 |. 8D55 F4 lea edx,dword ptr ss:[ebp-C]
0049A794 <>|. 8B83 E4020000 mov eax,dword ptr ds:[ebx+2E4] ; *TForm10.Edit2:TEdit
0049A79A <>|. E8 C15CF9FF call JDCKS.00430460 ; ->controls.TControl.GetText(TControl):TCaption;
0049A79F |. 8D85 6CFFFFFF lea eax,dword ptr ss:[ebp-94]
0049A7A5 |. 50 push eax
0049A7A6 |. B9 01000000 mov ecx,1
0049A7AB |. BA 01000000 mov edx,1
0049A7B0 |. 8B45 F8 mov eax,dword ptr ss:[ebp-8] ; 机器码
0049A7B3 <>|. E8 6898F6FF call JDCKS.00404020 ; ->system.@LStrCopy;
0049A7B8 |. 8B85 6CFFFFFF mov eax,dword ptr ss:[ebp-94] ; Ascii
0049A7BE <>|. E8 DDE7F6FF call JDCKS.00408FA0 ; ->Unit_00407E74.Proc_00408FA0
0049A7C3 |. 8BD8 mov ebx,eax
0049A7C5 |. 8D85 68FFFFFF lea eax,dword ptr ss:[ebp-98]
0049A7CB |. 50 push eax
0049A7CC |. B9 01000000 mov ecx,1
0049A7D1 |. BA 01000000 mov edx,1
0049A7D6 |. 8B45 F8 mov eax,dword ptr ss:[ebp-8]
0049A7D9 <>|. E8 4298F6FF call JDCKS.00404020 ; ->system.@LStrCopy;
0049A7DE |. 8B85 68FFFFFF mov eax,dword ptr ss:[ebp-98]
0049A7E4 <>|. E8 B7E7F6FF call JDCKS.00408FA0 ; ->Unit_00407E74.Proc_00408FA0
0049A7E9 |. 0FAFD8 imul ebx,eax
0049A7EC |. 8BC3 mov eax,ebx
0049A7EE |. 83C0 0C add eax,0C
0049A7F1 |. B9 0A000000 mov ecx,0A
0049A7F6 |. 99 cdq
0049A7F7 |. F7F9 idiv ecx
0049A7F9 |. 8BC2 mov eax,edx
0049A7FB |. 8D95 70FFFFFF lea edx,dword ptr ss:[ebp-90]
0049A801 <>|. E8 6AE7F6FF call JDCKS.00408F70 ; ->Unit_00407E74.Proc_00408F70
0049A806 |. 8B95 70FFFFFF mov edx,dword ptr ss:[ebp-90]
0049A80C |. 8D45 B4 lea eax,dword ptr ss:[ebp-4C]
0049A80F <>|. E8 1C94F6FF call JDCKS.00403C30 ; ->system.@LStrLAsg;
0049A814 |. 8D85 60FFFFFF lea eax,dword ptr ss:[ebp-A0]
0049A81A |. 50 push eax
0049A81B |. B9 01000000 mov ecx,1
0049A820 |. BA 02000000 mov edx,2
0049A825 |. 8B45 F8 mov eax,dword ptr ss:[ebp-8]
0049A828 <>|. E8 F397F6FF call JDCKS.00404020 ; ->system.@LStrCopy;
0049A82D |. 8B85 60FFFFFF mov eax,dword ptr ss:[ebp-A0]
0049A833 <>|. E8 68E7F6FF call JDCKS.00408FA0 ; ->Unit_00407E74.Proc_00408FA0
0049A838 |. 8BD8 mov ebx,eax
0049A83A |. 8D85 5CFFFFFF lea eax,dword ptr ss:[ebp-A4]
0049A840 |. 50 push eax
0049A841 |. B9 01000000 mov ecx,1
0049A846 |. BA 02000000 mov edx,2
0049A84B |. 8B45 F8 mov eax,dword ptr ss:[ebp-8]
0049A84E <>|. E8 CD97F6FF call JDCKS.00404020 ; ->system.@LStrCopy;
0049A853 |. 8B85 5CFFFFFF mov eax,dword ptr ss:[ebp-A4]
0049A859 <>|. E8 42E7F6FF call JDCKS.00408FA0 ; ->Unit_00407E74.Proc_00408FA0
0049A85E |. 0FAFD8 imul ebx,eax
0049A861 |. 8BC3 mov eax,ebx
0049A863 |. 83C0 0A add eax,0A
0049A866 |. B9 0A000000 mov ecx,0A
0049A86B |. 99 cdq
0049A86C |. F7F9 idiv ecx
0049A86E |. 8BC2 mov eax,edx
0049A870 |. 8D95 64FFFFFF lea edx,dword ptr ss:[ebp-9C]
0049A876 <>|. E8 F5E6F6FF call JDCKS.00408F70 ; ->Unit_00407E74.Proc_00408F70
0049A87B |. 8B95 64FFFFFF mov edx,dword ptr ss:[ebp-9C]
0049A881 |. 8D45 B8 lea eax,dword ptr ss:[ebp-48]
0049A884 <>|. E8 A793F6FF call JDCKS.00403C30 ; ->system.@LStrLAsg;
0049A889 |. 8D85 54FFFFFF lea eax,dword ptr ss:[ebp-AC]
0049A88F |. 50 push eax
0049A890 |. B9 01000000 mov ecx,1
0049A895 |. BA 03000000 mov edx,3
0049A89A |. 8B45 F8 mov eax,dword ptr ss:[ebp-8]
0049A89D <>|. E8 7E97F6FF call JDCKS.00404020 ; ->system.@LStrCopy;
0049A8A2 |. 8B85 54FFFFFF mov eax,dword ptr ss:[ebp-AC]
0049A8A8 <>|. E8 F3E6F6FF call JDCKS.00408FA0 ; ->Unit_00407E74.Proc_00408FA0
0049A8AD |. 8BD8 mov ebx,eax
0049A8AF |. 8D85 50FFFFFF lea eax,dword ptr ss:[ebp-B0]
0049A8B5 |. 50 push eax
0049A8B6 |. B9 01000000 mov ecx,1
0049A8BB |. BA 03000000 mov edx,3
0049A8C0 |. 8B45 F8 mov eax,dword ptr ss:[ebp-8]
0049A8C3 <>|. E8 5897F6FF call JDCKS.00404020 ; ->system.@LStrCopy;
0049A8C8 |. 8B85 50FFFFFF mov eax,dword ptr ss:[ebp-B0]
0049A8CE <>|. E8 CDE6F6FF call JDCKS.00408FA0 ; ->Unit_00407E74.Proc_00408FA0
0049A8D3 |. 0FAFD8 imul ebx,eax
0049A8D6 |. 8BC3 mov eax,ebx
0049A8D8 |. 83C0 04 add eax,4
0049A8DB |. B9 0A000000 mov ecx,0A
0049A8E0 |. 99 cdq
0049A8E1 |. F7F9 idiv ecx
0049A8E3 |. 8BC2 mov eax,edx
0049A8E5 |. 8D95 58FFFFFF lea edx,dword ptr ss:[ebp-A8]
0049A8EB <>|. E8 80E6F6FF call JDCKS.00408F70 ; ->Unit_00407E74.Proc_00408F70
0049A8F0 |. 8B95 58FFFFFF mov edx,dword ptr ss:[ebp-A8]
0049A8F6 |. 8D45 BC lea eax,dword ptr ss:[ebp-44]
0049A8F9 <>|. E8 3293F6FF call JDCKS.00403C30 ; ->system.@LStrLAsg;
0049A8FE |. 8D85 48FFFFFF lea eax,dword ptr ss:[ebp-B8]
0049A904 |. 50 push eax
0049A905 |. B9 01000000 mov ecx,1
0049A90A |. BA 04000000 mov edx,4
0049A90F |. 8B45 F8 mov eax,dword ptr ss:[ebp-8]
0049A912 <>|. E8 0997F6FF call JDCKS.00404020 ; ->system.@LStrCopy;
0049A917 |. 8B85 48FFFFFF mov eax,dword ptr ss:[ebp-B8]
0049A91D <>|. E8 7EE6F6FF call JDCKS.00408FA0 ; ->Unit_00407E74.Proc_00408FA0
0049A922 |. 8BD8 mov ebx,eax
0049A924 |. 8D85 44FFFFFF lea eax,dword ptr ss:[ebp-BC]
0049A92A |. 50 push eax
0049A92B |. B9 01000000 mov ecx,1
0049A930 |. BA 04000000 mov edx,4
0049A935 |. 8B45 F8 mov eax,dword ptr ss:[ebp-8]
0049A938 <>|. E8 E396F6FF call JDCKS.00404020 ; ->system.@LStrCopy;
0049A93D |. 8B85 44FFFFFF mov eax,dword ptr ss:[ebp-BC]
0049A943 <>|. E8 58E6F6FF call JDCKS.00408FA0 ; ->Unit_00407E74.Proc_00408FA0
0049A948 |. 0FAFD8 imul ebx,eax
0049A94B |. 8BC3 mov eax,ebx
0049A94D |. 83C0 0B add eax,0B
0049A950 |. B9 0A000000 mov ecx,0A
0049A955 |. 99 cdq
0049A956 |. F7F9 idiv ecx
0049A958 |. 8BC2 mov eax,edx
0049A95A |. 8D95 4CFFFFFF lea edx,dword ptr ss:[ebp-B4]
0049A960 <>|. E8 0BE6F6FF call JDCKS.00408F70 ; ->Unit_00407E74.Proc_00408F70
0049A965 |. 8B95 4CFFFFFF mov edx,dword ptr ss:[ebp-B4]
0049A96B |. 8D45 C0 lea eax,dword ptr ss:[ebp-40]
0049A96E <>|. E8 BD92F6FF call JDCKS.00403C30 ; ->system.@LStrLAsg;
0049A973 |. 8D85 3CFFFFFF lea eax,dword ptr ss:[ebp-C4]
0049A979 |. 50 push eax
0049A97A |. B9 01000000 mov ecx,1
0049A97F |. BA 05000000 mov edx,5
0049A984 |. 8B45 F8 mov eax,dword ptr ss:[ebp-8]
0049A987 <>|. E8 9496F6FF call JDCKS.00404020 ; ->system.@LStrCopy;
0049A98C |. 8B85 3CFFFFFF mov eax,dword ptr ss:[ebp-C4]
0049A992 <>|. E8 09E6F6FF call JDCKS.00408FA0 ; ->Unit_00407E74.Proc_00408FA0
0049A997 |. 8BD8 mov ebx,eax
0049A999 |. 8D85 38FFFFFF lea eax,dword ptr ss:[ebp-C8]
0049A99F |. 50 push eax
0049A9A0 |. B9 01000000 mov ecx,1
0049A9A5 |. BA 05000000 mov edx,5
0049A9AA |. 8B45 F8 mov eax,dword ptr ss:[ebp-8]
0049A9AD <>|. E8 6E96F6FF call JDCKS.00404020 ; ->system.@LStrCopy;
0049A9B2 |. 8B85 38FFFFFF mov eax,dword ptr ss:[ebp-C8]
0049A9B8 <>|. E8 E3E5F6FF call JDCKS.00408FA0 ; ->Unit_00407E74.Proc_00408FA0
0049A9BD |. 0FAFD8 imul ebx,eax
0049A9C0 |. 8BC3 mov eax,ebx
0049A9C2 |. 83C0 03 add eax,3
0049A9C5 |. B9 0A000000 mov ecx,0A
0049A9CA |. 99 cdq
0049A9CB |. F7F9 idiv ecx
0049A9CD |. 8BC2 mov eax,edx
0049A9CF |. 8D95 40FFFFFF lea edx,dword ptr ss:[ebp-C0]
0049A9D5 <>|. E8 96E5F6FF call JDCKS.00408F70 ; ->Unit_00407E74.Proc_00408F70
0049A9DA |. 8B95 40FFFFFF mov edx,dword ptr ss:[ebp-C0]
0049A9E0 |. 8D45 C4 lea eax,dword ptr ss:[ebp-3C]
0049A9E3 <>|. E8 4892F6FF call JDCKS.00403C30 ; ->system.@LStrLAsg;
0049A9E8 |. 8D85 30FFFFFF lea eax,dword ptr ss:[ebp-D0]
0049A9EE |. 50 push eax
0049A9EF |. B9 01000000 mov ecx,1
0049A9F4 |. BA 06000000 mov edx,6
0049A9F9 |. 8B45 F8 mov eax,dword ptr ss:[ebp-8]
0049A9FC <>|. E8 1F96F6FF call JDCKS.00404020 ; ->system.@LStrCopy;
0049AA01 |. 8B85 30FFFFFF mov eax,dword ptr ss:[ebp-D0]
0049AA07 <>|. E8 94E5F6FF call JDCKS.00408FA0 ; ->Unit_00407E74.Proc_00408FA0
0049AA0C |. 8BD8 mov ebx,eax
0049AA0E |. 8D85 2CFFFFFF lea eax,dword ptr ss:[ebp-D4]
0049AA14 |. 50 push eax
0049AA15 |. B9 01000000 mov ecx,1
0049AA1A |. BA 06000000 mov edx,6
0049AA1F |. 8B45 F8 mov eax,dword ptr ss:[ebp-8]
0049AA22 <>|. E8 F995F6FF call JDCKS.00404020 ; ->system.@LStrCopy;
0049AA27 |. 8B85 2CFFFFFF mov eax,dword ptr ss:[ebp-D4]
0049AA2D <>|. E8 6EE5F6FF call JDCKS.00408FA0 ; ->Unit_00407E74.Proc_00408FA0
0049AA32 |. 0FAFD8 imul ebx,eax
0049AA35 |. 8BC3 mov eax,ebx
0049AA37 |. 83C0 05 add eax,5
0049AA3A |. B9 0A000000 mov ecx,0A
0049AA3F |. 99 cdq
0049AA40 |. F7F9 idiv ecx
0049AA42 |. 8BC2 mov eax,edx
0049AA44 |. 8D95 34FFFFFF lea edx,dword ptr ss:[ebp-CC]
0049AA4A <>|. E8 21E5F6FF call JDCKS.00408F70 ; ->Unit_00407E74.Proc_00408F70
0049AA4F |. 8B95 34FFFFFF mov edx,dword ptr ss:[ebp-CC]
0049AA55 |. 8D45 C8 lea eax,dword ptr ss:[ebp-38]
0049AA58 <>|. E8 D391F6FF call JDCKS.00403C30 ; ->system.@LStrLAsg;
0049AA5D |. 8D85 24FFFFFF lea eax,dword ptr ss:[ebp-DC]
0049AA63 |. 50 push eax
0049AA64 |. B9 01000000 mov ecx,1
0049AA69 |. BA 07000000 mov edx,7
0049AA6E |. 8B45 F8 mov eax,dword ptr ss:[ebp-8]
0049AA71 <>|. E8 AA95F6FF call JDCKS.00404020 ; ->system.@LStrCopy;
0049AA76 |. 8B85 24FFFFFF mov eax,dword ptr ss:[ebp-DC]
0049AA7C <>|. E8 1FE5F6FF call JDCKS.00408FA0 ; ->Unit_00407E74.Proc_00408FA0
0049AA81 |. 8BD8 mov ebx,eax
0049AA83 |. 8D85 20FFFFFF lea eax,dword ptr ss:[ebp-E0]
0049AA89 |. 50 push eax
0049AA8A |. B9 01000000 mov ecx,1
0049AA8F |. BA 07000000 mov edx,7
0049AA94 |. 8B45 F8 mov eax,dword ptr ss:[ebp-8]
0049AA97 <>|. E8 8495F6FF call JDCKS.00404020 ; ->system.@LStrCopy;
0049AA9C |. 8B85 20FFFFFF mov eax,dword ptr ss:[ebp-E0]
0049AAA2 <>|. E8 F9E4F6FF call JDCKS.00408FA0 ; ->Unit_00407E74.Proc_00408FA0
0049AAA7 |. 0FAFD8 imul ebx,eax
0049AAAA |. 8BC3 mov eax,ebx
0049AAAC |. 40 inc eax
0049AAAD |. B9 0A000000 mov ecx,0A
0049AAB2 |. 99 cdq
0049AAB3 |. F7F9 idiv ecx
0049AAB5 |. 8BC2 mov eax,edx
0049AAB7 |. 8D95 28FFFFFF lea edx,dword ptr ss:[ebp-D8]
0049AABD <>|. E8 AEE4F6FF call JDCKS.00408F70 ; ->Unit_00407E74.Proc_00408F70
0049AAC2 |. 8B95 28FFFFFF mov edx,dword ptr ss:[ebp-D8]
0049AAC8 |. 8D45 CC lea eax,dword ptr ss:[ebp-34]
0049AACB <>|. E8 6091F6FF call JDCKS.00403C30 ; ->system.@LStrLAsg;
0049AAD0 |. 8D85 18FFFFFF lea eax,dword ptr ss:[ebp-E8]
0049AAD6 |. 50 push eax
0049AAD7 |. B9 01000000 mov ecx,1
0049AADC |. BA 08000000 mov edx,8
0049AAE1 |. 8B45 F8 mov eax,dword ptr ss:[ebp-8]
0049AAE4 <>|. E8 3795F6FF call JDCKS.00404020 ; ->system.@LStrCopy;
0049AAE9 |. 8B85 18FFFFFF mov eax,dword ptr ss:[ebp-E8]
0049AAEF <>|. E8 ACE4F6FF call JDCKS.00408FA0 ; ->Unit_00407E74.Proc_00408FA0
0049AAF4 |. 8BD8 mov ebx,eax
0049AAF6 |. 8D85 14FFFFFF lea eax,dword ptr ss:[ebp-EC]
0049AAFC |. 50 push eax
0049AAFD |. B9 01000000 mov ecx,1
0049AB02 |. BA 08000000 mov edx,8
0049AB07 |. 8B45 F8 mov eax,dword ptr ss:[ebp-8]
0049AB0A <>|. E8 1195F6FF call JDCKS.00404020 ; ->system.@LStrCopy;
0049AB0F |. 8B85 14FFFFFF mov eax,dword ptr ss:[ebp-EC]
0049AB15 <>|. E8 86E4F6FF call JDCKS.00408FA0 ; ->Unit_00407E74.Proc_00408FA0
0049AB1A |. 0FAFD8 imul ebx,eax
0049AB1D |. 8BC3 mov eax,ebx
0049AB1F |. 83C0 0D add eax,0D
0049AB22 |. B9 0A000000 mov ecx,0A
0049AB27 |. 99 cdq
0049AB28 |. F7F9 idiv ecx
0049AB2A |. 8BC2 mov eax,edx
0049AB2C |. 8D95 1CFFFFFF lea edx,dword ptr ss:[ebp-E4]
0049AB32 <>|. E8 39E4F6FF call JDCKS.00408F70 ; ->Unit_00407E74.Proc_00408F70
0049AB37 |. 8B95 1CFFFFFF mov edx,dword ptr ss:[ebp-E4]
0049AB3D |. 8D45 D0 lea eax,dword ptr ss:[ebp-30]
0049AB40 <>|. E8 EB90F6FF call JDCKS.00403C30 ; ->system.@LStrLAsg;
0049AB45 |. 8D85 0CFFFFFF lea eax,dword ptr ss:[ebp-F4]
0049AB4B |. 50 push eax
0049AB4C |. B9 01000000 mov ecx,1
0049AB51 |. BA 09000000 mov edx,9
0049AB56 |. 8B45 F8 mov eax,dword ptr ss:[ebp-8]
0049AB59 <>|. E8 C294F6FF call JDCKS.00404020 ; ->system.@LStrCopy;
0049AB5E |. 8B85 0CFFFFFF mov eax,dword ptr ss:[ebp-F4]
0049AB64 <>|. E8 37E4F6FF call JDCKS.00408FA0 ; ->Unit_00407E74.Proc_00408FA0
0049AB69 |. 8BD8 mov ebx,eax
0049AB6B |. 8D85 08FFFFFF lea eax,dword ptr ss:[ebp-F8]
0049AB71 |. 50 push eax
0049AB72 |. B9 01000000 mov ecx,1
0049AB77 |. BA 09000000 mov edx,9
0049AB7C |. 8B45 F8 mov eax,dword ptr ss:[ebp-8]
0049AB7F <>|. E8 9C94F6FF call JDCKS.00404020 ; ->system.@LStrCopy;
0049AB84 |. 8B85 08FFFFFF mov eax,dword ptr ss:[ebp-F8]
0049AB8A <>|. E8 11E4F6FF call JDCKS.00408FA0 ; ->Unit_00407E74.Proc_00408FA0
0049AB8F |. 0FAFD8 imul ebx,eax
0049AB92 |. 8BC3 mov eax,ebx
0049AB94 |. 83C0 02 add eax,2
0049AB97 |. B9 0A000000 mov ecx,0A
0049AB9C |. 99 cdq
0049AB9D |. F7F9 idiv ecx
0049AB9F |. 8BC2 mov eax,edx
0049ABA1 |. 8D95 10FFFFFF lea edx,dword ptr ss:[ebp-F0]
0049ABA7 <>|. E8 C4E3F6FF call JDCKS.00408F70 ; ->Unit_00407E74.Proc_00408F70
0049ABAC |. 8B95 10FFFFFF mov edx,dword ptr ss:[ebp-F0]
0049ABB2 |. 8D45 D4 lea eax,dword ptr ss:[ebp-2C]
0049ABB5 <>|. E8 7690F6FF call JDCKS.00403C30 ; ->system.@LStrLAsg;
0049ABBA |. 8D85 00FFFFFF lea eax,dword ptr ss:[ebp-100]
0049ABC0 |. 50 push eax
0049ABC1 |. B9 01000000 mov ecx,1
0049ABC6 |. BA 0A000000 mov edx,0A
0049ABCB |. 8B45 F8 mov eax,dword ptr ss:[ebp-8]
0049ABCE <>|. E8 4D94F6FF call JDCKS.00404020 ; ->system.@LStrCopy;
0049ABD3 |. 8B85 00FFFFFF mov eax,dword ptr ss:[ebp-100]
0049ABD9 <>|. E8 C2E3F6FF call JDCKS.00408FA0 ; ->Unit_00407E74.Proc_00408FA0
0049ABDE |. 8BD8 mov ebx,eax
0049ABE0 |. 8D85 FCFEFFFF lea eax,dword ptr ss:[ebp-104]
0049ABE6 |. 50 push eax
0049ABE7 |. B9 01000000 mov ecx,1
0049ABEC |. BA 0A000000 mov edx,0A
0049ABF1 |. 8B45 F8 mov eax,dword ptr ss:[ebp-8]
0049ABF4 <>|. E8 2794F6FF call JDCKS.00404020 ; ->system.@LStrCopy;
0049ABF9 |. 8B85 FCFEFFFF mov eax,dword ptr ss:[ebp-104]
0049ABFF <>|. E8 9CE3F6FF call JDCKS.00408FA0 ; ->Unit_00407E74.Proc_00408FA0
0049AC04 |. 0FAFD8 imul ebx,eax
0049AC07 |. 8BC3 mov eax,ebx
0049AC09 |. 83C0 0E add eax,0E
0049AC0C |. B9 0A000000 mov ecx,0A
0049AC11 |. 99 cdq
0049AC12 |. F7F9 idiv ecx
0049AC14 |. 8BC2 mov eax,edx
0049AC16 |. 8D95 04FFFFFF lea edx,dword ptr ss:[ebp-FC]
0049AC1C <>|. E8 4FE3F6FF call JDCKS.00408F70 ; ->Unit_00407E74.Proc_00408F70
0049AC21 |. 8B95 04FFFFFF mov edx,dword ptr ss:[ebp-FC]
0049AC27 |. 8D45 D8 lea eax,dword ptr ss:[ebp-28]
0049AC2A <>|. E8 0190F6FF call JDCKS.00403C30 ; ->system.@LStrLAsg;
0049AC2F |. 8D85 F4FEFFFF lea eax,dword ptr ss:[ebp-10C]
0049AC35 |. 50 push eax
0049AC36 |. B9 01000000 mov ecx,1
0049AC3B |. BA 0B000000 mov edx,0B
0049AC40 |. 8B45 F8 mov eax,dword ptr ss:[ebp-8]
0049AC43 <>|. E8 D893F6FF call JDCKS.00404020 ; ->system.@LStrCopy;
0049AC48 |. 8B85 F4FEFFFF mov eax,dword ptr ss:[ebp-10C]
0049AC4E <>|. E8 4DE3F6FF call JDCKS.00408FA0 ; ->Unit_00407E74.Proc_00408FA0
0049AC53 |. 8BD8 mov ebx,eax
0049AC55 |. 8D85 F0FEFFFF lea eax,dword ptr ss:[ebp-110]
0049AC5B |. 50 push eax
0049AC5C |. B9 01000000 mov ecx,1
0049AC61 |. BA 0B000000 mov edx,0B
0049AC66 |. 8B45 F8 mov eax,dword ptr ss:[ebp-8]
0049AC69 <>|. E8 B293F6FF call JDCKS.00404020 ; ->system.@LStrCopy;
0049AC6E |. 8B85 F0FEFFFF mov eax,dword ptr ss:[ebp-110]
0049AC74 <>|. E8 27E3F6FF call JDCKS.00408FA0 ; ->Unit_00407E74.Proc_00408FA0
0049AC79 |. 0FAFD8 imul ebx,eax
0049AC7C |. 8BC3 mov eax,ebx
0049AC7E |. 83C0 09 add eax,9
0049AC81 |. B9 0A000000 mov ecx,0A
0049AC86 |. 99 cdq
0049AC87 |. F7F9 idiv ecx
0049AC89 |. 8BC2 mov eax,edx
0049AC8B |. 8D95 F8FEFFFF lea edx,dword ptr ss:[ebp-108]
0049AC91 <>|. E8 DAE2F6FF call JDCKS.00408F70 ; ->Unit_00407E74.Proc_00408F70
0049AC96 |. 8B95 F8FEFFFF mov edx,dword ptr ss:[ebp-108]
0049AC9C |. 8D45 DC lea eax,dword ptr ss:[ebp-24]
0049AC9F <>|. E8 8C8FF6FF call JDCKS.00403C30 ; ->system.@LStrLAsg;
0049ACA4 |. 8D85 E8FEFFFF lea eax,dword ptr ss:[ebp-118]
0049ACAA |. 50 push eax
0049ACAB |. B9 01000000 mov ecx,1
0049ACB0 |. BA 0C000000 mov edx,0C
0049ACB5 |. 8B45 F8 mov eax,dword ptr ss:[ebp-8]
0049ACB8 <>|. E8 6393F6FF call JDCKS.00404020 ; ->system.@LStrCopy;
0049ACBD |. 8B85 E8FEFFFF mov eax,dword ptr ss:[ebp-118]
0049ACC3 <>|. E8 D8E2F6FF call JDCKS.00408FA0 ; ->Unit_00407E74.Proc_00408FA0
0049ACC8 |. 8BD8 mov ebx,eax
0049ACCA |. 8D85 E4FEFFFF lea eax,dword ptr ss:[ebp-11C]
0049ACD0 |. 50 push eax
0049ACD1 |. B9 01000000 mov ecx,1
0049ACD6 |. BA 0C000000 mov edx,0C
0049ACDB |. 8B45 F8 mov eax,dword ptr ss:[ebp-8]
0049ACDE <>|. E8 3D93F6FF call JDCKS.00404020 ; ->system.@LStrCopy;
0049ACE3 |. 8B85 E4FEFFFF mov eax,dword ptr ss:[ebp-11C]
0049ACE9 <>|. E8 B2E2F6FF call JDCKS.00408FA0 ; ->Unit_00407E74.Proc_00408FA0
0049ACEE |. 0FAFD8 imul ebx,eax
0049ACF1 |. 8BC3 mov eax,ebx
0049ACF3 |. 83C0 06 add eax,6
0049ACF6 |. B9 0A000000 mov ecx,0A
0049ACFB |. 99 cdq
0049ACFC |. F7F9 idiv ecx
0049ACFE |. 8BC2 mov eax,edx
0049AD00 |. 8D95 ECFEFFFF lea edx,dword ptr ss:[ebp-114]
0049AD06 <>|. E8 65E2F6FF call JDCKS.00408F70 ; ->Unit_00407E74.Proc_00408F70
0049AD0B |. 8B95 ECFEFFFF mov edx,dword ptr ss:[ebp-114]
0049AD11 |. 8D45 E0 lea eax,dword ptr ss:[ebp-20]
0049AD14 <>|. E8 178FF6FF call JDCKS.00403C30 ; ->system.@LStrLAsg;
0049AD19 |. 8D85 DCFEFFFF lea eax,dword ptr ss:[ebp-124]
0049AD1F |. 50 push eax
0049AD20 |. B9 01000000 mov ecx,1
0049AD25 |. BA 0D000000 mov edx,0D
0049AD2A |. 8B45 F8 mov eax,dword ptr ss:[ebp-8]
0049AD2D <>|. E8 EE92F6FF call JDCKS.00404020 ; ->system.@LStrCopy;
0049AD32 |. 8B85 DCFEFFFF mov eax,dword ptr ss:[ebp-124]
0049AD38 <>|. E8 63E2F6FF call JDCKS.00408FA0 ; ->Unit_00407E74.Proc_00408FA0
0049AD3D |. 8BD8 mov ebx,eax
0049AD3F |. 8D85 D8FEFFFF lea eax,dword ptr ss:[ebp-128]
0049AD45 |. 50 push eax
0049AD46 |. B9 01000000 mov ecx,1
0049AD4B |. BA 0D000000 mov edx,0D
0049AD50 |. 8B45 F8 mov eax,dword ptr ss:[ebp-8]
0049AD53 <>|. E8 C892F6FF call JDCKS.00404020 ; ->system.@LStrCopy;
0049AD58 |. 8B85 D8FEFFFF mov eax,dword ptr ss:[ebp-128]
0049AD5E <>|. E8 3DE2F6FF call JDCKS.00408FA0 ; ->Unit_00407E74.Proc_00408FA0
0049AD63 |. 0FAFD8 imul ebx,eax
0049AD66 |. 8BC3 mov eax,ebx
0049AD68 |. 83C0 0F add eax,0F
0049AD6B |. B9 0A000000 mov ecx,0A
0049AD70 |. 99 cdq
0049AD71 |. F7F9 idiv ecx
0049AD73 |. 8BC2 mov eax,edx
0049AD75 |. 8D95 E0FEFFFF lea edx,dword ptr ss:[ebp-120]
0049AD7B <>|. E8 F0E1F6FF call JDCKS.00408F70 ; ->Unit_00407E74.Proc_00408F70
0049AD80 |. 8B95 E0FEFFFF mov edx,dword ptr ss:[ebp-120]
0049AD86 |. 8D45 E4 lea eax,dword ptr ss:[ebp-1C]
0049AD89 <>|. E8 A28EF6FF call JDCKS.00403C30 ; ->system.@LStrLAsg;
0049AD8E |. 8D85 D0FEFFFF lea eax,dword ptr ss:[ebp-130]
0049AD94 |. 50 push eax
0049AD95 |. B9 01000000 mov ecx,1
0049AD9A |. BA 0E000000 mov edx,0E
0049AD9F |. 8B45 F8 mov eax,dword ptr ss:[ebp-8]
0049ADA2 <>|. E8 7992F6FF call JDCKS.00404020 ; ->system.@LStrCopy;
0049ADA7 |. 8B85 D0FEFFFF mov eax,dword ptr ss:[ebp-130]
0049ADAD <>|. E8 EEE1F6FF call JDCKS.00408FA0 ; ->Unit_00407E74.Proc_00408FA0
0049ADB2 |. 8BD8 mov ebx,eax
0049ADB4 |. 8D85 CCFEFFFF lea eax,dword ptr ss:[ebp-134]
0049ADBA |. 50 push eax
0049ADBB |. B9 01000000 mov ecx,1
0049ADC0 |. BA 0E000000 mov edx,0E
0049ADC5 |. 8B45 F8 mov eax,dword ptr ss:[ebp-8]
0049ADC8 <>|. E8 5392F6FF call JDCKS.00404020 ; ->system.@LStrCopy;
0049ADCD |. 8B85 CCFEFFFF mov eax,dword ptr ss:[ebp-134]
0049ADD3 <>|. E8 C8E1F6FF call JDCKS.00408FA0 ; ->Unit_00407E74.Proc_00408FA0
0049ADD8 |. 0FAFD8 imul ebx,eax
0049ADDB |. 8BC3 mov eax,ebx
0049ADDD |. 83C0 10 add eax,10
0049ADE0 |. B9 0A000000 mov ecx,0A
0049ADE5 |. 99 cdq
0049ADE6 |. F7F9 idiv ecx
0049ADE8 |. 8BC2 mov eax,edx
0049ADEA |. 8D95 D4FEFFFF lea edx,dword ptr ss:[ebp-12C]
0049ADF0 <>|. E8 7BE1F6FF call JDCKS.00408F70 ; ->Unit_00407E74.Proc_00408F70
0049ADF5 |. 8B95 D4FEFFFF mov edx,dword ptr ss:[ebp-12C]
0049ADFB |. 8D45 E8 lea eax,dword ptr ss:[ebp-18]
0049ADFE <>|. E8 2D8EF6FF call JDCKS.00403C30 ; ->system.@LStrLAsg;
0049AE03 |. 8D85 C4FEFFFF lea eax,dword ptr ss:[ebp-13C]
0049AE09 |. 50 push eax
0049AE0A |. B9 01000000 mov ecx,1
0049AE0F |. BA 0F000000 mov edx,0F
0049AE14 |. 8B45 F8 mov eax,dword ptr ss:[ebp-8]
0049AE17 <>|. E8 0492F6FF call JDCKS.00404020 ; ->system.@LStrCopy;
0049AE1C |. 8B85 C4FEFFFF mov eax,dword ptr ss:[ebp-13C]
0049AE22 <>|. E8 79E1F6FF call JDCKS.00408FA0 ; ->Unit_00407E74.Proc_00408FA0
0049AE27 |. 8BD8 mov ebx,eax
0049AE29 |. 8D85 C0FEFFFF lea eax,dword ptr ss:[ebp-140]
0049AE2F |. 50 push eax
0049AE30 |. B9 01000000 mov ecx,1
0049AE35 |. BA 0F000000 mov edx,0F
0049AE3A |. 8B45 F8 mov eax,dword ptr ss:[ebp-8]
0049AE3D <>|. E8 DE91F6FF call JDCKS.00404020 ; ->system.@LStrCopy;
0049AE42 |. 8B85 C0FEFFFF mov eax,dword ptr ss:[ebp-140]
0049AE48 <>|. E8 53E1F6FF call JDCKS.00408FA0 ; ->Unit_00407E74.Proc_00408FA0
0049AE4D |. 0FAFD8 imul ebx,eax
0049AE50 |. 8BC3 mov eax,ebx
0049AE52 |. 83C0 07 add eax,7
0049AE55 |. B9 0A000000 mov ecx,0A
0049AE5A |. 99 cdq
0049AE5B |. F7F9 idiv ecx
0049AE5D |. 8BC2 mov eax,edx
0049AE5F |. 8D95 C8FEFFFF lea edx,dword ptr ss:[ebp-138]
0049AE65 <>|. E8 06E1F6FF call JDCKS.00408F70 ; ->Unit_00407E74.Proc_00408F70
0049AE6A |. 8B95 C8FEFFFF mov edx,dword ptr ss:[ebp-138]
0049AE70 |. 8D45 EC lea eax,dword ptr ss:[ebp-14]
0049AE73 <>|. E8 B88DF6FF call JDCKS.00403C30 ; ->system.@LStrLAsg;
0049AE78 |. 8D85 B8FEFFFF lea eax,dword ptr ss:[ebp-148]
0049AE7E |. 50 push eax
0049AE7F |. B9 01000000 mov ecx,1
0049AE84 |. BA 10000000 mov edx,10
0049AE89 |. 8B45 F8 mov eax,dword ptr ss:[ebp-8]
0049AE8C <>|. E8 8F91F6FF call JDCKS.00404020 ; ->system.@LStrCopy;
0049AE91 |. 8B85 B8FEFFFF mov eax,dword ptr ss:[ebp-148]
0049AE97 <>|. E8 04E1F6FF call JDCKS.00408FA0 ; ->Unit_00407E74.Proc_00408FA0
0049AE9C |. 8BD8 mov ebx,eax
0049AE9E |. 8D85 B4FEFFFF lea eax,dword ptr ss:[ebp-14C]
0049AEA4 |. 50 push eax
0049AEA5 |. B9 01000000 mov ecx,1
0049AEAA |. BA 10000000 mov edx,10
0049AEAF |. 8B45 F8 mov eax,dword ptr ss:[ebp-8]
0049AEB2 <>|. E8 6991F6FF call JDCKS.00404020 ; ->system.@LStrCopy;
0049AEB7 |. 8B85 B4FEFFFF mov eax,dword ptr ss:[ebp-14C]
0049AEBD <>|. E8 DEE0F6FF call JDCKS.00408FA0 ; ->Unit_00407E74.Proc_00408FA0
0049AEC2 |. 0FAFD8 imul ebx,eax
0049AEC5 |. 8BC3 mov eax,ebx
0049AEC7 |. 83C0 08 add eax,8
0049AECA |. B9 0A000000 mov ecx,0A
0049AECF |. 99 cdq
0049AED0 |. F7F9 idiv ecx
0049AED2 |. 8BC2 mov eax,edx
0049AED4 |. 8D95 BCFEFFFF lea edx,dword ptr ss:[ebp-144]
0049AEDA <>|. E8 91E0F6FF call JDCKS.00408F70 ; ->Unit_00407E74.Proc_00408F70
0049AEDF |. 8B95 BCFEFFFF mov edx,dword ptr ss:[ebp-144]
0049AEE5 |. 8D45 F0 lea eax,dword ptr ss:[ebp-10]
0049AEE8 <>|. E8 438DF6FF call JDCKS.00403C30 ; ->system.@LStrLAsg;
0049AEED |. 8D85 74FFFFFF lea eax,dword ptr ss:[ebp-8C]
0049AEF3 |. 8B55 B4 mov edx,dword ptr ss:[ebp-4C]
0049AEF6 <>|. E8 358DF6FF call JDCKS.00403C30 ; ->system.@LStrLAsg;
0049AEFB |. 8D85 78FFFFFF lea eax,dword ptr ss:[ebp-88]
0049AF01 |. 8B55 C4 mov edx,dword ptr ss:[ebp-3C]
0049AF04 <>|. E8 278DF6FF call JDCKS.00403C30 ; ->system.@LStrLAsg;
0049AF09 |. 8D85 7CFFFFFF lea eax,dword ptr ss:[ebp-84]
0049AF0F |. 8B55 E0 mov edx,dword ptr ss:[ebp-20]
0049AF12 <>|. E8 198DF6FF call JDCKS.00403C30 ; ->system.@LStrLAsg;
0049AF17 |. 8D45 80 lea eax,dword ptr ss:[ebp-80]
0049AF1A |. 8B55 DC mov edx,dword ptr ss:[ebp-24]
0049AF1D <>|. E8 0E8DF6FF call JDCKS.00403C30 ; ->system.@LStrLAsg;
0049AF22 |. 8D45 84 lea eax,dword ptr ss:[ebp-7C]
0049AF25 |. 8B55 B8 mov edx,dword ptr ss:[ebp-48]
0049AF28 <>|. E8 038DF6FF call JDCKS.00403C30 ; ->system.@LStrLAsg;
0049AF2D |. 8D45 88 lea eax,dword ptr ss:[ebp-78]
0049AF30 |. 8B55 C0 mov edx,dword ptr ss:[ebp-40]
0049AF33 <>|. E8 F88CF6FF call JDCKS.00403C30 ; ->system.@LStrLAsg;
0049AF38 |. 8D45 8C lea eax,dword ptr ss:[ebp-74]
0049AF3B |. 8B55 D8 mov edx,dword ptr ss:[ebp-28]
0049AF3E <>|. E8 ED8CF6FF call JDCKS.00403C30 ; ->system.@LStrLAsg;
0049AF43 |. 8D45 90 lea eax,dword ptr ss:[ebp-70]
0049AF46 |. 8B55 BC mov edx,dword ptr ss:[ebp-44]
0049AF49 <>|. E8 E28CF6FF call JDCKS.00403C30 ; ->system.@LStrLAsg;
0049AF4E |. 8D45 94 lea eax,dword ptr ss:[ebp-6C]
0049AF51 |. 8B55 E4 mov edx,dword ptr ss:[ebp-1C]
0049AF54 <>|. E8 D78CF6FF call JDCKS.00403C30 ; ->system.@LStrLAsg;
0049AF59 |. 8D45 98 lea eax,dword ptr ss:[ebp-68]
0049AF5C |. 8B55 D0 mov edx,dword ptr ss:[ebp-30]
0049AF5F <>|. E8 CC8CF6FF call JDCKS.00403C30 ; ->system.@LStrLAsg;
0049AF64 |. 8D45 9C lea eax,dword ptr ss:[ebp-64]
0049AF67 |. 8B55 CC mov edx,dword ptr ss:[ebp-34]
0049AF6A <>|. E8 C18CF6FF call JDCKS.00403C30 ; ->system.@LStrLAsg;
0049AF6F |. 8D45 A0 lea eax,dword ptr ss:[ebp-60]
0049AF72 |. 8B55 D4 mov edx,dword ptr ss:[ebp-2C]
0049AF75 <>|. E8 B68CF6FF call JDCKS.00403C30 ; ->system.@LStrLAsg;
0049AF7A |. 8D45 A4 lea eax,dword ptr ss:[ebp-5C]
0049AF7D |. 8B55 E8 mov edx,dword ptr ss:[ebp-18]
0049AF80 <>|. E8 AB8CF6FF call JDCKS.00403C30 ; ->system.@LStrLAsg;
0049AF85 |. 8D45 A8 lea eax,dword ptr ss:[ebp-58]
0049AF88 |. 8B55 EC mov edx,dword ptr ss:[ebp-14]
0049AF8B <>|. E8 A08CF6FF call JDCKS.00403C30 ; ->system.@LStrLAsg;
0049AF90 |. 8D45 AC lea eax,dword ptr ss:[ebp-54]
0049AF93 |. 8B55 F0 mov edx,dword ptr ss:[ebp-10]
0049AF96 <>|. E8 958CF6FF call JDCKS.00403C30 ; ->system.@LStrLAsg;
0049AF9B |. 8D45 B0 lea eax,dword ptr ss:[ebp-50]
0049AF9E |. 8B55 C8 mov edx,dword ptr ss:[ebp-38]
0049AFA1 <>|. E8 8A8CF6FF call JDCKS.00403C30 ; ->system.@LStrLAsg;
0049AFA6 |. 8D45 FC lea eax,dword ptr ss:[ebp-4]
0049AFA9 <>|. E8 EA8BF6FF call JDCKS.00403B98 ; ->system.@LStrClr(String;String);
0049AFAE |. BE 10000000 mov esi,10
0049AFB3 |. 8D9D 74FFFFFF lea ebx,dword ptr ss:[ebp-8C]
0049AFB9 |> 8D45 FC /lea eax,dword ptr ss:[ebp-4]
0049AFBC |. 8B13 |mov edx,dword ptr ds:[ebx]
0049AFBE <>|. E8 5D8EF6FF |call JDCKS.00403E20 ; ->system.@LStrCat;
0049AFC3 |. 83C3 04 |add ebx,4
0049AFC6 |. 4E |dec esi
0049AFC7 |.^ 75 F0 \jnz short JDCKS.0049AFB9
0049AFC9 |. 8B45 FC mov eax,dword ptr ss:[ebp-4] ; 注册码,可以做内存注册机
0049AFCC |. 8B55 F4 mov edx,dword ptr ss:[ebp-C]
0049AFCF <>|. E8 548FF6FF call JDCKS.00403F28 ; ->system.@LStrCmp;
0049AFD4 |. 75 04 jnz short JDCKS.0049AFDA
0049AFD6 |. 33DB xor ebx,ebx
0049AFD8 |. EB 05 jmp short JDCKS.0049AFDF
0049AFDA |> BB 02000000 mov ebx,2
0049AFDF |> 33C0 xor eax,eax
0049AFE1 |. 5A pop edx
0049AFE2 |. 59 pop ecx
0049AFE3 |. 59 pop ecx
0049AFE4 |. 64:8910 mov dword ptr fs:[eax],edx
0049AFE7 |. 68 27B04900 push JDCKS.0049B027
0049AFEC |> 8D85 B4FEFFFF lea eax,dword ptr ss:[ebp-14C]
0049AFF2 |. BA 30000000 mov edx,30
0049AFF7 <>|. E8 C08BF6FF call JDCKS.00403BBC ; ->system.@LStrArrayClr;
0049AFFC |. 8D85 74FFFFFF lea eax,dword ptr ss:[ebp-8C]
0049B002 |. B9 20000000 mov ecx,20
0049B007 |. 8B15 D0104000 mov edx,dword ptr ds:[4010D0] ; JDCKS.004010D4
0049B00D <>|. E8 7A94F6FF call JDCKS.0040448C ; ->system.@FinalizeArray;
0049B012 |. 8D45 F4 lea eax,dword ptr ss:[ebp-C]
0049B015 |. BA 03000000 mov edx,3
0049B01A <>|. E8 9D8BF6FF call JDCKS.00403BBC ; ->system.@LStrArrayClr;
0049B01F \. C3 retn
―――――――――――――――――――――――――――――――――――――――――――
【Crack总结】:
作者的算法很简单,希望大家不要笑啊,有插件自动生成的注释,看起来更容易。
贴出注册机delphi源码:
Function GenKey(No: String): String;
Const
Num: Array[0..9] Of Char = '0123456789';
Begin
SetLength(Result, 16);
Result[1] := Num[(StrToInt(No[1]) * StrToInt(No[1]) + 12) Mod 10];
Result[5] := Num[(StrToInt(No[2]) * StrToInt(No[2]) + 10) Mod 10];
Result[8] := Num[(StrToInt(No[3]) * StrToInt(No[3]) + 4) Mod 10];
Result[6] := Num[(StrToInt(No[4]) * StrToInt(No[4]) + 11) Mod 10];
Result[2] := Num[(StrToInt(No[5]) * StrToInt(No[5]) + 3) Mod 10];
Result[16] := Num[(StrToInt(No[6]) * StrToInt(No[6]) + 5) Mod 10];
Result[11] := Num[(StrToInt(No[7]) * StrToInt(No[7]) + 1) Mod 10];
Result[10] := Num[(StrToInt(No[8]) * StrToInt(No[8]) + 13) Mod 10];
Result[12] := Num[(StrToInt(No[9]) * StrToInt(No[9]) + 2) Mod 10];
Result[7] := Num[(StrToInt(No[10]) * StrToInt(No[10]) + 14) Mod 10];
Result[4] := Num[(StrToInt(No[11]) * StrToInt(No[11]) + 9) Mod 10];
Result[3] := Num[(StrToInt(No[12]) * StrToInt(No[12]) + 6) Mod 10];
Result[9] := Num[(StrToInt(No[13]) * StrToInt(No[13]) + 15) Mod 10];
Result[13] := Num[(StrToInt(No[14]) * StrToInt(No[14]) + 16) Mod 10];
Result[14] := Num[(StrToInt(No[15]) * StrToInt(No[15]) + 7) Mod 10];
Result[15] := Num[(StrToInt(No[16]) * StrToInt(No[16]) + 8) Mod 10];
End;
内存注册机:
中断地址:0049AFC9
中断次数:1
第一字节:8B
指令长度:3
注册码: 内存方式 寄存器 EAX
相信大家很容易看懂,16位纯数字机器码分别运算的计算结果,再调整输出顺序即为注册码。
大家可以验证一下:
机器码:1234567890123456
注册码:3800474347032241
初次写破文,请大侠勿见笑。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)