第63章

    RTTI(51.1.5)的数据对于C++类定义可能会有帮助。

    有时我们可以在十六进制编辑器中清楚地看到16/32/64比特值的数组。下面是一个非常典型的MIPS代码。每一个MIPS(还有ARM或ARM64模式的ARM)指令都是32比特(4字节),构成32比特值的数组。通过查看快照可以看到这种模式。为了显示更清晰我加了红色的下划线:

    另一个这种模式的例子:第86节

    将两个内存快照直接比对来查看变化的技术常用于做8比特的PC游戏的高分游戏挂。

    同样的,修改高分文件也很容易,并且不仅仅是处理8比特游戏了。记下你的得分数并且将文件备份。当高分变化后将两个文件进行比对,使用DOS的FC工具就可以(高分文件通常是二进制形式)。某处一定会有部分字节不同,发现哪些字节包含了得分数很容易。然而,游戏开发者为了防范这些游戏挂可能会采取一些措施。

    这本书中其他类似的例子:第85节

    63.4.1 Windows注册表

    63.4.2 Blink-comparator

    文件或内存快照的比对让我们想起了:一种曾被天文学家使用的设备,用于发现天体移动。blink-comparator允许在两个不同时间摄影快照间切换,便于天文学家发现差别。顺便说一句,冥王星就是在1930年用blink-comparator发现的。