偶的第一个C#的CrackMe
此CrackMe米经过任何处理。。。所以爆破很简单。。。大家最好还是写出它的算法来吧。。。:$ 原帖由 lovewxt 于 2007-2-9 22:47 发表感谢兄弟为大家制作练手的好东东
算法很简单的说。。只是偶们论坛.net的东东太少了。/:D 大家练练吧。
有时间做点有难度的算法:$ :L :L :L 你没.NET Framwork:$ :$ 原来如此,惭愧惭愧:$ :$ :$ private void button3_Click(object sender, EventArgs e)
{
foreach (char ch1 in this.textBox1.Text)
{
foreach (char ch2 in this.textBox1.Text)
{
foreach (char ch3 in this.textBox1.Text)
{
this.z = ((int) ((ch1 + ch2) + ch3)) + "521";
}
}
}
if (this.textBox2.Text == this.z)
{
this.textBox1.Text = "GOOD!YOU GET IT!";
}
else
{
this.textBox2.Text = "ERROR,COME ON...";
}
} 原帖由 ww-jack 于 2007-2-10 18:22 发表
private void button3_Click(object sender, EventArgs e)
{
foreach (char ch1 in this.textBox1.Text)
{
foreach (char ch2 in this.textBox1.Text)
{
...
工具太厉害了说。。。:$ 原帖由 ww-jack 于 2007-2-10 18:22 发表
private void button3_Click(object sender, EventArgs e)
{
foreach (char ch1 in this.textBox1.Text)
{
foreach (char ch2 in this.textBox1.Text)
{
...
这样写代码会存在BUG,造成多个用户名有同一个注册码,呵呵!
例:
chinapyg.com
www.chinapyg.com
对应的注册码都是:
327521
不过,我猜你是故意的,这2个域名本来都指向PYG嘛!哈~:victory:
贴上注册机源码(按照作者的格式翻译),方便楼下的参考:
VB:
Private Sub Command1_Click()
Dim name As String
Dim i, j, k As Integer
Dim lenname As Integer
Dim sum As Long
name = Text1.Text
lenname = Len(name)
For i = 1 To lenname
For j = 1 To lenname
For k = 1 To lenname
sum = Asc(Mid(name, i, 1)) + Asc(Mid(name, j, 1)) + Asc(Mid(name, k, 1)) & "521"
Next
Next
Next
Text2.Text= sum
End Sub
VC++
#include "iostream.h"
#include "stdio.h"
#include "windows.h"
void main()
{
char Name;
int Sum=0;
int LenName=0;
cout<<"Please Input Your Name:\n";
cin>>Name;
LenName = unsigned(strlen(Name));
for(int i=0;i<LenName;i++)
{
for(int j=0;j<LenName;j++)
{
for(int k=0;k<LenName;k++)
{
Sum = Name+Name+Name;
}
}
}
cout<<"Your Serial is:\n"<<Sum<<"521"<<endl;
getchar();
} 老大看走眼了。。。
其实本CrackMe的BUG很严重的说。。。
不只是老大给出的chinapyg.com
www.chinapyg.com
这2个注册码一样,用户名的最后一位相同的所以注册码都是一样的。。:lol: :$
此CrackMe本来不是想这么写的,最后想写成这个
private void button3_Click(object sender, EventArgs e)
{
foreach (char ch1 in this.textBox1.Text)
{
foreach (char ch2 in this.textBox1.Text)
{
foreach (char ch3 in this.textBox1.Text)
{
this.z + = ((int) ((ch1 + ch2) + ch3)) + "521";
}
}
}
注册码BUG就没这么严重了。。但是注册码会很长,而且有溢出的危险。。:L
所以就空写了2个循环,浪费大家点精力。。。但是忽略.NET下的PE能直接反编译成源代码。。:L
注册机只要取注册名的最后一位的ASCII乘以3再加上字符串“521”就是注册码了:$
老大的注册机写麻烦了o(∩_∩)o...哈哈
[ 本帖最后由 coolpeople 于 2007-2-10 21:02 编辑 ] 原帖由 coolpeople 于 2007-2-10 20:54 发表
老大看走眼了。。。
其实本CrackMe的BUG很严重的说。。。
不只是老大给出的chinapyg.com
www.chinapyg.com
这2个注册码一样,用户名的最后一位相同的所以注册码都是一样的。。:lol: :$
此CrackMe本来不是 ...
;P
偶只喜欢这两个域名的说,;P
chinapyg.com
www.chinapyg.com
我说了按照你的代码流程翻译源码的,方便楼下阅读~~
页:
[1]
2