首页
社区
课程
招聘
[原创]WinASO Registry Optimizer V3.0.9算法分析
发表于: 2007-9-20 18:05 5772

[原创]WinASO Registry Optimizer V3.0.9算法分析

2007-9-20 18:05
5772

【破文标题】WinASO Registry Optimizer V3.0.9算法分析
【破解日期】96.09.20
【破文作者】[濃咖啡&chuan]
【原版下载】http://www.skycn.com/soft/27630.html
【软件介绍】WinASO Registry Optimizer 是一个 Windows 优化工具和高级注册表清理工
   具,它允许您以简单的鼠标单击来安全的清理及修复注册表故障。通过修复陈旧信息及调整 Windows 注册表参数,它对系统速度的提升是值得令人注意的。WinASO Registry Optimizer 被很好的设计为修复普遍的问题,例如对 Internet Explorer 页面的非法修改。我们已对此工具进行了实际测试来确保您的系统安全。我们没有收到过任何对系统稳定性的抱怨。
-------------------------------------------------------------------------
查無殼為Borland Delphi 6.0 以超級字符串搜尋無提示,祭出函數斷點BP bp MessageBoxA,欄下後看堆疊
視窗看到0056A7C2  /CALL
------------------------------------------------------------------------------------------
0012F7BC   0056A7C2  /CALL 到 MessageBoxA 來自 RegOpt.0056A7BD
0012F7C0   005F06FE  |hOwner = 005F06FE ('Register

Information',class='TfrmRegister',parent=00200466)
0012F7C4   015ED010  |Text = "Sorry, that is an invalid license key. Please ensure you have

entered the license key exactly as provided."
0012F7C8   0164EDB8  |Title = "Information"
0012F7CC   00000040  \Style = MB_OK|MB_ICONASTERISK|MB_APPLMODAL
----------------------------------------------------------------------------------------
破解分析如下:
0056A3AB  |.  51            push ecx ---下斷點
0056A3AC  |.  53            push ebx
0056A3AD  |.  56            push esi
0056A3AE  |.  57            push edi
0056A3AF  |.  8BD8          mov ebx,eax
0056A3B1  |.  33C0          xor eax,eax
0056A3B3  |.  55            push ebp
0056A3B4  |.  68 F4A95600   push RegOpt.0056A9F4
0056A3B9  |.  64:FF30       push dword ptr fs:[eax]
0056A3BC  |.  64:8920       mov dword ptr fs:[eax],esp
0056A3BF  |.  8D45 FC       lea eax,dword ptr ss:[ebp-4]
0056A3C2  |.  8B15 84055A00 mov edx,dword ptr ds:[5A0584]    ;  RegOpt.005A55E0
0056A3C8  |.  8B92 70080000 mov edx,dword ptr ds:[edx+870]
0056A3CE  |.  E8 5DAEE9FF   call RegOpt.00405230
0056A3D3  |.  8D55 F4       lea edx,dword ptr ss:[ebp-C]
0056A3D6  |.  8B83 A4030000 mov eax,dword ptr ds:[ebx+3A4]
0056A3DC  |.  E8 3BC9EEFF   call RegOpt.00456D1C
0056A3E1  |.  8B45 F4       mov eax,dword ptr ss:[ebp-C]
0056A3E4  |.  E8 9B45F6FF   call RegOpt.004CE984
0056A3E9  |.  84C0          test al,al
0056A3EB  |.  75 2E         jnz short RegOpt.0056A41B
0056A3ED  |.  6A 40         push 40
0056A3EF  |.  A1 84055A00   mov eax,dword ptr ds:[5A0584]
0056A3F4  |.  8B80 6C080000 mov eax,dword ptr ds:[eax+86C]
0056A3FA  |.  E8 5DB2E9FF   call RegOpt.0040565C
0056A3FF  |.  50            push eax
0056A400  |.  8B45 FC       mov eax,dword ptr ss:[ebp-4]
0056A403  |.  E8 54B2E9FF   call RegOpt.0040565C
0056A408  |.  50            push eax
0056A409  |.  8BC3          mov eax,ebx
0056A40B  |.  E8 0C44EFFF   call RegOpt.0045E81C
0056A410  |.  50            push eax                         ; |hOwner
0056A411  |.  E8 26DFE9FF   call <jmp.&user32.MessageBoxA>   ; \MessageBoxA
0056A416  |.  E9 6D050000   jmp RegOpt.0056A988
0056A41B  |>  8D55 F0       lea edx,dword ptr ss:[ebp-10]
0056A41E  |.  8B83 A8030000 mov eax,dword ptr ds:[ebx+3A8]
0056A424  |.  E8 F3C8EEFF   call RegOpt.00456D1C
0056A429  |.  8B45 F0       mov eax,dword ptr ss:[ebp-10]
0056A42C  |.  E8 5345F6FF   call RegOpt.004CE984
0056A431  |.  84C0          test al,al
0056A433  |.  75 2E         jnz short RegOpt.0056A463
0056A435  |.  6A 40         push 40
0056A437  |.  A1 84055A00   mov eax,dword ptr ds:[5A0584]
0056A43C  |.  8B80 6C080000 mov eax,dword ptr ds:[eax+86C]
0056A442  |.  E8 15B2E9FF   call RegOpt.0040565C
0056A447  |.  50            push eax
0056A448  |.  8B45 FC       mov eax,dword ptr ss:[ebp-4]
0056A44B  |.  E8 0CB2E9FF   call RegOpt.0040565C
0056A450  |.  50            push eax
0056A451  |.  8BC3          mov eax,ebx
0056A453  |.  E8 C443EFFF   call RegOpt.0045E81C
0056A458  |.  50            push eax                         ; |hOwner
0056A459  |.  E8 DEDEE9FF   call <jmp.&user32.MessageBoxA>   ; \MessageBoxA
0056A45E  |.  E9 25050000   jmp RegOpt.0056A988
0056A463  |>  8D55 EC       lea edx,dword ptr ss:[ebp-14]
0056A466  |.  8B83 AC030000 mov eax,dword ptr ds:[ebx+3AC]
0056A46C  |.  E8 ABC8EEFF   call RegOpt.00456D1C
0056A471  |.  8B45 EC       mov eax,dword ptr ss:[ebp-14]
0056A474  |.  E8 0B45F6FF   call RegOpt.004CE984
0056A479  |.  84C0          test al,al
0056A47B  |.  75 2E         jnz short RegOpt.0056A4AB
0056A47D  |.  6A 40         push 40
0056A47F  |.  A1 84055A00   mov eax,dword ptr ds:[5A0584]
0056A484  |.  8B80 6C080000 mov eax,dword ptr ds:[eax+86C]
0056A48A  |.  E8 CDB1E9FF   call RegOpt.0040565C
0056A48F  |.  50            push eax
0056A490  |.  8B45 FC       mov eax,dword ptr ss:[ebp-4]
0056A493  |.  E8 C4B1E9FF   call RegOpt.0040565C
0056A498  |.  50            push eax
0056A499  |.  8BC3          mov eax,ebx
0056A49B  |.  E8 7C43EFFF   call RegOpt.0045E81C
0056A4A0  |.  50            push eax                         ; |hOwner
0056A4A1  |.  E8 96DEE9FF   call <jmp.&user32.MessageBoxA>   ; \MessageBoxA
0056A4A6  |.  E9 DD040000   jmp RegOpt.0056A988
0056A4AB  |>  8D55 E8       lea edx,dword ptr ss:[ebp-18]
0056A4AE  |.  8B83 B0030000 mov eax,dword ptr ds:[ebx+3B0]
0056A4B4  |.  E8 63C8EEFF   call RegOpt.00456D1C
0056A4B9  |.  8B45 E8       mov eax,dword ptr ss:[ebp-18]
0056A4BC  |.  E8 C344F6FF   call RegOpt.004CE984
0056A4C1  |.  84C0          test al,al
0056A4C3  |.  75 2E         jnz short RegOpt.0056A4F3
0056A4C5  |.  6A 40         push 40
0056A4C7  |.  A1 84055A00   mov eax,dword ptr ds:[5A0584]
0056A4CC  |.  8B80 6C080000 mov eax,dword ptr ds:[eax+86C]
0056A4D2  |.  E8 85B1E9FF   call RegOpt.0040565C
0056A4D7  |.  50            push eax
0056A4D8  |.  8B45 FC       mov eax,dword ptr ss:[ebp-4]
0056A4DB  |.  E8 7CB1E9FF   call RegOpt.0040565C
0056A4E0  |.  50            push eax
0056A4E1  |.  8BC3          mov eax,ebx
0056A4E3  |.  E8 3443EFFF   call RegOpt.0045E81C
0056A4E8  |.  50            push eax                         ; |hOwner
0056A4E9  |.  E8 4EDEE9FF   call <jmp.&user32.MessageBoxA>   ; \MessageBoxA
0056A4EE  |.  E9 95040000   jmp RegOpt.0056A988
0056A4F3  |>  8D55 E4       lea edx,dword ptr ss:[ebp-1C]
0056A4F6  |.  8B83 B4030000 mov eax,dword ptr ds:[ebx+3B4]
0056A4FC  |.  E8 1BC8EEFF   call RegOpt.00456D1C
0056A501  |.  8B45 E4       mov eax,dword ptr ss:[ebp-1C]
0056A504  |.  E8 7B44F6FF   call RegOpt.004CE984
0056A509  |.  84C0          test al,al
0056A50B  |.  75 2E         jnz short RegOpt.0056A53B
0056A50D  |.  6A 40         push 40
0056A50F  |.  A1 84055A00   mov eax,dword ptr ds:[5A0584]
0056A514  |.  8B80 6C080000 mov eax,dword ptr ds:[eax+86C]
0056A51A  |.  E8 3DB1E9FF   call RegOpt.0040565C
0056A51F  |.  50            push eax
0056A520  |.  8B45 FC       mov eax,dword ptr ss:[ebp-4]
0056A523  |.  E8 34B1E9FF   call RegOpt.0040565C
0056A528  |.  50            push eax
0056A529  |.  8BC3          mov eax,ebx
0056A52B  |.  E8 EC42EFFF   call RegOpt.0045E81C
0056A530  |.  50            push eax                         ; |hOwner
0056A531  |.  E8 06DEE9FF   call <jmp.&user32.MessageBoxA>   ; \MessageBoxA
0056A536  |.  E9 4D040000   jmp RegOpt.0056A988
0056A53B  |>  8D55 E0       lea edx,dword ptr ss:[ebp-20]
0056A53E  |.  8B83 A4030000 mov eax,dword ptr ds:[ebx+3A4]
0056A544  |.  E8 D3C7EEFF   call RegOpt.00456D1C
0056A549  |.  8B45 E0       mov eax,dword ptr ss:[ebp-20]    ;  第1格
0056A54C  |.  8945 DC       mov dword ptr ss:[ebp-24],eax
0056A54F  |.  8B45 DC       mov eax,dword ptr ss:[ebp-24]
0056A552  |.  85C0          test eax,eax
0056A554  |.  74 05         je short RegOpt.0056A55B
0056A556  |.  83E8 04       sub eax,4
0056A559  |.  8B00          mov eax,dword ptr ds:[eax]
0056A55B  |>  83F8 04       cmp eax,4
0056A55E  |.  74 2E         je short RegOpt.0056A58E
0056A560  |.  6A 40         push 40
0056A562  |.  A1 84055A00   mov eax,dword ptr ds:[5A0584]
0056A567  |.  8B80 6C080000 mov eax,dword ptr ds:[eax+86C]
0056A56D  |.  E8 EAB0E9FF   call RegOpt.0040565C
0056A572  |.  50            push eax
0056A573  |.  8B45 FC       mov eax,dword ptr ss:[ebp-4]
0056A576  |.  E8 E1B0E9FF   call RegOpt.0040565C
0056A57B  |.  50            push eax
0056A57C  |.  8BC3          mov eax,ebx
0056A57E  |.  E8 9942EFFF   call RegOpt.0045E81C
0056A583  |.  50            push eax                         ; |hOwner
0056A584  |.  E8 B3DDE9FF   call <jmp.&user32.MessageBoxA>   ; \MessageBoxA
0056A589  |.  E9 FA030000   jmp RegOpt.0056A988
0056A58E  |>  8D55 D8       lea edx,dword ptr ss:[ebp-28]
0056A591  |.  8B83 A8030000 mov eax,dword ptr ds:[ebx+3A8]
0056A597  |.  E8 80C7EEFF   call RegOpt.00456D1C
0056A59C  |.  8B45 D8       mov eax,dword ptr ss:[ebp-28]
0056A59F  |.  8945 DC       mov dword ptr ss:[ebp-24],eax
0056A5A2  |.  8B45 DC       mov eax,dword ptr ss:[ebp-24]
0056A5A5  |.  85C0          test eax,eax
0056A5A7  |.  74 05         je short RegOpt.0056A5AE
0056A5A9  |.  83E8 04       sub eax,4
0056A5AC  |.  8B00          mov eax,dword ptr ds:[eax]
0056A5AE  |>  83F8 04       cmp eax,4
0056A5B1  |.  74 2E         je short RegOpt.0056A5E1
0056A5B3  |.  6A 40         push 40
0056A5B5  |.  A1 84055A00   mov eax,dword ptr ds:[5A0584]
0056A5BA  |.  8B80 6C080000 mov eax,dword ptr ds:[eax+86C]
0056A5C0  |.  E8 97B0E9FF   call RegOpt.0040565C
0056A5C5  |.  50            push eax
0056A5C6  |.  8B45 FC       mov eax,dword ptr ss:[ebp-4]
0056A5C9  |.  E8 8EB0E9FF   call RegOpt.0040565C
0056A5CE  |.  50            push eax
0056A5CF  |.  8BC3          mov eax,ebx
0056A5D1  |.  E8 4642EFFF   call RegOpt.0045E81C
0056A5D6  |.  50            push eax                         ; |hOwner
0056A5D7  |.  E8 60DDE9FF   call <jmp.&user32.MessageBoxA>   ; \MessageBoxA
0056A5DC  |.  E9 A7030000   jmp RegOpt.0056A988
0056A5E1  |>  8D55 D4       lea edx,dword ptr ss:[ebp-2C]
0056A5E4  |.  8B83 AC030000 mov eax,dword ptr ds:[ebx+3AC]
0056A5EA  |.  E8 2DC7EEFF   call RegOpt.00456D1C
0056A5EF  |.  8B45 D4       mov eax,dword ptr ss:[ebp-2C]
0056A5F2  |.  8945 DC       mov dword ptr ss:[ebp-24],eax
0056A5F5  |.  8B45 DC       mov eax,dword ptr ss:[ebp-24]
0056A5F8  |.  85C0          test eax,eax
0056A5FA  |.  74 05         je short RegOpt.0056A601
0056A5FC  |.  83E8 04       sub eax,4
0056A5FF  |.  8B00          mov eax,dword ptr ds:[eax]
0056A601  |>  83F8 04       cmp eax,4
0056A604  |.  74 2E         je short RegOpt.0056A634
0056A606  |.  6A 40         push 40
0056A608  |.  A1 84055A00   mov eax,dword ptr ds:[5A0584]
0056A60D  |.  8B80 6C080000 mov eax,dword ptr ds:[eax+86C]
0056A613  |.  E8 44B0E9FF   call RegOpt.0040565C
0056A618  |.  50            push eax
0056A619  |.  8B45 FC       mov eax,dword ptr ss:[ebp-4]
0056A61C  |.  E8 3BB0E9FF   call RegOpt.0040565C
0056A621  |.  50            push eax
0056A622  |.  8BC3          mov eax,ebx
0056A624  |.  E8 F341EFFF   call RegOpt.0045E81C
0056A629  |.  50            push eax                         ; |hOwner
0056A62A  |.  E8 0DDDE9FF   call <jmp.&user32.MessageBoxA>   ; \MessageBoxA
0056A62F  |.  E9 54030000   jmp RegOpt.0056A988
0056A634  |>  8D55 D0       lea edx,dword ptr ss:[ebp-30]
0056A637  |.  8B83 B0030000 mov eax,dword ptr ds:[ebx+3B0]
0056A63D  |.  E8 DAC6EEFF   call RegOpt.00456D1C
0056A642  |.  8B45 D0       mov eax,dword ptr ss:[ebp-30]
0056A645  |.  8945 DC       mov dword ptr ss:[ebp-24],eax
0056A648  |.  8B45 DC       mov eax,dword ptr ss:[ebp-24]
0056A64B  |.  85C0          test eax,eax
0056A64D  |.  74 05         je short RegOpt.0056A654
0056A64F  |.  83E8 04       sub eax,4
0056A652  |.  8B00          mov eax,dword ptr ds:[eax]
0056A654  |>  83F8 04       cmp eax,4
0056A657  |.  74 2E         je short RegOpt.0056A687
0056A659  |.  6A 40         push 40
0056A65B  |.  A1 84055A00   mov eax,dword ptr ds:[5A0584]
0056A660  |.  8B80 6C080000 mov eax,dword ptr ds:[eax+86C]
0056A666  |.  E8 F1AFE9FF   call RegOpt.0040565C
0056A66B  |.  50            push eax
0056A66C  |.  8B45 FC       mov eax,dword ptr ss:[ebp-4]
0056A66F  |.  E8 E8AFE9FF   call RegOpt.0040565C
0056A674  |.  50            push eax
0056A675  |.  8BC3          mov eax,ebx
0056A677  |.  E8 A041EFFF   call RegOpt.0045E81C
0056A67C  |.  50            push eax                         ; |hOwner
0056A67D  |.  E8 BADCE9FF   call <jmp.&user32.MessageBoxA>   ; \MessageBoxA
0056A682  |.  E9 01030000   jmp RegOpt.0056A988
0056A687  |>  8D55 CC       lea edx,dword ptr ss:[ebp-34]
0056A68A  |.  8B83 B4030000 mov eax,dword ptr ds:[ebx+3B4]
0056A690  |.  E8 87C6EEFF   call RegOpt.00456D1C
0056A695  |.  8B45 CC       mov eax,dword ptr ss:[ebp-34]
0056A698  |.  8945 DC       mov dword ptr ss:[ebp-24],eax
0056A69B  |.  8B45 DC       mov eax,dword ptr ss:[ebp-24]
0056A69E  |.  85C0          test eax,eax
0056A6A0  |.  74 05         je short RegOpt.0056A6A7
0056A6A2  |.  83E8 04       sub eax,4
0056A6A5  |.  8B00          mov eax,dword ptr ds:[eax]
0056A6A7  |>  83F8 04       cmp eax,4
0056A6AA  |.  74 2E         je short RegOpt.0056A6DA
0056A6AC  |.  6A 40         push 40
0056A6AE  |.  A1 84055A00   mov eax,dword ptr ds:[5A0584]
0056A6B3  |.  8B80 6C080000 mov eax,dword ptr ds:[eax+86C]
0056A6B9  |.  E8 9EAFE9FF   call RegOpt.0040565C
0056A6BE  |.  50            push eax
0056A6BF  |.  8B45 FC       mov eax,dword ptr ss:[ebp-4]
0056A6C2  |.  E8 95AFE9FF   call RegOpt.0040565C
0056A6C7  |.  50            push eax
0056A6C8  |.  8BC3          mov eax,ebx
0056A6CA  |.  E8 4D41EFFF   call RegOpt.0045E81C
0056A6CF  |.  50            push eax                         ; |hOwner
0056A6D0  |.  E8 67DCE9FF   call <jmp.&user32.MessageBoxA>   ; \MessageBoxA
0056A6D5  |.  E9 AE020000   jmp RegOpt.0056A988
0056A6DA  |>  8D55 C8       lea edx,dword ptr ss:[ebp-38]
0056A6DD  |.  8B83 A4030000 mov eax,dword ptr ds:[ebx+3A4]
0056A6E3  |.  E8 34C6EEFF   call RegOpt.00456D1C
0056A6E8  |.  8B45 C8       mov eax,dword ptr ss:[ebp-38]
0056A6EB  |.  E8 C4F7E9FF   call RegOpt.00409EB4
0056A6F0  |.  8BF0          mov esi,eax                      ;  457-s1
0056A6F2  |.  8D55 C4       lea edx,dword ptr ss:[ebp-3C]
0056A6F5  |.  8B83 A8030000 mov eax,dword ptr ds:[ebx+3A8]
0056A6FB  |.  E8 1CC6EEFF   call RegOpt.00456D1C
0056A700  |.  8B45 C4       mov eax,dword ptr ss:[ebp-3C]
0056A703  |.  E8 ACF7E9FF   call RegOpt.00409EB4
0056A708  |.  8BF8          mov edi,eax                      ;  8AE-s2
0056A70A  |.  8D55 C0       lea edx,dword ptr ss:[ebp-40]
0056A70D  |.  8B83 AC030000 mov eax,dword ptr ds:[ebx+3AC]
0056A713  |.  E8 04C6EEFF   call RegOpt.00456D1C
0056A718  |.  8B45 C0       mov eax,dword ptr ss:[ebp-40]
0056A71B  |.  E8 94F7E9FF   call RegOpt.00409EB4
0056A720  |.  8945 F8       mov dword ptr ss:[ebp-8],eax     ;  D05-s3
0056A723  |.  0FAFF7        imul esi,edi                     ;  s2*s1
0056A726  |.  81EE 2B060000 sub esi,62B
0056A72C  |.  81FE 10270000 cmp esi,2710                     ;  S2*S1-62B>10000---A1
0056A732  |.  7D 2E         jge short RegOpt.0056A762
0056A734  |.  6A 40         push 40
0056A736  |.  A1 84055A00   mov eax,dword ptr ds:[5A0584]
0056A73B  |.  8B80 6C080000 mov eax,dword ptr ds:[eax+86C]
0056A741  |.  E8 16AFE9FF   call RegOpt.0040565C
0056A746  |.  50            push eax
0056A747  |.  8B45 FC       mov eax,dword ptr ss:[ebp-4]
0056A74A  |.  E8 0DAFE9FF   call RegOpt.0040565C
0056A74F  |.  50            push eax
0056A750  |.  8BC3          mov eax,ebx
0056A752  |.  E8 C540EFFF   call RegOpt.0045E81C
0056A757  |.  50            push eax                         ; |hOwner
0056A758  |.  E8 DFDBE9FF   call <jmp.&user32.MessageBoxA>   ; \MessageBoxA
0056A75D  |.  E9 26020000   jmp RegOpt.0056A988
0056A762  |>  8D55 B8       lea edx,dword ptr ss:[ebp-48]
0056A765  |.  8BC6          mov eax,esi
0056A767  |.  E8 0CF6E9FF   call RegOpt.00409D78
0056A76C  |.  8B45 B8       mov eax,dword ptr ss:[ebp-48]
0056A76F  |.  8D4D BC       lea ecx,dword ptr ss:[ebp-44]    ;  取A1之前4位
0056A772  |.  BA 04000000   mov edx,4
0056A777  |.  E8 14DDEDFF   call RegOpt.00448490
0056A77C  |.  8B45 BC       mov eax,dword ptr ss:[ebp-44]    ;  取A1第 4.5.3.6位=T1
0056A77F  |.  50            push eax
0056A780  |.  8D55 B4       lea edx,dword ptr ss:[ebp-4C]
0056A783  |.  8B83 B0030000 mov eax,dword ptr ds:[ebx+3B0]
0056A789  |.  E8 8EC5EEFF   call RegOpt.00456D1C
0056A78E  |.  8B55 B4       mov edx,dword ptr ss:[ebp-4C]    ;  比較第4格是否為T1的值
0056A791  |.  58            pop eax
0056A792  |.  E8 11AEE9FF   call RegOpt.004055A8
0056A797  |.  74 2E         je short RegOpt.0056A7C7
0056A799  |.  6A 40         push 40
0056A79B  |.  A1 84055A00   mov eax,dword ptr ds:[5A0584]
0056A7A0  |.  8B80 6C080000 mov eax,dword ptr ds:[eax+86C]
0056A7A6  |.  E8 B1AEE9FF   call RegOpt.0040565C
0056A7AB  |.  50            push eax
0056A7AC  |.  8B45 FC       mov eax,dword ptr ss:[ebp-4]
0056A7AF  |.  E8 A8AEE9FF   call RegOpt.0040565C
0056A7B4  |.  50            push eax
0056A7B5  |.  8BC3          mov eax,ebx
0056A7B7  |.  E8 6040EFFF   call RegOpt.0045E81C
0056A7BC  |.  50            push eax                         ; |hOwner
0056A7BD  |.  E8 7ADBE9FF   call <jmp.&user32.MessageBoxA>   ; \MessageBoxA
0056A7C2  |.  E9 C1010000   jmp RegOpt.0056A988
0056A7C7  |>  8B75 F8       mov esi,dword ptr ss:[ebp-8]
0056A7CA  |.  81C6 01020000 add esi,201                      ;  s3+201..s4
0056A7D0  |.  0FAFF7        imul esi,edi                     ;  s4*s2
0056A7D3  |.  81EE F50D0000 sub esi,0DF5                     ;  (s3+201)+(s4*s2)-DF5..A2
0056A7D9  |.  8D55 AC       lea edx,dword ptr ss:[ebp-54]
0056A7DC  |.  8BC6          mov eax,esi
0056A7DE  |.  E8 95F5E9FF   call RegOpt.00409D78             ;  要進入才能得到T2 ***要注意
0056A7E3  |.  8B45 AC       mov eax,dword ptr ss:[ebp-54]
0056A7E6  |.  8D4D B0       lea ecx,dword ptr ss:[ebp-50]
0056A7E9  |.  BA 04000000   mov edx,4
0056A7EE  |.  E8 9DDCEDFF   call RegOpt.00448490
0056A7F3  |.  8B45 B0       mov eax,dword ptr ss:[ebp-50]    ;  取T2第後4位
0056A7F6  |.  50            push eax
0056A7F7  |.  8D55 A8       lea edx,dword ptr ss:[ebp-58]
0056A7FA  |.  8B83 B4030000 mov eax,dword ptr ds:[ebx+3B4]
0056A800  |.  E8 17C5EEFF   call RegOpt.00456D1C
0056A805  |.  8B55 A8       mov edx,dword ptr ss:[ebp-58]    ;  比較第5格是否為T2  
0056A808  |.  58            pop eax
0056A809  |.  E8 9AADE9FF   call RegOpt.004055A8
0056A80E  |.  74 2E         je short RegOpt.0056A83E
0056A810  |.  6A 40         push 40
0056A812  |.  A1 84055A00   mov eax,dword ptr ds:[5A0584]
0056A817  |.  8B80 6C080000 mov eax,dword ptr ds:[eax+86C]
0056A81D  |.  E8 3AAEE9FF   call RegOpt.0040565C
0056A822  |.  50            push eax
0056A823  |.  8B45 FC       mov eax,dword ptr ss:[ebp-4]
0056A826  |.  E8 31AEE9FF   call RegOpt.0040565C
0056A82B  |.  50            push eax
0056A82C  |.  8BC3          mov eax,ebx
0056A82E  |.  E8 E93FEFFF   call RegOpt.0045E81C
0056A833  |.  50            push eax                         ; |hOwner
0056A834  |.  E8 03DBE9FF   call <jmp.&user32.MessageBoxA>   ; \MessageBoxA
----------------------------------------------------------------------------------------------
破解總解:
一、該軟件有五格輸入框,只驗算第4格與第5格。前3格任意記為s1 s2 s3
二、分別將輸入的值轉為16進制,如輸入1111轉為16進制=457
三、第4格驗證方式為S2*S1-62B>10000--A1;必須大於10000
    再取A1的4.5.6.3位,計為T1得到第4格的註冊碼
四、第5格驗証方式為(s3+201)+(s4*s2)-DF5=0822531F..A2
    再取A2的後4位,計為T2得到第5格的註冊碼
PS.小弟是菜鳥在破解過程中遇到一個疑問,就是T2的部份(S3輸入的是3333轉16進制為D05)
    應該是0822531F可是怎麼會是8542239不知道8542239是如何而來;後來我有追進0056A7DE call    就是不明白。
**此軟體小子贼野已發表破解文章,小弟學習**
     希望先進們予以指導      謝謝


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 7
支持
分享
最新回复 (5)
雪    币: 347
活跃值: (30)
能力值: ( LV9,RANK:420 )
在线值:
发帖
回帖
粉丝
2
仔细点看我的文章,还有我的算法总结你就会明白了
2007-9-20 19:58
0
雪    币: 234
活跃值: (114)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
3
懂了 這與你在2007年crackme所發表的不同
2007年crackme沒有提到要追進call
還有刪除登錄檔沒用 要刪除ini檔才匯回到未註冊
謝謝前輩的指導
2007-9-20 23:11
0
雪    币: 347
活跃值: (30)
能力值: ( LV9,RANK:420 )
在线值:
发帖
回帖
粉丝
4
2007年Crack Me?那个合集?那上面没我的文章呀

这个软件还要删除注册表的
2007-9-21 10:20
0
雪    币: 1919
活跃值: (901)
能力值: ( LV9,RANK:490 )
在线值:
发帖
回帖
粉丝
5
字看起有点抽象,勉强认识
2007-9-21 12:37
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
学习中。。。。。。。。
2007-9-22 18:41
0
游客
登录 | 注册 方可回帖
返回
//