coolpeople 发表于 2007-2-9 22:10:07

偶的第一个C#的CrackMe

此CrackMe米经过任何处理。。。所以爆破很简单。。。大家最好还是写出它的算法来吧。。。:$

coolpeople 发表于 2007-2-9 22:59:58

原帖由 lovewxt 于 2007-2-9 22:47 发表
感谢兄弟为大家制作练手的好东东
算法很简单的说。。只是偶们论坛.net的东东太少了。/:D 大家练练吧。
有时间做点有难度的算法:$

极速暴龙 发表于 2007-2-10 10:35:54

:L :L :L

coolpeople 发表于 2007-2-10 15:54:13

你没.NET Framwork:$ :$

极速暴龙 发表于 2007-2-10 16:38:51

原来如此,惭愧惭愧:$ :$ :$

ww-jack 发表于 2007-2-10 18:22:32

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...";
      }
}

coolpeople 发表于 2007-2-10 18:37:45

原帖由 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)
            {
         ...
工具太厉害了说。。。:$

飘云 发表于 2007-2-10 20:03:02

原帖由 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();
}

coolpeople 发表于 2007-2-10 20:54:53

老大看走眼了。。。
其实本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 编辑 ]

飘云 发表于 2007-2-10 20:59:09

原帖由 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
查看完整版本: 偶的第一个C#的CrackMe