飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 3734|回复: 45

[原创] VMP 3.x 通用注册机

  [复制链接]
  • TA的每日心情
    无聊
    4 天前
  • 签到天数: 90 天

    [LV.6]常住居民II

    发表于 2023-10-22 17:51:56 | 显示全部楼层 |阅读模式
    本帖最后由 wtujoxk 于 2023-11-3 08:59 编辑

    软件界面
    1697967844986.jpg


    验证状态
    [C#] 纯文本查看 复制代码
    public enum SerialState
    {
        Success = 0x0,
        Corrupted = 0x1,
        Invalid = 0x2,
        Blacklisted = 0x4,
        DateExpired = 0x8,
        RunningTimeOver = 0x10,
        BadHwid = 0x20,
        MaxBuildExpired = 0x40
    }


    源码
    [C#] 纯文本查看 复制代码
    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Text;
    using System.Windows.Forms;
    using VMProtect.KeyGen;
    
    namespace VMP_KeyGenNet
    {
        public partial class MainForm : Form
        {
            public MainForm()
            {
                InitializeComponent();
            }
    
            Generator generator;
            string path = AppDomain.CurrentDomain.BaseDirectory + "SecretKey.txt";  // 保存密钥数据
            Dictionary<Control, Control> dicRegData = new Dictionary<Control, Control>();
    
            //默认生成一个密钥数据
            string initData = @"PHZtcC1sbS1wcm9kdWN0IGFsZ29yaXRobT0iUlNBIiBiaXRzPSIyMDQ4IiBleHA9InBDdjJ1Z2xm
    eWNqTXd1MmozTHhxQ0VOeGVzNzZjMjVQNVcvNC9JUmlxN251ZU9BMk9sbWlVMWlFR0FWYTNaTnRz
    K1JkRU5HTHVJSkVYa2czdzBxNWpNSi93TDhpRFhDV3VZMVhmUkxiWmFPUXZXZWZIYWl3SEtMdHNH
    YWVRNDU3K1RjdncxanJQQVl6b0l1SjY1Y2JXUXl0RUhiLzJtOVk0MXB6cmJYRU9Idk5mN2RwK3I0
    aGQxUWEyMFZQWGpBODQ4ekxCSlVxMW1Ld3RxenVOOHpwTk9OUGNEcTZLRWE0anZTY2VQR3VrUUFr
    ZU95UHJiY203VVZhd0lEOHYyVmRWWENsMEdTM1JGZGYzWi80RnpDNDQ3cThJTFEzZi9kajhXaXl1
    OXdXS1JrVjh1SUpVZnovYnM2RnFKK3RVWWpMR29wSitvV0FiR1g3eFdMTmlQWE5FUT09IiBtb2Q9
    IjBkMUN1S3pjQ3lYc0lBSnVRL045am4rRTlHWFBvdU14NUhuVWoyVjdMVTJITEt5USt2SXVoZXFW
    N0c3b09lb2dIU3Z0SzhGRUdZNVYyVVk4cURCbVlhYUtsNWZWRkhJd2JTZkZ1cjVqdGNYOUt5b2JU
    MlRCU2pkMVBhMzdkUGZvakxWNzNqK01heENpMjRFWjBrUVFkWHZ0RFFYa3phU1QraHJDZG1qelJL
    ZndxeG9qYzJtSkNkYldFUHNFQkhKaHoxM0cwYndrUnFLSGRYUjVTanhzWkRxb3ZXSVFubWwzOUtU
    TE00VHA1bzRUSHRVMkNZWm1sbThGS1ZCWE8vZTFRb2VTbHl0YndRcFBNZzVvYy9aV1NOZWt4Mm5K
    a1VzMkdxN3dFWTBYeE5kSkllWmpESmhSQkdHbk1OWnZldllkdXdjTk9aWUNPN3BnT3AyUFdhMnNL
    UT09IiBwcm9kdWN0PSJQUUo0ZVR2VDN2Yz0iLz4=";
    
            private void MainForm_Load(object sender, EventArgs e)
            {
                //本机硬件ID
                textBoxHWID.Text = VMProtect.SDK.GetCurrentHWID();
    
                //判断SecretKey.txt文件是否存在,不存在就写一个默认值
                if (!File.Exists(path)) File.WriteAllText(path, initData);
                else initData = File.ReadAllText(path);
    
                generator = new Generator(initData);
    
                dicRegData.Add(checkBoxUserName,textBoxUserName);
                dicRegData.Add(checkBoxEMail,textBoxEMail);
                dicRegData.Add(checkBoxHardwareID,textBoxHardwareID);
                dicRegData.Add(checkBox4ExpirationDate,dateTimePickerExpirationDate);
                dicRegData.Add(checkBoxRunningTimeLimit,textBoxRunningTimeLimit);
                dicRegData.Add(checkBoxMaxBuildDate,dateTimePickerMaxBuildDate);
                dicRegData.Add(checkBoxUserData,textBoxUserData);
                //控件初状态为关闭
                foreach (var value in dicRegData.Values)
                {
                    value.Enabled = false;
                }
            }
    
            private void checkBox_CheckedChanged(object sender, EventArgs e)
            {
                //CheckBox勾选后,后面的控件打开
                foreach (var key in dicRegData.Keys)
                {
                   if(((CheckBox)key).Checked) dicRegData[key].Enabled = true;
                   else dicRegData[key].Enabled = false;
                }
            }
    
            /// <summary>
            /// 生成注册码
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void buttonGenerate_Click(object sender, EventArgs e)
            {
                textBoxRegCode.Text = string.Empty;
                generator.UserName = textBoxUserName.Text;
                generator.EMail = textBoxEMail.Text;
                generator.HardwareID = textBoxHardwareID.Text;
                generator.ExpirationDate = dateTimePickerExpirationDate.Value;
                if (!string.IsNullOrEmpty(textBoxRunningTimeLimit.Text))
                    generator.RunningTimeLimit = Convert.ToInt32(textBoxRunningTimeLimit.Text);
                generator.MaxBuildDate = dateTimePickerMaxBuildDate.Value;
                if (!string.IsNullOrEmpty(textBoxUserData.Text))
                    generator.UserData = Encoding.Default.GetBytes(textBoxUserData.Text);
                textBoxRegCode.Text = generator.Generate();
            }
    
            /// <summary>
            /// 复制注册码
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void buttonCopy_Click(object sender, EventArgs e)
            {
                if (string.IsNullOrEmpty(textBoxRegCode.Text)) return;
                Clipboard.SetDataObject(textBoxRegCode.Text);
            }
    
            /// <summary>
            /// 保存注册码
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void buttonSave_Click(object sender, EventArgs e)
            {
                if (string.IsNullOrEmpty(textBoxRegCode.Text)) return;
                SaveFileDialog saveDialog = new SaveFileDialog();
                saveDialog.Title = "保存注册码";
                saveDialog.InitialDirectory = AppDomain.CurrentDomain.BaseDirectory;
                saveDialog.Filter = "文本文件| *.txt";
                if (saveDialog.ShowDialog() == DialogResult.OK)
                {
                    File.WriteAllText(saveDialog.FileName, textBoxRegCode.Text);
                    MessageBox.Show(Path.GetFileName(saveDialog.FileName) + "保存成功", "提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
                }
            }
    
            /// <summary>
            /// 验证注册码,这里的功能必须使用VMP将注册机也要加壳才有用
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void buttonVerify_Click(object sender, EventArgs e)
            {
                if (string.IsNullOrEmpty(textBoxRegCode.Text)) return;
                VMProtect.SDK.SetSerialNumber(textBoxRegCode.Text);
                VMProtect.SDK.GetSerialNumberState();
                VMProtect.SerialNumberData sd;
                var res = VMProtect.SDK.GetSerialNumberData(out sd);
                if (res)
                {
                    MessageBox.Show("状态 : " + sd.State + Environment.NewLine +
                        "用户名 : " + sd.UserName + Environment.NewLine +
                        "邮箱 : " + sd.EMail + Environment.NewLine +
                        "到期日期 : " + sd.Expires + Environment.NewLine +
                        "最大创建时间 : " + sd.MaxBuild + Environment.NewLine +
                        "运行时间限制 : " + sd.RunningTime + Environment.NewLine +
                        "用户数据 : " + Encoding.Default.GetString(sd.UserData) + Environment.NewLine , "提示", MessageBoxButtons.OK);
                }
            }
        }
    }
    


    程序需要在VMP软件里导出密钥对:菜单->项目->导出密钥对->导出格式(.Net/PayPro Global的参数),并将其复制到目录SecretKey.txt里,如果目录里,没有SecretKey.txt文件,运行一次本程序即可自动生成一个。
    1697967260890.jpg

    软件下载
    想验证的请使用未加壳版自己加壳后进行验证
    VMP 3.x 通用注册机.zip (286.51 KB, 下载次数: 214)

    VMP 3.x 通用注册机未加壳版.zip (61.59 KB, 下载次数: 10, 售价: 2 枚飘云币)


    评分

    参与人数 10威望 +13 飘云币 +13 收起 理由
    58fly + 1 + 1
    sinewtec + 1 + 1 PYG有你更精彩!
    2008fqr + 1 + 1 PYG有你更精彩!
    HiPP + 2 + 2 PYG有你更精彩!
    Tlisme + 1 + 1 PYG有你更精彩!
    非诚勿扰 + 2 + 2 感谢发布原创作品,PYG有你更精彩!
    szhorse + 1 + 1 感谢发布原创作品,PYG有你更精彩!
    wgz001 + 1 + 1 感谢发布原创作品,PYG有你更精彩!
    LuckyClover + 1 + 1 PYG有你更精彩!
    飞天 + 2 感谢发布原创作品,PYG有你更精彩!

    查看全部评分

    PYG19周年生日快乐!
  • TA的每日心情
    开心
    12 小时前
  • 签到天数: 575 天

    [LV.9]以坛为家II

    发表于 2023-10-22 18:24:34 | 显示全部楼层
    谢谢楼主分享,
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2023-10-22 18:43:44 | 显示全部楼层
    强大的工具,试用一下
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2 小时前
  • 签到天数: 202 天

    [LV.7]常住居民III

    发表于 2023-10-22 20:01:13 | 显示全部楼层
    谢谢楼主分享~~
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    5 天前
  • 签到天数: 801 天

    [LV.10]以坛为家III

    发表于 2023-10-22 20:06:30 | 显示全部楼层
    感谢楼主分享!
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    11 小时前
  • 签到天数: 1611 天

    [LV.Master]伴坛终老

    发表于 2023-10-22 20:14:02 | 显示全部楼层
    感谢分享,支持原创!
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    昨天 20:38
  • 签到天数: 1416 天

    [LV.10]以坛为家III

    发表于 2023-10-22 20:28:51 | 显示全部楼层
    感谢分享好东西。
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    4 小时前
  • 签到天数: 1498 天

    [LV.10]以坛为家III

    发表于 2023-10-22 20:57:53 | 显示全部楼层
    感谢楼主的分享,支持原创!
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表