1-Click PC Tuneup软件-破解实录-[附加篇]编写注册机
2013-11-23 09:14
351 查看
[作者]
网名: 猪头三
站点: http://www.x86asm.com
Email: pliceman_110@163.com
QQ: 643439947
编程生涯: 2001~至今[12年]
职业生涯: 10年
开发语言: C/C++; x86asm; Object Pascal; C#;
开发工具: VC++; Delphi;
研发领域: Windows应用软件安全; Windows系统内核安全; Windows系统磁盘数据安全;
技能种类: 逆向 驱动 磁盘 文件
[序言]
脱离玩破解已经好几年了, 由于前段时间在休息, 闲来玩玩, 随便找了一款国外软件1-click pc tuneup软件下手. 本人玩破解的原则是: 随便玩玩, 不跟经济利益挂钩, 选择无壳软件. 破解的目的是复习和巩固逆向思维, 而不是耗费时间和生命去研究各种刁蛮的加壳, 用自动脱壳工具就Ok了.
[本文介绍]
本文章一共分为10部分, 完全图文并茂, 分享在破解过程中的思维想法, 阅读本文需要一定的汇编语言, C/C++语言, 程序运行原理, 有开发软件实际经验, 熟悉Windows操作系统理论, 有基本的算法理论基础, 技术难度中等偏上.
1> 初步了解破解环境的部署
2> 初步了解1-click pc tuneup软件的主程序基本特征
3> 利用ollydbg定位你的处理注册号的函数
4> 多次陷入困境
5> 通过Qt类库的QString类相关函数找到处理注册号的函数
6> 开始分析处理注册号的函数
7> 不要满足直接获取注册号码
8> 分析注册号的输入规则
9> 分析注册号码的生成算法
10> 为1-click pc tuneup软件写注册机
[请做好基础知识储备]
上面已经提到需要相关的基础知识, 如果您在阅读文章之前基础不扎实, 有可能你不会明白文章所要表达的含义. 破解领域太广太深, 接触和学习破解之前, 最好都需要会编程, 这是必须要具备的技能. 关于如何学习和提高编程, 我的网站http://www.x86asm.com或者QQ空间已有详细说明.
[阅读顺序]
本篇文章为: “1-click pc tuneup破解实录-[附加篇]编写注册机”, 您需要按照顺序来进行阅读: "1-click
pc tuneup破解实录-[上]"、"1-click
pc tuneup破解实录-[中]“、“1-click
pc tuneup破解实录-[下]”
>>>>>>>>>>>>>>> 第十部分: 为1-click pc tuneup软件写注册机 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
1. 在 >>> 第九部分: 分析注册号码的生成算法 <<< 我们已经总结出注册号的生成算法原理, 那么可以根据这个原理来写出一个针对1-click pc tuneup软件的注册机. 这里我首选使用Delphi开发工具来编写注册机, 因为Delphi的开发效率高, 而且生成的程序小. 下面就贴出注册机核心算法函数:
fun_Key_Create() 和 fun_Kye_OneGroup(). 那么我们在使用算法生产的时候, 只需要调用fun_Key_Create()函数就可以了.
![](http://img.my.csdn.net/uploads/201311/23/1385169537_9983.png)
// 注册号规则处理
function fun_Kye_OneGroup(str_param_Key_OneGroup : string;
int_param_Key_OneGroupIndex : Integer):string ;
var
dword_key : DWORD ;
dword_key_Result : array[1..3] of DWORD;
int_Index : Integer ;
str_Key_OneGroup : string ;
begin
Result := '' ;
// 参数校验
if (Length(str_param_Key_OneGroup) <> 3) or
((int_param_Key_OneGroupIndex <= 0) or
(int_param_Key_OneGroupIndex > 5) ) then
begin
Exit ;
end;
// 转换为大写
str_Key_OneGroup := UpperCase(str_param_Key_OneGroup) ;
// 转换为btye数组
for int_Index := 1 to Length(str_Key_OneGroup) do
begin
if Ord(str_Key_OneGroup[int_Index]) > $46 then
begin
dword_key_Result[int_Index] := 0 ;
end
else if Ord(str_Key_OneGroup[int_Index]) >= $41 then
begin
dword_key_Result[int_Index] := DWORD(Ord(str_Key_OneGroup[int_Index])) -
$37 ;
end
else if Ord(str_Key_OneGroup[int_Index]) >= $30 then
begin
dword_key_Result[int_Index] := DWORD(Ord(str_Key_OneGroup[int_Index])) -
$30 ;
end;
end;
// 计算因子
dword_key := dword_key_Result[3] + dword_key_Result[2] + dword_key_Result[1] +
int_param_Key_OneGroupIndex ;
// 通过 因子 计算另一个 序列号字符
dword_key := dword_key and $8000000F ;
if dword_key < 0 then
begin
dword_key := dword_key - 1 ;
dword_key := dword_key or $FFFFFFF0 ;
dword_key := dword_key + 1 ;
end;
Result := IntToHex(Ord(dword_key), 1) + str_Key_OneGroup ;
end;// End fun_Kye_OneGroup()
// 注册号生成
function fun_Key_Create():string;
const
// 注册号特征头
str_Key_Head : array[0..6] of string = ('8A77', '6DFD', '82DA', 'B4DE', '75E2', '84E4', 'E985') ;
var
str_Key_Base : string ;
begin
// 注册号字符规则
str_Key_Base := '0123456789ABCDEF' ;
Result := str_Key_Head[RandomRange(0, 6)]+
fun_Kye_OneGroup(str_Key_Base[RandomRange(1, 16)]+
str_Key_Base[RandomRange(1, 16)]+
str_Key_Base[RandomRange(1, 16)], 1)+
fun_Kye_OneGroup(str_Key_Base[RandomRange(1, 16)]+
str_Key_Base[RandomRange(1, 16)]+
str_Key_Base[RandomRange(1, 16)], 2)+
fun_Kye_OneGroup(str_Key_Base[RandomRange(1, 16)]+
str_Key_Base[RandomRange(1, 16)]+
str_Key_Base[RandomRange(1, 16)], 3)+
fun_Kye_OneGroup(str_Key_Base[RandomRange(1, 16)]+
str_Key_Base[RandomRange(1, 16)]+
str_Key_Base[RandomRange(1, 16)], 4)+
fun_Kye_OneGroup(str_Key_Base[RandomRange(1, 16)]+
str_Key_Base[RandomRange(1, 16)]+
str_Key_Base[RandomRange(1, 16)], 5) ;
end;// End fun_Key_Create()
结尾: 经过这次的1-click pc tuneup软件的破解, 又让我感觉回到年轻的时候, 是那么的激动. 这种感觉只有真正破解过软件的人才能体会到. 此软件破解分析周期3天, 剩下的时间都是来写这篇破解文章. 希望大家喜欢!
网名: 猪头三
站点: http://www.x86asm.com
Email: pliceman_110@163.com
QQ: 643439947
编程生涯: 2001~至今[12年]
职业生涯: 10年
开发语言: C/C++; x86asm; Object Pascal; C#;
开发工具: VC++; Delphi;
研发领域: Windows应用软件安全; Windows系统内核安全; Windows系统磁盘数据安全;
技能种类: 逆向 驱动 磁盘 文件
[序言]
脱离玩破解已经好几年了, 由于前段时间在休息, 闲来玩玩, 随便找了一款国外软件1-click pc tuneup软件下手. 本人玩破解的原则是: 随便玩玩, 不跟经济利益挂钩, 选择无壳软件. 破解的目的是复习和巩固逆向思维, 而不是耗费时间和生命去研究各种刁蛮的加壳, 用自动脱壳工具就Ok了.
[本文介绍]
本文章一共分为10部分, 完全图文并茂, 分享在破解过程中的思维想法, 阅读本文需要一定的汇编语言, C/C++语言, 程序运行原理, 有开发软件实际经验, 熟悉Windows操作系统理论, 有基本的算法理论基础, 技术难度中等偏上.
1> 初步了解破解环境的部署
2> 初步了解1-click pc tuneup软件的主程序基本特征
3> 利用ollydbg定位你的处理注册号的函数
4> 多次陷入困境
5> 通过Qt类库的QString类相关函数找到处理注册号的函数
6> 开始分析处理注册号的函数
7> 不要满足直接获取注册号码
8> 分析注册号的输入规则
9> 分析注册号码的生成算法
10> 为1-click pc tuneup软件写注册机
[请做好基础知识储备]
上面已经提到需要相关的基础知识, 如果您在阅读文章之前基础不扎实, 有可能你不会明白文章所要表达的含义. 破解领域太广太深, 接触和学习破解之前, 最好都需要会编程, 这是必须要具备的技能. 关于如何学习和提高编程, 我的网站http://www.x86asm.com或者QQ空间已有详细说明.
[阅读顺序]
本篇文章为: “1-click pc tuneup破解实录-[附加篇]编写注册机”, 您需要按照顺序来进行阅读: "1-click
pc tuneup破解实录-[上]"、"1-click
pc tuneup破解实录-[中]“、“1-click
pc tuneup破解实录-[下]”
>>>>>>>>>>>>>>> 第十部分: 为1-click pc tuneup软件写注册机 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
1. 在 >>> 第九部分: 分析注册号码的生成算法 <<< 我们已经总结出注册号的生成算法原理, 那么可以根据这个原理来写出一个针对1-click pc tuneup软件的注册机. 这里我首选使用Delphi开发工具来编写注册机, 因为Delphi的开发效率高, 而且生成的程序小. 下面就贴出注册机核心算法函数:
fun_Key_Create() 和 fun_Kye_OneGroup(). 那么我们在使用算法生产的时候, 只需要调用fun_Key_Create()函数就可以了.
![](http://img.my.csdn.net/uploads/201311/23/1385169537_9983.png)
// 注册号规则处理
function fun_Kye_OneGroup(str_param_Key_OneGroup : string;
int_param_Key_OneGroupIndex : Integer):string ;
var
dword_key : DWORD ;
dword_key_Result : array[1..3] of DWORD;
int_Index : Integer ;
str_Key_OneGroup : string ;
begin
Result := '' ;
// 参数校验
if (Length(str_param_Key_OneGroup) <> 3) or
((int_param_Key_OneGroupIndex <= 0) or
(int_param_Key_OneGroupIndex > 5) ) then
begin
Exit ;
end;
// 转换为大写
str_Key_OneGroup := UpperCase(str_param_Key_OneGroup) ;
// 转换为btye数组
for int_Index := 1 to Length(str_Key_OneGroup) do
begin
if Ord(str_Key_OneGroup[int_Index]) > $46 then
begin
dword_key_Result[int_Index] := 0 ;
end
else if Ord(str_Key_OneGroup[int_Index]) >= $41 then
begin
dword_key_Result[int_Index] := DWORD(Ord(str_Key_OneGroup[int_Index])) -
$37 ;
end
else if Ord(str_Key_OneGroup[int_Index]) >= $30 then
begin
dword_key_Result[int_Index] := DWORD(Ord(str_Key_OneGroup[int_Index])) -
$30 ;
end;
end;
// 计算因子
dword_key := dword_key_Result[3] + dword_key_Result[2] + dword_key_Result[1] +
int_param_Key_OneGroupIndex ;
// 通过 因子 计算另一个 序列号字符
dword_key := dword_key and $8000000F ;
if dword_key < 0 then
begin
dword_key := dword_key - 1 ;
dword_key := dword_key or $FFFFFFF0 ;
dword_key := dword_key + 1 ;
end;
Result := IntToHex(Ord(dword_key), 1) + str_Key_OneGroup ;
end;// End fun_Kye_OneGroup()
// 注册号生成
function fun_Key_Create():string;
const
// 注册号特征头
str_Key_Head : array[0..6] of string = ('8A77', '6DFD', '82DA', 'B4DE', '75E2', '84E4', 'E985') ;
var
str_Key_Base : string ;
begin
// 注册号字符规则
str_Key_Base := '0123456789ABCDEF' ;
Result := str_Key_Head[RandomRange(0, 6)]+
fun_Kye_OneGroup(str_Key_Base[RandomRange(1, 16)]+
str_Key_Base[RandomRange(1, 16)]+
str_Key_Base[RandomRange(1, 16)], 1)+
fun_Kye_OneGroup(str_Key_Base[RandomRange(1, 16)]+
str_Key_Base[RandomRange(1, 16)]+
str_Key_Base[RandomRange(1, 16)], 2)+
fun_Kye_OneGroup(str_Key_Base[RandomRange(1, 16)]+
str_Key_Base[RandomRange(1, 16)]+
str_Key_Base[RandomRange(1, 16)], 3)+
fun_Kye_OneGroup(str_Key_Base[RandomRange(1, 16)]+
str_Key_Base[RandomRange(1, 16)]+
str_Key_Base[RandomRange(1, 16)], 4)+
fun_Kye_OneGroup(str_Key_Base[RandomRange(1, 16)]+
str_Key_Base[RandomRange(1, 16)]+
str_Key_Base[RandomRange(1, 16)], 5) ;
end;// End fun_Key_Create()
结尾: 经过这次的1-click pc tuneup软件的破解, 又让我感觉回到年轻的时候, 是那么的激动. 这种感觉只有真正破解过软件的人才能体会到. 此软件破解分析周期3天, 剩下的时间都是来写这篇破解文章. 希望大家喜欢!
相关文章推荐
- 1-Click PC Tuneup软件-破解实录-[上]
- 1-Click PC Tuneup软件-破解实录-[中]
- 1-Click PC Tuneup软件-破解实录-[下]
- 破解教程 第十九课 用工具软件编写注册机
- 系统优化软件 AVG PC Tuneup 2011 多国语言(含中文)版 + 有效激活密钥
- 系统加速软件 AVG PC Tuneup 2011
- QuarkXPress 2017 Mac(专业排版设计软件)附注册机和破解方法 v13.1.1中文破解版
- 一个简单crackme破解及注册机编写
- 德国精品软件 极品系统优化软件 TuneUp Utilities
- 破解学习笔记-----获取按钮事件地址---追出注册吗----编写内存注册机
- 破解Source Insight 3.5.0072过程 附:安装软件+注册机
- 用C#.NET编写软件注册机
- 破解软件下载精华 源代码 破解 注册机 常用软件 必备软件大聚合
- 破解keil5,用注册机要需要管理员模式进软件
- 零起点教你如何破解软件和制做注册机
- 亲手教你破解软件和制做注册机【申明:来源于网络】
- 【转】破解Source Insight 3.5.0072过程 附:安装软件+注册机
- Piezo for Mac(录音软件)附注册机及破解教程 v1.5.5最新破解版
- 破解入门(八)-----算法分析与注册机编写
- 用C#.NET编写软件注册机