.Net程序的第一次尝试,不完全破解版。
本人不是学计算机的,以前觉得.Net程序觉得很神秘,无从下手,最近看到论坛有几篇.Net程序的破解教程( 某微信通讯录工具的简单修改、某排8X软件),深受启发,在此谢谢zybn的热心回复,正好手头有一个PDF分割软件,30天试用期,用Exeinfo PE 测了一下,是.Net程序,按照教程用Dnspy加载,乱七八糟,看不懂,估计有混淆,祭出 .Net Reactor Slayer v6.4.0 ,反混淆,再次打开,瞬间清爽很多,奇怪的是我用搜索查找注册码,无法找到任何信息,凭着代码命名,找到到一些关键点,奈何小白基础差,算法部分看不懂,就简单粗暴的,直接暴力破解。判断部分unregister都改为register,另外购买按钮部分代码清除,这样就不会跳转网站了。最后保存修改,运行
30次后可以正常使用,但有2点遗憾,一是每次运行这个注册窗口会弹出,二是分割的文件有试用版水印,希望向各位大佬学习。 准备一对RSA,首先替换程序内的公匙,也就是this.string_0
PublicKey(XML):
<RSAKeyValue><Modulus>xLulVas14drnvenld8E8CZXIgojMxFvEHdvyITwCT/gP+L4J4iymyi2L0HCeOdCVf8QNUzOAGtpD5/8wxnQuxcYsg1TbfvJGHimttjN52NvRKSbbMb9mgP7XbKQpAVh78pZiCaLh5B7X0GXzSp5PtuBtpSPf3c0B9R/g8hyIWrk=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>
PrivateKey(XML):
<RSAKeyValue><Modulus>xLulVas14drnvenld8E8CZXIgojMxFvEHdvyITwCT/gP+L4J4iymyi2L0HCeOdCVf8QNUzOAGtpD5/8wxnQuxcYsg1TbfvJGHimttjN52NvRKSbbMb9mgP7XbKQpAVh78pZiCaLh5B7X0GXzSp5PtuBtpSPf3c0B9R/g8hyIWrk=</Modulus><Exponent>AQAB</Exponent><P>3Tj7RaCF0xsEMqNnOz5grapHggiLs5+YO+DiSsYGRWQCTDSj48VWC+4WDasbMj4dqbGsDK4iKy1qehvt0PABpw==</P><Q>46kXClXBjO8NaMsK2M43ZMCD+r66bBnCYPdT6t2RE9RcpUz+2tW9VQPy6Y2OQAY6pYSJG2vsfICTly8wZvCMnw==</Q><DP>dkuzKg9loHaQ7xcr66U2g4dLx8AUHFBaUqK1v3BXCCIrjF6VyQXMNoLxLgvydhJ7QDPvIbS4NsiJaJSovhKpfw==</DP><DQ>d/94lYn+KzsV5lafsQeBSynuZwyBVtl9C39STEndXoZhDwA2lUJ0OYuLTm++uyCNaREi88E/NaDQKrBE4v2IIQ==</DQ><InverseQ>NVp4ze3XaxOijt0wlf7DBSU18HAXiacyHp7Sy70KutNsWAJ2kwj62MnxO/iGrbBPs5kQ/f77E05rGx95nLkEug==</InverseQ><D>DvYWRMWYe2yiYxb+lHTlk/UIIqU0rVotN/gaGdzucBZ1YH1TUxgCNy3vjBKEdfEe7XCDcuhfvasLrwEBPJZpWA7u8llk9Szx1CKdPRkGvf6TAlyE1051ZI3fUsxk6QK4qOnJBwolOIq4hsos90TaOH7isGl9SZuVHxzE2DBzcmE=</D></RSAKeyValue>
注册机源码:
using System;
using System.Text;
using System.Security.Cryptography;
namespace SplitPDF_KeyGen
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("请输入机器码,回车确认\n\n机器码:");
string strHardwareID = Console.ReadLine();
if (!string.IsNullOrWhiteSpace(strHardwareID))
{
string privateKey = "<RSAKeyValue><Modulus>xLulVas14drnvenld8E8CZXIgojMxFvEHdvyITwCT/gP+L4J4iymyi2L0HCeOdCVf8QNUzOAGtpD5/8wxnQuxcYsg1TbfvJGHimttjN52NvRKSbbMb9mgP7XbKQpAVh78pZiCaLh5B7X0GXzSp5PtuBtpSPf3c0B9R/g8hyIWrk=</Modulus><Exponent>AQAB</Exponent><P>3Tj7RaCF0xsEMqNnOz5grapHggiLs5+YO+DiSsYGRWQCTDSj48VWC+4WDasbMj4dqbGsDK4iKy1qehvt0PABpw==</P><Q>46kXClXBjO8NaMsK2M43ZMCD+r66bBnCYPdT6t2RE9RcpUz+2tW9VQPy6Y2OQAY6pYSJG2vsfICTly8wZvCMnw==</Q><DP>dkuzKg9loHaQ7xcr66U2g4dLx8AUHFBaUqK1v3BXCCIrjF6VyQXMNoLxLgvydhJ7QDPvIbS4NsiJaJSovhKpfw==</DP><DQ>d/94lYn+KzsV5lafsQeBSynuZwyBVtl9C39STEndXoZhDwA2lUJ0OYuLTm++uyCNaREi88E/NaDQKrBE4v2IIQ==</DQ><InverseQ>NVp4ze3XaxOijt0wlf7DBSU18HAXiacyHp7Sy70KutNsWAJ2kwj62MnxO/iGrbBPs5kQ/f77E05rGx95nLkEug==</InverseQ><D>DvYWRMWYe2yiYxb+lHTlk/UIIqU0rVotN/gaGdzucBZ1YH1TUxgCNy3vjBKEdfEe7XCDcuhfvasLrwEBPJZpWA7u8llk9Szx1CKdPRkGvf6TAlyE1051ZI3fUsxk6QK4qOnJBwolOIq4hsos90TaOH7isGl9SZuVHxzE2DBzcmE=</D></RSAKeyValue>";
strHardwareID = strHardwareID.Trim();
string text;
if (strHardwareID.IndexOf("_") <= 0)
{
text = strHardwareID;
}
else
{
string text2 = strHardwareID;
text = text2.Substring(text2.IndexOf("_") + 1);
}
strHardwareID = text;
string[] array = strHardwareID.Split(new char[] { '|' });
string text3 = null;
foreach (string text4 in array)
{
using (RSACryptoServiceProvider rsacryptoServiceProvider = new RSACryptoServiceProvider())
{
rsacryptoServiceProvider.FromXmlString(privateKey);
RSAPKCS1SignatureFormatter rsapkcs1SignatureFormatter = new RSAPKCS1SignatureFormatter(rsacryptoServiceProvider);
rsapkcs1SignatureFormatter.SetHashAlgorithm("SHA1");
byte[] bytes = Encoding.ASCII.GetBytes("Do_SplitPDF" + text4);
byte[] array3 = new SHA1Managed().ComputeHash(bytes);
text3 = text3 + Convert.ToBase64String(rsapkcs1SignatureFormatter.CreateSignature(array3)) + Environment.NewLine + Environment.NewLine;
}
}
Console.WriteLine("\n下面三组注册码,使用任意一组即可\n");
Console.WriteLine(text3);
}
Console.Write("按任意键退出...");
Console.ReadKey(true);
}
}
}
源码都有了,注册算法可以闹出来了 1.返回注册状态:
可以把这个方法里面的内容全部删除,改成
return RegType.Registered;
2.屏蔽服务器收集用户注册数据:
然后在RegOnlineBLL的类中的m_PostSubmit方法,把代码全部删除,改成
return "52pojie";
返回空字符串也可以
膜拜大牛,学习中 继续努力,加油! 本帖最后由 uzcool 于 2024-7-25 11:49 编辑
PDFdo?你截图代码里都有RSA公钥了..建议是.自己生成一组公钥私钥..然后按照注册流程走一遍 就行了..
算法看不懂可以问AI ..比较简单.. 算注册码才是王道,这种爆破肯定是有BUG 之前接触dotnet还是为了解包gal uzcool 发表于 2024-7-25 11:41
PDFdo?你截图代码里都有RSA公钥了..建议是.自己生成一组公钥私钥..然后按照注册流程走一遍 就行了..
算 ...
压根没这基础,不懂RSA加密算法。 想知道看到RSA公钥后,怎么做注册机 加油,向楼主学习