蚊香 发表于 2008-9-17 14:22

自己整个CM一个

呵呵~~ 将比较简单的运算兜转了几回~~~
由于是VB的缘故 可能新手朋友搞起算法来有点昏~~~

下载: http://www.xpi386.com/other/crackme.rar

封心锁爱 发表于 2008-9-17 16:58

汗~~我就不会算法。。继续学习

小生我菜菜 发表于 2008-9-17 19:15

转得头晕,总算转出来了

蚊香 发表于 2008-9-17 21:29

PPT发分析让咱菜鸟开下眼界

小生我怕怕 发表于 2008-9-17 21:47

只要注册名是8位就可以直接追出注册码,明码比较,如果注册码超过8位或者不等于8位就算追出注册码也是错误的

wgz001 发表于 2008-9-18 07:00

小生牛哇!!! 得楼上提示追的注册码

蚊香 发表于 2008-9-18 11:40

用户名:这注册码到底是什么呢
注册码:-78597-71BF315F82

小生我怕怕 发表于 2008-9-18 11:57

引用第6楼蚊香于2008-09-18 11:40发表的:
用户名:这注册码到底是什么呢
注册码:-78597-71BF315F82


在里面有看到MD5换算,对算法不明白!

wgz001 发表于 2008-9-18 12:29

看来这问题很复杂哦

蚊香 发表于 2008-9-18 18:36


'添加两个文本框
'添加MD5模块
Private Sub Text1_Change()
Dim Name, str1, str2, str3 As String
Dim L, i, J As Integer
Dim sn1, sn2, sn3, sn4 As Long
Name = CStr(Text1.Text)
L = Len(Name) 'L=用户名位数
If L = 0 Or L Mod 2 <> 0 Or L < 8 Or L > 24 Then &#39;预设用户名条件
Text2.Text = "用户名位数必须为8-24之间的偶数"

Else

For i = 1 To L
sn1 = sn1 + Asc(Mid(Name, i, 1)) &#39;sn1=用户名ASCII之和
Next i

For J = 2 To L
sn2 = sn2 + Asc(Mid(Name, J, 1)) &#39;sn2=用户名偶数位ASCII之和
J = J + 1
Next J

sn3 = sn1 - sn2 &#39;sn3=用户名奇数位ASCII之和
sn4 = sn2 * (L / 2)
str1 = MD5(CStr(sn4)) &#39;MD5运算
str2 = StrReverse(str1) &#39;倒序
str3 = Mid(str2, 11, 10) &#39;取倒序后的11-20位
str4 = CStr(sn3) & "-" & str3

Text2.Text = str4

End If
End Sub
页: [1] 2
查看完整版本: 自己整个CM一个