高手先闪吧……这个是古董级文章了,盘子里找出来的……
都不记得什么写的了。反正没事就发上来了……
首先用DeDeDark分析,DELPHI^-^呵呵
载入OD
(分析见附件,字体太乱)
吐血!花了我大约4个小时。主要原因是我太菜了…………
总结一下算法。
1 如果注册名长度<9 then 注册名不断复制自己,直到长度超过9
2 判断注册号长度,<>9去死
3 abs(asc(每位注册号)-asc(每位注册名)),存入数组
4 双循环,如果数组中有相等的量且当前位数>3,去死!
5 判断
差数组中的元素
1,2,3 =15
1,4,7 =15
2,5,8 =15
3,6,9 =15
1,5,9 =15
3,5,7 =15
(例:1 2 3=15意思是数组中的1 2 3的和是否为15,就是说abs(asc(1,3,5)-asc(1,3,5))是否为15)
6 如果其中有1个不是15,就把标志+1
7 最后用一个中间迷惑你的数除以标志,如果这个数<>0,就进不了SEH,就注册失败
虽说这是个不定方程,也有很多组解。但是我被折磨得够戗,所以简单写了个求1组的程序
Private Sub Command1_Click()
For a1 = 1 To 9
For a2 = 1 To 9
For a3 = 1 To 9
For a4 = 1 To 9
For a5 = 1 To 9
For a6 = 1 To 9
For a7 = 1 To 9
For a8 = 1 To 9
a9 = 45 - (a1 + a2 + a3 + a4 + a5 + a6 + a7 + a8)
If a1 + a2 + a3 = 15 And a1 + a4 + a7 = 15 And a2 + a5 + a8 = 15 And a3 + a6 + a9 = 15 And a1 + a5 + a9 = 15 And a3 + a5 + a7 = 15 Then
If a9 > 0 And a1 * a2 * a3 * a4 * a5 * a6 * a7 * a8 * a9 = 362880 Then
Open XXXXXXth + "\ok.txt" For Append As #1 Print
#1, a1, a2, a3, a4, a5, a6, a7, a8, a9
Close
#1 MsgBox "finish!"
Exit Sub
End If
End If
Next
Next
Next
Next
Next
Next
Next
Next
End Sub
最后得出一组解是276951438,再编个注册机就OK了:)
注册机代码:
=================
==========================
附:2组注册码:
User Name:NoNameSwordMan
Serial Sum[s:10]hTXhdOtg
User Name:XXXXXXXXXXXXXSerial:dim%kd`f
==========================
GameUnCrackMe01_by_NONAME剑人.rar
182.94KB
RAR
20次下载