Perfect Icon V2.42 注册机源代码
【文章标题】: 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;
}
int xornum = mod % num;
string lastKey = randomchars.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;
}
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");
}
}
}
坐着沙发,前排学习! GGLHY 发表于 2015-8-26 10:21
坐着沙发,前排学习!
欢迎GG指导工作~~ 像这种有特征码和密码表的怎么个思路? zz100179 发表于 2015-8-26 10:43
像这种有特征码和密码表的怎么个思路?
没有特殊的方法跟平常分析一样,一步一步来就跟到表那里了~
发布代码时候,选择C#语法,会有语法高亮,阅读起来更好看一些。 高产啊{:soso_e100:}
tree_fly 发表于 2015-8-26 20:20
发布代码时候,选择C#语法,会有语法高亮,阅读起来更好看一些。
我还不知道用这还可以选择呢,都是直接一个就完事了
回头学习一下
学习 {:hug:}
页:
[1]