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

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

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

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

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

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

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

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

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

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

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

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

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

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

分享

时间: 2024-10-31 12:44:12

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

《C++ 黑客编程揭秘与防范(第2版)》—第6章6.4节PE相关编程实例

6.4 PE相关编程实例 C++ 黑客编程揭秘与防范(第2版) 前面讲的都是概念性的知识,本节主要编写一些关于PE文件结构的程序代码,以帮助读者加强对PE结构的了解. 6.4.1 PE查看器 写PE查看器并不是件复杂的事情,只要按照PE结构一步一步地解析就可以了.下面简单地解析其中几个字段内容,显示一下节表的信息,其余的内容只要稍作修改即可.PE查看器的界面如图6-26所示. PE查看器的界面按照图6-26所示的设置,不过这个可以按照个人的偏好进行布局设置.编写该PE查看器的步骤为打开文件并创建

《C++ 黑客编程揭秘与防范》—第1章1.1节编程语言和开发环境的选择

第1章 黑客编程入门 C++ 黑客编程揭秘与防范 你是否曾经在用别人开发的工具尝试"入侵",你是否希望开发出自己的黑器--相信很多人有着这种近似相同的经历.本章将简单介绍黑客编程及工具开发.如果你是初学编程,如果你从来没有接触过黑客软件的开发,如果你急于想了解黑客编程方面的知识--那么就请继续往下阅读. 1.1 编程语言和开发环境的选择 C++ 黑客编程揭秘与防范 初学者刚开始学习编程语言最头疼的问题就是如何选择编程语言及合适的开发环境,下面就来具体介绍一下. 有人认为学编程就是学编程

《C++ 黑客编程揭秘与防范》——1.1 编程语言和开发环境的选择

1.1 编程语言和开发环境的选择 C++ 黑客编程揭秘与防范 初学者刚开始学习编程语言最头疼的问题就是如何选择编程语言及合适的开发环境,下面就来具体介绍一下. 有人认为学编程就是学编程语言,而VC.VB这样的开发环境只是工具,不需要学.这个想法是错误的,因为开发环境提供了很多开发工具,如VC这个集成开发环境就提供了与之对应的PSDK.MFC等.除了语言以外,要开发特定的软件是需要开发包和开发工具支持的.况且,编程语言也是一种工具,用于和计算机进行交流的工具.所以我们既要学习编程语言,也要学习开发

《C++ 黑客编程揭秘与防范》——1.3 简单API的介绍

1.3 简单API的介绍 C++ 黑客编程揭秘与防范 下面介绍一些在黑客编程中会用到的API函数,尽量排一点简单易用的函数,用简单的几行代码来完成一定的功能,希望大家能在这里体会到编程乐趣,不至于被大段的代码影响了自己前进的心情. 1.3.1 复制自身程序到Windows目录和系统目录下 一般的病毒木马都有这种类似的功能,完成这个功能其实并不复杂,我们来拆解思考一下实现这段代码的步骤. 复制是一个拷贝的过程.既然是拷贝,就要知道拷贝的原位置和目的位置.也就是整个过程其实分3步,首先要得到自身程序

《C++ 黑客编程揭秘与防范》——1.2 应用程序的调试

1.2 应用程序的调试 C++ 黑客编程揭秘与防范 在开发程序的过程中,除了编码以外还需要对程序进行调试,当编写的程序出现问题后,就要对程序进行调试.调试不是仅使用一个printf()或MessageBox()进行简单的输出来观察某个函数的返回值(虽然在调试的时候的确是对返回值观察较多),也不是对某个变量.某一时间的具体值的输出.调试是有专业的调试分析工具的,VC6不但提供代码编辑.代码编译.编译连接等功能,还提供了一个非常好用的调试工具.在编写完代码后,如果程序输出的结果是未知的,或者是没有预

《C++ 黑客编程揭秘与防范(第2版)》——6.1 PE文件结构

6.1 PE文件结构 C++ 黑客编程揭秘与防范(第2版) PE(Portable Executable),即可移植的执行体.在Windows平台(包括Win 9x.Win NT.Win CE--)下,所有的可执行文件(包括EXE文件.DLL文件.SYS文件.OCX文件.COM文件--)均使用PE文件结构.这些使用PE文件结构的可执行文件也称为PE文件. 普通的程序员也许没有必要掌握PE文件结构,因为其大多是开发服务性.决策性.辅助性的软件,比如MIS.HIS.CRM等软件.但是对于学习黑客编程

《C++ 黑客编程揭秘与防范(第2版)》—第6章6.3节PE结构的3种地址

6.3 PE结构的3种地址 C++ 黑客编程揭秘与防范(第2版) 在上一章中用OD调试器调试程序时看到的地址与本章使用C32Asm以十六进制形式查看程序时的地址形式有所差异.程序在内存中与在文件中有着不同的地址形式,而且PE相关的地址不只有这两种形式.与PE结构相关的地址形式有3种,且这3种地址形式可以进行转换. 6.3.1 与PE结构相关的3种地址 与PE结构相关的3种地址是VA(虚拟地址).RVA(相对虚拟地址)和FileOffset(文件偏移地址). VA(虚拟地址):PE文件映射到内存后

《C++ 黑客编程揭秘与防范(第2版)》——6.3 PE结构的3种地址

6.3 PE结构的3种地址 C++ 黑客编程揭秘与防范(第2版) 在上一章中用OD调试器调试程序时看到的地址与本章使用C32Asm以十六进制形式查看程序时的地址形式有所差异.程序在内存中与在文件中有着不同的地址形式,而且PE相关的地址不只有这两种形式.与PE结构相关的地址形式有3种,且这3种地址形式可以进行转换. 6.3.1 与PE结构相关的3种地址 与PE结构相关的3种地址是VA(虚拟地址).RVA(相对虚拟地址)和FileOffset(文件偏移地址). VA(虚拟地址):PE文件映射到内存后

《C++ 黑客编程揭秘与防范(第2版)》——第6章 加密与解密

第6章 加密与解密 C++ 黑客编程揭秘与防范(第2版) 本章介绍的是关于加密与解密的知识,但是从整篇的内容上来看很难找到具体的加密与解密的知识.本章主要介绍PE结构.调试API函数等相关的内容.加密与解密,简单来说,主要就是逆向与调试.这些知识在前面的章节已经介绍过了,而掌握本章的知识以后会提高逆向与调试的能力. PE结构是Windows下可执行文件的标准结构,可执行文件的装载.内存分布.执行等都依赖于PE结构,而在逆向分析软件时,为了有目的.更高效地了解程序,必须掌握PE结构.要掌握反病毒.

《C++ 黑客编程揭秘与防范(第2版)》——6.2 详解PE文件结构

6.2 详解PE文件结构 C++ 黑客编程揭秘与防范(第2版) PSDK的头文件Winnt.h包含了PE文件结构的定义格式.PE头文件分为32位和64位版本.64位的PE结构是对32位的PE结构做了扩展,这里主要讨论32位的PE文件结构.对于64位的PE文件结构,读者可以自行查阅资料进行学习. 6.2.1 DOS头部详解IMAGE_DOS_HEADER 对于一个PE文件来说,最开始的位置就是一个DOS程序.DOS程序包含了一个DOS头部和一个DOS程序体.DOS头部是用来装载DOS程序的,DOS