| 【文章标题】: Perfect Icon V2.42  注册机源代码 【文章作者】: geekcat【作者邮箱】:
 【作者主页】: 【软件名称】:  Perfect Icon V2.42
 【软件大小】: 【加壳方式】: 无 【保护方式】: 注册码【编写语言】: Borland Delphi
 【使用工具】: OD、PEID
 【操作平台】: XP SP3
 【下载地址】:百度找 【软件介绍】: 【破解 声明】:技术交流、学习,请不要用于商业用途!-------------------------------------------------------------------------------------------------------------------------------- 说明: 之前的注册机用的是.NETFramework4.5框架写的,在打开是报错这是因为电脑上没安装.NETFramework4.0及以上版的问题,从这个注册机开始用.NETFramework2.0,之前给大家带不便请见谅~~ 切入方式: 1、工具按键事件; 2、F12暂停法 算法总结: 表一:2345679qwertyupadfghjkzxcvbnms 字符串:Perfect Icon 1、注册码字符要是表“一”中的字符 2、合要求的字符长度要大于等于10位 3、合要求的注册码除头、首两位其余位AS值xor运算,结果与0x1E求余数 4、合要求的注册码的最后一位与“表一”中余数(第3步)+1位相等; 5、字符串“Perfect Icon”除最后一位外,其余各位AS值累加且和为0x404,    累加和与0x1E求余数为 6、合要求的注册码的第二位与“表一”中余数(第5步)+1位(“w”)相等; 7、软件启动时只检查合要求注册码的最后一位,不对本身的合要求注册码的    的第二位进行检查,这是一个BUG; 复制代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace Perfect_Icon_V2._42
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void btnKeyGen_Click(object sender, EventArgs e)
        {
            int i;
            int mod = 0;
            int num = 30; 
            string secondChar = "w";
            string randomchars = "2345679qwertyupadfghjkzxcvbnms";
            string fourKey = MakePassword(randomchars, 7);
            string fiveKey = secondChar + fourKey;
            for (i = 0; i < fiveKey.Length; i++)
            {
                mod = mod ^ fiveKey[i];
            }
            int xornum = mod % num;
            string lastKey = randomchars[xornum].ToString();
            string oneKey = MakePassword(randomchars, 1);
            string key = oneKey + fiveKey + lastKey;
            txtKey.Text = key;
            Clipboard.SetText(txtKey.Text);
            labCopy.Visible = true;
            labCopy.Text = "注册码复制成功";
        }
        
        public static string MakePassword(string pwdchars, int pwdlen)
        {
            string tmpstr = "";
            int iRandNum;
            Random rnd = new Random();
            for (int i = 0; i < pwdlen; i++)
            {
                iRandNum = rnd.Next(pwdchars.Length);
                tmpstr += pwdchars[iRandNum];
            }
            return tmpstr;
        }
        private void txtKey_DoubleClick(object sender, EventArgs e)
        {
            if (txtKey.Text != "")
            {
                Clipboard.SetText(txtKey.Text);
                labCopy.Visible = true;
                labCopy.Text = "注册码复制成功";
            }
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            labCopy.Visible = false;
        }
        private void linkPYG_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            System.Diagnostics.Process.Start("https://www.chinapyg.com");
        }
    }
}
 
 |