Bioreactor Design V4.0破解

11,406次阅读
没有评论

共计 7918 个字符,预计需要花费 20 分钟才能阅读完成。

目标:

    软件名称:Bioreactor Design

环境:

  WIN7 64

破解工具:

    DetectItEasy

    ScanId

    De4dot

    Reflector

仅限技术交流,不提供任何破解补丁!

软件界面:

Bioreactor Design V4.0破解

先查壳:

Bioreactor Design V4.0破解

.net  无壳  然后再查是否支持De4

Bioreactor Design V4.0破解

扫描结果:未知壳         支持de4

软件是64位的   丢到de4dot-x64里面脱壳,在软件目录下会生成BRD2012-cleaned.exe

Bioreactor Design V4.0破解

BRD2012-cleaned.exe丢到Reflector里面反编译出一套源码


        private void knop_registratie_Click(object sender, EventArgs e)
        {
            if (this.Tekst_Reg_Naam.Text == "")
            {
                MessageBox.Show("Please complete your registration name", "Message", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
            }
            else
            {
                BRD2008.Reg_Naam = this.Tekst_Reg_Naam.Text;
                BRD2008.Reg_Code = (long) Math.Round(Conversion.Val(this.Tekst_Reg_Code.Text));
                BRD2008.Reg_Naam_Lengte = BRD2008.Reg_Naam.Length;
                BRD2008.Reg_Getal = 0;
                BRD2008.Controle_registratie();
                if (BRD2008.Registratie_Controle)
                {
                    MessageBox.Show("Thank you for the registration of Bioreactor Design.", "Message", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                }
                else
                {
                    MessageBox.Show("The registration code was wrong.", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
                this.Close();
            }
        }

通过错误提示语,找到这段注册代码。从源代码不难看出,注册成功与否,来自BRD2008.Registratie_Controle它,而它的定义是:public static bool Registratie_Controle;

猜想:TRUE=注册成功  FALSE=注册失败,如果是爆破 那就需要在程序启动的时候进行   Registratie_Controle 赋值,简单的看了一眼,放弃了。(如果能写注册机为何还要爆破呢)


通过上面的代码,我发现真正的Registratie_Controle赋值的是这一个函数BRD2008.Controle_registratie()

进入到这个函数的里面,我觉得可以直接做注册机。

  public static void Controle_registratie()
        {
            Registratie_Controle = false;
            Registratie_Single = false;
            Registratie_Education = false;
            Registratie_Company = false;
            Registratie_miniplants = false;
            int num = Reg_Naam_Lengte;
            teller_reg = 1;
            while (teller_reg <= num)
            {
                Reg_Letter = Conversions.ToChar(Strings.Mid(Reg_Naam, teller_reg, 1));
                Reg_Getal += Strings.Asc(Reg_Letter);
                teller_reg++;
            }
            Reg_Single = (Reg_Getal * 7) + 0xd52a5;
            Reg_Education = (Reg_Getal * 0x11) + 0x8f2ab2;
            Reg_Company = (Reg_Getal * 0x17) + 0x31fc38;
            if (Reg_Code == Reg_Single)
            {
                Registratie_Controle = true;
                Registratie_Single = true;
                MyProject.Forms.Form_about.Label_Licence.Text = "Single User Licence";
                MyProject.Forms.Form_registratie.Label_Licence.Text = "Single User Licence";
                MySettingsProperty.Settings.Setting_Licentie = "Single User Licence";
                MyProject.Forms.Form_registratie.Tekst_Reg_Naam.Enabled = false;
                MyProject.Forms.Form_registratie.Tekst_Reg_Code.Visible = false;
                MyProject.Forms.Form_registratie.Label_Reg_Code.Visible = false;
                MyProject.Forms.Form_registratie.LinkLabel1.Visible = false;
                MyProject.Forms.Form_registratie.Tekst_Licentie.Visible = false;
                MyProject.Forms.Form_karakteristieken.menu_file.Enabled = true;
                MyProject.Forms.Form_karakteristieken.Tekst_startN.Enabled = true;
                MyProject.Forms.Form_karakteristieken.Tekst_deltaN.Enabled = true;
                MyProject.Forms.Form_about.Label_eigenaar.Text = Reg_Naam;
                MyProject.Forms.Form_registratie.CheckBox1.Visible = false;
                MyProject.Forms.Form_registratie.knop_registratie.Visible = false;
                MyProject.Forms.Form_karakteristieken.Tekst_Hv_Tv.Enabled = true;
                MyProject.Forms.Form_karakteristieken.Tekst_Hv.Enabled = true;
                MyProject.Forms.Form_karakteristieken.Tekst_Tv.Enabled = true;
                MyProject.Forms.Form_karakteristieken.Tekst_Vw.Enabled = true;
                MyProject.Forms.Form_karakteristieken.Tekst_Vw_V.Enabled = true;
                MyProject.Forms.Form_karakteristieken.Tekst_Hw.Enabled = true;
            }
            if (Reg_Code == Reg_Education)
            {
                Registratie_Controle = true;
                Registratie_Education = true;
                MyProject.Forms.Form_about.Label_Licence.Text = "Education Licence";
                MyProject.Forms.Form_registratie.Label_Licence.Text = "Education Licence";
                MySettingsProperty.Settings.Setting_Licentie = "Education Licence";
                MyProject.Forms.Form_registratie.Tekst_Reg_Naam.Enabled = false;
                MyProject.Forms.Form_registratie.Tekst_Reg_Code.Visible = false;
                MyProject.Forms.Form_registratie.Label_Reg_Code.Visible = false;
                MyProject.Forms.Form_registratie.LinkLabel1.Visible = false;
                MyProject.Forms.Form_registratie.Tekst_Licentie.Visible = false;
                MyProject.Forms.Form_karakteristieken.menu_file.Enabled = true;
                MyProject.Forms.Form_karakteristieken.Tekst_startN.Enabled = true;
                MyProject.Forms.Form_karakteristieken.Tekst_deltaN.Enabled = true;
                MyProject.Forms.Form_about.Label_eigenaar.Text = Reg_Naam;
                MyProject.Forms.Form_registratie.CheckBox1.Visible = false;
                MyProject.Forms.Form_registratie.knop_registratie.Visible = false;
                MyProject.Forms.Form_karakteristieken.Tekst_Hv_Tv.Enabled = true;
                MyProject.Forms.Form_karakteristieken.Tekst_Hv.Enabled = true;
                MyProject.Forms.Form_karakteristieken.Tekst_Tv.Enabled = true;
                MyProject.Forms.Form_karakteristieken.Tekst_Vw.Enabled = true;
                MyProject.Forms.Form_karakteristieken.Tekst_Vw_V.Enabled = true;
                MyProject.Forms.Form_karakteristieken.Tekst_Hw.Enabled = true;
            }
            if (Reg_Code == Reg_Company)
            {
                Registratie_Controle = true;
                Registratie_Company = true;
                MyProject.Forms.Form_about.Label_Licence.Text = "Company Licence";
                MyProject.Forms.Form_registratie.Label_Licence.Text = "Company Licence";
                MySettingsProperty.Settings.Setting_Licentie = "Company Licence";
                MyProject.Forms.Form_registratie.Tekst_Reg_Naam.Enabled = false;
                MyProject.Forms.Form_registratie.Tekst_Reg_Code.Visible = false;
                MyProject.Forms.Form_registratie.Label_Reg_Code.Visible = false;
                MyProject.Forms.Form_registratie.Tekst_Licentie.Visible = false;
                MyProject.Forms.Form_registratie.LinkLabel1.Visible = false;
                MyProject.Forms.Form_karakteristieken.menu_file.Enabled = true;
                MyProject.Forms.Form_karakteristieken.Tekst_startN.Enabled = true;
                MyProject.Forms.Form_karakteristieken.Tekst_deltaN.Enabled = true;
                MyProject.Forms.Form_about.Label_eigenaar.Text = Reg_Naam;
                MyProject.Forms.Form_registratie.CheckBox1.Visible = false;
                MyProject.Forms.Form_registratie.knop_registratie.Visible = false;
                MyProject.Forms.Form_karakteristieken.Tekst_Hv_Tv.Enabled = true;
                MyProject.Forms.Form_karakteristieken.Tekst_Hv.Enabled = true;
                MyProject.Forms.Form_karakteristieken.Tekst_Tv.Enabled = true;
                MyProject.Forms.Form_karakteristieken.Tekst_Vw.Enabled = true;
                MyProject.Forms.Form_karakteristieken.Tekst_Vw_V.Enabled = true;
                MyProject.Forms.Form_karakteristieken.Tekst_Hw.Enabled = true;
            }
            if (Registratie_Controle)
            {
                MySettingsProperty.Settings.Setting_Reg_Naam = Reg_Naam;
                MySettingsProperty.Settings.Setting_Reg_Code = Conversions.ToString(Reg_Code);
            }
        }

这段代码已经暴露了软件的算法,然后自己根据软件的加密算法,自己用C#写了一个注册机,完美的破解了这个软件。

结果:

Bioreactor Design V4.0破解

Bioreactor Design V4.0破解


官网出售价格:

Bioreactor Design V4.0破解



正文完
 0
admin
版权声明:本站原创文章,由 admin 于2016-11-15发表,共计7918字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码