《C++ 黑客编程揭秘与防范(第2版)》——6.8 KeyMake工具的使用

简介:

本节书摘来自异步社区出版社《C++ 黑客编程揭秘与防范(第2版)》一书中的第6章,第6.8节,作者:冀云,更多章节内容可以访问云栖社区“异步社区”公众号查看。

6.8 KeyMake工具的使用

C++ 黑客编程揭秘与防范(第2版)
本章介绍了PE结构和调试原理,此外还介绍了文件补丁和内存补丁方面的知识。在此顺便介绍一款制作注册机的工具——KeyMake(《黑客帝国》第二部中的“关键人物”就是KeyMake,用来配钥匙的那个老头)。KeyMake的界面如图6-77所示。
image

图6-77 KeyMake工具界面

KeyMake的功能非常多,这里主要介绍“其他”菜单下的功能,如图6-78所示。
image

图6-78 “其他”菜单下的功能

KeyMake菜单有3个主要功能,分别是“内存注册机”、“制作文件补丁”和“制作内存补丁”。分别以前面的程序例子来制作3个补丁程序。

首先来制作“内存注册机”。在KeyMake的“其他”菜单下选择“内存注册机”,出现“设置注册机信息”界面,如图6-79所示。

image

图6-79 “设置注册机信息”界面

在图6-79中的“程序名称”处选择前面写的CrackMe程序,然后单击“添加”按钮,出现“添加数据”界面,添加相应的数据,如图6-80所示。

image

图6-80 “添加数据”界面

在图6-80中,首先要添加中断地址,在“中断地址”处输入“00401E9E”,在“中断次数”处输入“1”,在“第一字节”处输入“E8”,在“指令长度”处输入“5”。为什么这么填写呢?对于“中断地址”、“第一字节”和“指令长度”的填写方法,参考图6-75就能够明

白。“中断次数”是指在中断地址被断下第几次后去读取数据。由于正确“密码”在内存中,因此在“保存下列信息为注册码”窗口中选择“内存方式”,选择“寄存器”为“EDX”。这里也对照图6-75就可以明白。填写完上面的内容后,单击“添加”按钮则返回“设置注册机信息”界面,然后单击“生成”按钮,将“内存注册机”放在与CrackMe相同的目录下即可。然后运行生成的注册机,会出现CrackMe程序界面,随便输入一个“账号”和“密码”,单击“确定”按钮即可出现正确的注册码,如图6-81所示。

image

图6-81 “内存注册机”提示正确的注册码

制作“文件补丁”相对于“内存注册机”要简单很多。制作“文件补丁”的KeyMake界面如图6-82所示。

image

图6-82 “制作文件补丁”界面

在图6-82中,在“原始的文件”处选择破解前的文件,在“已破解文件”处选择已经破解后的文件,然后单击“制作”按钮即可生成一个文件补丁程序。这里需要说明的是,之所以选择“原始的文件”,是因为生成的文件补丁在对没有破解的文件进行打补丁前需要对文件的CRC校验和进行计算,以防止由于文件版本的不同而导致文件破坏。

最后介绍一下“内存补丁”。“内存补丁”的制作也是比较容易的,打开“内存补丁”的制作界面,然后依照图6-83所示进行设置。

image

图6-83 “制作内存补丁”界面

“制作内存补丁”界面中的“添加数据”窗口中的相应设置,请参考图6-57进行设置。

本章的程序中给出了KeyMake中的“文件补丁”、“内存补丁”和“内存注册机”的编写方式,请读者参照KeyMake软件再次体会前面的例子。

相关文章
|
编译器 vr&ar C语言
高效c/c++日志工具zlog使用介绍
高效c/c++日志工具zlog使用介绍
1382 2
|
存储 C++
基于C++的简易文件压缩与解压缩工具设计与实现
基于C++的简易文件压缩与解压缩工具设计与实现
764 3
|
监控 算法 Linux
【C/C++ 实用工具】CPU使用率监控工具对比
【C/C++ 实用工具】CPU使用率监控工具对比
614 0
|
Java Linux C++
性能工具之 C/C++ 分析工具 valgrind
【5月更文挑战第26天】性能工具之 C/C++ 分析工具 valgrind
404 2
性能工具之 C/C++ 分析工具 valgrind
|
IDE Linux 开发工具
一网打尽:C++远程调试工具和策略全指南
一网打尽:C++远程调试工具和策略全指南
431 2
HTML+JavaScript构建一个将C/C++定义的ANSI字符串转换为MASM32定义的DWUniCode字符串的工具
HTML+JavaScript构建一个将C/C++定义的ANSI字符串转换为MASM32定义的DWUniCode字符串的工具
|
C++
c++日志工具spdLog
c++日志工具spdLog
250 1
|
安全 编译器 C语言
C++:编程语言中的强大工具
C++:编程语言中的强大工具
199 0
|
算法 搜索推荐 程序员
C++标准库算法指南:从线性到复杂度 — 选择最佳工具
C++标准库算法指南:从线性到复杂度 — 选择最佳工具
353 0