Bass.Net算法

查看 85|回复 9
作者:msmvc   
之前看到一篇文章:https://www.cnblogs.com/TwilightLemon/p/12464282.html
文章提到:
"

所以就看了看计算方法,挺简单的,适合新手
S1:下载dll
用到了Bass.Net, 网址:https://www.radio42.com/bass/
dll下载地址:https://www.un4seen.com/filez/4/Bass24.Net.zip
S2:随便一个注册码试试
[C#] 纯文本查看 复制代码private void button1_Click(object sender, EventArgs e)
        {
            
            BassNet.Registration("[email protected]", "---------------");
            Bass.BASS_Init(-1, 44100, BASSInit.BASS_DEVICE_CPSPEAKERS, IntPtr.Zero);
}
控制台有输出,提示未注册版本
"

S3:
用dnspy打开Bass.Net.dll, 跟踪到注册码计算方法
我整理到一个类里
[C#] 纯文本查看 复制代码public class Utils
    {
        private static int _myDigit1 = 1;
        private static int _myDigit7 = 7;
        private static string _myDigitS = "kjdzrekjmdo@hjüö.ahyxcn$0q15765";
        private static char[] _myDigits = new char[]
        {
        'a', '1', 'q', 'a', 'x', 'l', '-', '7', 'u', 'd',
        '3', 'b', '2', '9', 'n', 'g', 'f', 'v', 't', 'j',
        'k', '5', '@', 'e', 'o', 'p', '6', '/', 's', 'i',
        '8', 'h', 'w', '4', 'y', '_', '0', 'r', '$', 'z'
        };
        private static int ConvReg(char _c)
        {
            int num = 42;
            _myDigits[27] = _myDigitS[2 + _myDigit7 + _myDigit1 * 2];
            _myDigits[0] = _myDigitS[4 * _myDigit7 - 3];
            _myDigits[38] = _myDigitS[1 + 2 * _myDigit7 + _myDigit1];
            _myDigits[2] = _myDigitS[21];
            for (int i = 0; i  5 && _regMail.IndexOf('.', _regMail.IndexOf('@')) > 0)
            {
                char[] array = _regMail.ToLower().ToCharArray();
                int num = _regMail.IndexOf("@");
                text += ConvReg(array[0]).ToString();
                text += ConvReg(array[1]).ToString();
                text += ConvReg(array[num - 1]).ToString();
                text += _regMail.Length.ToString();
                text += ConvReg(array[num + 1]).ToString();
                text += ConvReg(array[num + 2]).ToString();
                text += ConvReg(array[_regMail.Length - 1]).ToString();
            }
            return text;
        }
        internal static bool CheckRegistration(string _regMail, string _regCode, char m)
        {
            bool flag = false;
            _myDigits[3 * _myDigit7 + _myDigit1] = _myDigitS[_myDigit7 + _myDigit1];
            if (_regMail.Length > 5 && _regCode.Length > 7)
            {
                string[] array = _regMail.Split(new char[] { '@', '.' });
                if (array == null || array.Length  results = new List();
            for (int i = 0; i  {code}");
                }
            }
            Console.WriteLine("=== 批量注册信息 ===");
            foreach (var entry in results)
            {
                Console.WriteLine(entry);
            }
        }
}
S4:调用计算方法
[C#] 纯文本查看 复制代码private void button2_Click(object sender, EventArgs e)
        {
            int numberToGenerate = 10; // 可修改
            char regChar = 'm'; // 注册使用的m字符,可修改
            Utils.GenerateBulkCodes(numberToGenerate, regChar);
        }
使用生成的邮箱和key,使用后就不再提示登陆
注意 _myDigitS后面的一串文字在网页上显示不正确,自己替换成正确的字符

计算方法, 文本

jamescookers988   

使用生成的邮箱和key,使用后就不再提示登陆
注意 _myDigitS后面的一串文字在网页上显示不正确,自己替换成正确的字符,核心精髓在哪里啊,谢谢!
msmvc
OP
  


jamescookers988 发表于 2025-8-10 02:36
使用生成的邮箱和key,使用后就不再提示登陆
注意 _myDigitS后面的一串文字在网页上显示不正确,自己替换 ...

private static string _myDigitS = "kjdzrekjmdo@hjüö.ahyxcn$0q15765";
这一么的值有显示有问题,用dnspy打开dll看一下
BrutusScipio   

根据邮箱地址生成注册码?
XXTK   

留个记号慢慢跟进
Plutonium   

学习了,感谢分享
msmvc
OP
  


BrutusScipio 发表于 2025-8-9 03:13
根据邮箱地址生成注册码?

是的,邮箱和密码要匹配
mx11   

非常有用,感谢分享 !
ycs   

留个记号慢慢跟进
ptx4096   

非常有用,感谢分享 !
您需要登录后才可以回帖 登录 | 立即注册

返回顶部