某专业起名程序注册码分析与注册机

查看 210|回复 18
作者:ps122   
前言
看到论坛讨论帖:(https://www.52pojie.cn/thread-1879511-1-1.html),有了这篇注册机分析与注册机。
分析过程
从原帖可知Net程序,有混淆。


1.png (42.01 KB, 下载次数: 0)
下载附件
2024-1-12 11:15 上传

直接de4处理并找到注册验证:


2.png (92.71 KB, 下载次数: 0)
下载附件
2024-1-12 11:15 上传

[C#] 纯文本查看 复制代码   private void method_0(object sender, EventArgs e)
{
ProjectData.ClearProjectError();
if (Class18.bool_16)
{
base.Close();
}
else if (Strings.Len(Class15.string_1) == 0)
{
Interaction.MsgBox("机器码不能为空,如不能解决,请与南方联系。", MsgBoxStyle.OkOnly, null);
}
else
{
Conversions.ToString(Class1.smethod_0().Registry.GetValue("HKEY_CURRENT_USER\Software\NanfangSoft .net\ProName730", "PCNB", ""));
string text = Strings.Trim(this.vmethod_2().Text);
string text2 = Strings.Trim(this.vmethod_6().Text);
if ((text2.Length  15)) //长度15位
{
this.vmethod_0().Text = "注册码不对!";
}
else
{
string text3 = Strings.Mid(text2, 1, 4) + Strings.Mid(text2, 9, 4);
string text4 = Strings.Mid(text2, 5, 1);
string text5 = Strings.Mid(text2, 6, 1);
string text6 = Strings.Mid(text2, 7, 1);
string text7 = Strings.Mid(text2, 8, 1);
string text8 = Strings.Mid(text2, 13, 1);
string str = Strings.Mid(text2, 14, 1);
if ((Operators.CompareString(text4, "6", false) == 0) | (Operators.CompareString(text4, "7", false) == 0) | (Operators.CompareString(text4, "B", false) == 0))
{
text4 = "1";
}
if ((Operators.CompareString(text4, "8", false) == 0) | (Operators.CompareString(text4, "9", false) == 0) | (Operators.CompareString(text4, "C", false) == 0))
{
text4 = "2";
}
if (Operators.CompareString(text5, "A", false) == 0)
{
text5 = "0";
}
if (Operators.CompareString(text5, "B", false) == 0)
{
text5 = "1";
}
if (Operators.CompareString(text5, "C", false) == 0)
{
text5 = "2";
}
if (Operators.CompareString(text5, "D", false) == 0)
{
text5 = "3";
}
if (Operators.CompareString(text5, "E", false) == 0)
{
text5 = "4";
}
if (Operators.CompareString(text5, "F", false) == 0)
{
text5 = "5";
}
if (Operators.CompareString(text5, "G", false) == 0)
{
text5 = "6";
}
if (Operators.CompareString(text5, "H", false) == 0)
{
text5 = "7";
}
if (Operators.CompareString(text5, "J", false) == 0)
{
text5 = "8";
}
if (Operators.CompareString(text5, "K", false) == 0)
{
text5 = "9";
}
string value = "20" + text4 + text5;//5、6位组成年份
if ((Operators.CompareString(text6, "6", false) == 0) | (Operators.CompareString(text6, "7", false) == 0) | (Operators.CompareString(text6, "B", false) == 0))
{
text6 = "1";
}
if ((Operators.CompareString(text6, "4", false) == 0) | (Operators.CompareString(text6, "5", false) == 0) | (Operators.CompareString(text6, "A", false) == 0))
{
text6 = "0";
}
if (Operators.CompareString(text7, "A", false) == 0)
{
text7 = "0";
}
if (Operators.CompareString(text7, "B", false) == 0)
{
text7 = "1";
}
if (Operators.CompareString(text7, "C", false) == 0)
{
text7 = "2";
}
if (Operators.CompareString(text7, "D", false) == 0)
{
text7 = "3";
}
if (Operators.CompareString(text7, "E", false) == 0)
{
text7 = "4";
}
if (Operators.CompareString(text7, "F", false) == 0)
{
text7 = "5";
}
if (Operators.CompareString(text7, "G", false) == 0)
{
text7 = "6";
}
if (Operators.CompareString(text7, "H", false) == 0)
{
text7 = "7";
}
if (Operators.CompareString(text7, "J", false) == 0)
{
text7 = "8";
}
if (Operators.CompareString(text7, "K", false) == 0)
{
text7 = "9";
}
string value2 = text6 + text7;//7、8位组成月份
if (Operators.CompareString(text8, "A", false) == 0)
{
text8 = "0";
}
if (Operators.CompareString(text8, "B", false) == 0)
{
text8 = "1";
}
if (Operators.CompareString(text8, "C", false) == 0)
{
text8 = "2";
}
string value3 = text8 + str;//13、14位组成日
if (((text2.Length == 15) & ((Operators.CompareString(Strings.Mid(text2, 15, 1), "1", false) == 0) | (Operators.CompareString(Strings.Mid(text2, 15, 1), "2", false) == 0))) && Class1.smethod_0().FileSystem.FileExists(Class20.string_8 + "\syspnam730.dll"))
{
Class1.smethod_0().FileSystem.DeleteFile(Class20.string_8 + "\syspnam730.dll");
}
int num = Conversions.ToInteger(value);//年  28) | (num  2030) | (num2  12) | (num
分析可知:注册码长度15位,1-4位+9-12位为机器码转换信息,5、6位授权年份信息,7、8位授权月份信息,13、14位授权日信息,第15位1或2固定。
且年
机器码和注册码比较Class18.smethod_3(ref text, ref text3)


3.png (23.78 KB, 下载次数: 0)
下载附件
2024-1-12 11:15 上传

跟进看一下,调用太复杂,不容易得到算法,也是原贴楼主困惑的地方,相互调用太多了,直接挖代码可能有难度,换个思路直接反射调用。


4.png (18.45 KB, 下载次数: 0)
下载附件
2024-1-12 11:15 上传



5.png (22.2 KB, 下载次数: 0)
下载附件
2024-1-12 11:15 上传

注册机编写
试了下反射调用成功。
获取机器码:


6.png (12.46 KB, 下载次数: 0)
下载附件
2024-1-12 11:21 上传

机器码转换:


7.png (11.6 KB, 下载次数: 0)
下载附件
2024-1-12 11:21 上传

注册码拼接:


8.png (26.33 KB, 下载次数: 0)
下载附件
2024-1-12 11:21 上传

搞定~~~


9.png (17.24 KB, 下载次数: 0)
下载附件
2024-1-12 11:21 上传

食用说明
仅限于学习交流,请勿用于商业或非法用途。

下载次数, 注册码

xuanle6   

直接修改
[color=]ar
单元
[color=]c()
子程序的代码就可以,无需注册

成品下载:
https://xuanle.lanzoul.com/i0tdQ1l93g8j

ar.cs文件中的代码直接改成这样

        public static void c()


        {


                ar.g();


                ar.f();


                ar.o = true;


        }
dork   

从来没有接触过C#,用 了二个小时终于编译出来EXE了


360截图20240115224856110.png (26 KB, 下载次数: 0)
下载附件
2024-1-15 22:49 上传

b176877840   

反射方法是很好,但纯算法还是值得分析的


image.png (103.32 KB, 下载次数: 0)
下载附件
2024-1-15 18:26 上传

3yu3   


yangxiaofeng 发表于 2024-1-14 22:21
52604-77305-62920-20730
注册人姓名 Administrator
求助攻!!!

37319F7CR221C82
ppszxc   

反射用法炉火纯情,值得一学。。。
nojon   

谢谢楼主,又学了一招。
dork   

楼主再出一个反射教程就好了,小白们好学习学习
ps122
OP
  


waynevan 发表于 2024-1-16 10:12
大佬 帮我算下,谢谢,给你热心
谁帮我算下 谢谢,给你点热心
00352-79418-62920-20730

7N529J7BN754B12
清曜氷叶   


jyjjf 发表于 2024-1-12 12:46
求安装包分享

http://www.downcc.com/soft/271707.html 这里下载的
您需要登录后才可以回帖 登录 | 立即注册

返回顶部