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

  1. 云栖社区>
  2. 博客>
  3. 正文

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

异步社区 2017-05-02 14:24:00 浏览1043
展开阅读全文

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

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


6e647173cdc2ebafa28543e19253320e0a59f576

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

0ff43079dc255f90d5f989e2e18a4fb03b2a8bf2

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

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


ece9681b8c69af2231ecafc4da36971b002e244a

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

ab902039070392ac0a7079ec9838b1fb7ff8fff0

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

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


8a53cfece8ef5b87c30979897e2c5e352e43a5f8

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

af8d6a5aa516577a1223fda87b4a98e2485487d0

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

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


1a1c462464516c5e2f21f3235d5041d774261c8f

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

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

本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

分享

网友评论

登录后评论
0/500
评论
异步社区
+ 关注