Super Cleaner v2.96 简单算法
Super Cleaner v2.96是帮助用户清洗他们的计算机硬盘内不必要的文件的程序。它能扫描你的系统让你选择不再需要的文件进行删除。并能备份文件已避免你误删除有用的文件,此备份功能将不必要的文件扔进再循环箱,这样可以让你再必要的时候恢复信息。老外软件有汉化版,这个小工具还不错的 http://www.newhua.com/soft/6433.htm
OD载入 BP MessageBoxA 下断很快来到关键
004256E9 55 push ebp
004256EA 50 push eax
004256EB C64424 18 00 mov byte ptr ss:,0
004256F0 E8 8BAA0000 call SuperCle.00430180
004256F5 8D5C24 18 lea ebx,dword ptr ss:
004256F9 E8 B2000000 call SuperCle.004257B0 ; 算法CALL,跟进
004256FE 56 push esi
004256FF 8BFB mov edi,ebx
00425701 E8 0AFFFFFF call SuperCle.00425610 ; 真假码比较
00425706 83C4 10 add esp,10
00425709 85C0 test eax,eax
0042570B 74 05 je short SuperCle.00425712 ; 不能跳
//////// 跟进算法CALL ////////
004257B0 81EC 04010000 sub esp,104
004257B6 A1 44504400 mov eax,dword ptr ds:
004257BB 33C4 xor eax,esp
004257BD 898424 00010000 mov dword ptr ss:,eax
004257C4 55 push ebp
004257C5 56 push esi
004257C6 68 FF000000 push 0FF
004257CB 8D4424 0D lea eax,dword ptr ss:
004257CF 6A 00 push 0
004257D1 50 push eax
004257D2 C64424 14 00 mov byte ptr ss:,0
004257D7 E8 A4A90000 call SuperCle.00430180
004257DC 83C4 0C add esp,0C
004257DF 57 push edi
004257E0 FF15 A8D24300 call dword ptr ds:[<&KERNEL32.lstrlenA>>; kernel32.lstrlenA
004257E6 8BF0 mov esi,eax //逐位取用户名长度入eax
004257E8 33C9 xor ecx,ecx
004257EA 33C0 xor eax,eax
004257EC 85F6 test esi,esi
004257EE 7E 15 jle short SuperCle.00425805
004257F0 8B15 8C654400 mov edx,dword ptr ds: ; ds:=00000026
004257F6 0FBE2C07 movsx ebp,byte ptr ds: //逐位取用户名ASCII码
004257FA 03EA add ebp,edx ; 相加
004257FC 83C0 01 add eax,1
004257FF 03CD add ecx,ebp
00425801 3BC6 cmp eax,esi //再累加
00425803 ^ 7C F1 jl short SuperCle.004257F6
00425805 51 push ecx
00425806 68 D01A4400 push SuperCle.00441AD0 ; ASCII "%ld-" 输入格式
0042580B 53 push ebx
0042580C FF15 8CD44300 call dword ptr ds:[<&USER32.wsprintfA>] ; USER32.wsprintfA
00425812 83C4 0C add esp,0C
00425815 33C9 xor ecx,ecx
00425817 33C0 xor eax,eax
00425819 85F6 test esi,esi
0042581B 7E 16 jle short SuperCle.00425833
0042581D 8B15 90654400 mov edx,dword ptr ds: ; ds:=00000034
00425823 0FBE2C07 movsx ebp,byte ptr ds: //逐位取用户名ASCII码
00425827 0FAFEA imul ebp,edx ; 相乘
0042582A 83C0 01 add eax,1
0042582D 03CD add ecx,ebp
0042582F 3BC6 cmp eax,esi //再累加
00425831 ^ 7C F0 jl short SuperCle.00425823
00425833 51 push ecx
00425834 8D4C24 0C lea ecx,dword ptr ss:
00425838 68 D01A4400 push SuperCle.00441AD0 ; ASCII "%ld-"
0042583D 51 push ecx
0042583E FF15 8CD44300 call dword ptr ds:[<&USER32.wsprintfA>] ; USER32.wsprintfA
00425844 83C4 0C add esp,0C
00425847 8D5424 08 lea edx,dword ptr ss:
0042584B 52 push edx
0042584C 53 push ebx
0042584D FF15 B4D24300 call dword ptr ds:[<&KERNEL32.lstrcatA>>; kernel32.lstrcatA
00425853 33C9 xor ecx,ecx
00425855 33C0 xor eax,eax
00425857 85F6 test esi,esi
00425859 7E 15 jle short SuperCle.00425870
0042585B 8B15 94654400 mov edx,dword ptr ds: ; ds:=0000000C
00425861 0FBE2C07 movsx ebp,byte ptr ds: //逐位取用户名ASCII码
00425865 03EA add ebp,edx ; 相加
00425867 83C0 01 add eax,1
0042586A 03CD add ecx,ebp
0042586C 3BC6 cmp eax,esi //再累加
0042586E ^ 7C F1 jl short SuperCle.00425861
00425870 51 push ecx
00425871 8D4424 0C lea eax,dword ptr ss:
00425875 68 D01A4400 push SuperCle.00441AD0 ; ASCII "%ld-"
0042587A 50 push eax
0042587B FF15 8CD44300 call dword ptr ds:[<&USER32.wsprintfA>] ; USER32.wsprintfA
00425881 83C4 0C add esp,0C
00425884 8D4C24 08 lea ecx,dword ptr ss:
00425888 51 push ecx
00425889 53 push ebx
0042588A FF15 B4D24300 call dword ptr ds:[<&KERNEL32.lstrcatA>>; kernel32.lstrcatA
00425890 33C9 xor ecx,ecx
00425892 33C0 xor eax,eax
00425894 85F6 test esi,esi
00425896 7E 18 jle short SuperCle.004258B0
00425898 8B15 98654400 mov edx,dword ptr ds: ; ds:=0000000E
0042589E 8BFF mov edi,edi
004258A0 0FBE2C07 movsx ebp,byte ptr ds: //逐位取用户名ASCII码
004258A4 0FAFEA imul ebp,edx ; 相乘
004258A7 83C0 01 add eax,1
004258AA 03CD add ecx,ebp //再累加
004258AC 3BC6 cmp eax,esi
004258AE ^ 7C F0 jl short SuperCle.004258A0
004258B0 51 push ecx
004258B1 8D5424 0C lea edx,dword ptr ss:
004258B5 68 D81A4400 push SuperCle.00441AD8 ; ASCII "%ld"
004258BA 52 push edx
004258BB FF15 8CD44300 call dword ptr ds:[<&USER32.wsprintfA>] ; USER32.wsprintfA
004258C1 83C4 0C add esp,0C
004258C4 8D4424 08 lea eax,dword ptr ss:
004258C8 50 push eax
004258C9 53 push ebx
004258CA FF15 B4D24300 call dword ptr ds:[<&KERNEL32.lstrcatA>>; kernel32.lstrcatA
004258D0 8B8C24 08010000 mov ecx,dword ptr ss:
004258D7 5E pop esi
004258D8 5D pop ebp
004258D9 33CC xor ecx,esp
004258DB E8 0C540000 call SuperCle.0042ACEC
004258E0 81C4 04010000 add esp,104
004258E6 C3 retn
注册信息在HKEY_CURRENT_USER\Software\SuperCleaner\Registration
可以看到算法非常简单,四个简单的循环得到的结果连接起来,如VB注册机:
Private Sub Command1_Click()
Dim i, edx, SN1, SN2, SN3, SN4 As Integer
For i = 1 To Len(RegName.Text)
edx = 38
SN1 = SN1 + Asc(Mid(RegName.Text, i)) + edx
Next i
For i = 1 To Len(RegName.Text)
edx = 52
SN2 = SN2 + Asc(Mid(RegName.Text, i)) * edx
Next i
For i = 1 To Len(RegName.Text)
edx = 12
SN3 = SN3 + Asc(Mid(RegName.Text, i)) + edx
Next
For i = 1 To Len(RegName.Text)
edx = 14
SN4 = SN4 + Asc(Mid(RegName.Text, i)) * edx
Next
RegCode.Text = SN1 & "-" & SN2 & "-" & SN3 & "-" & SN4
End Sub
--------------------------------------
一组注册码
Name:Bbs.ChinaPYG.CoM
Code:1957-70148-1541-18886 支持+学习~~~
页:
[1]