1、尝试对你喜欢的游戏的任何二进制文件进行逆向工程,包括高分文件、资源文件等。
可以采用内存“快照”比较技术进行逆向工程。以8位电脑游戏为例,若游戏中子弹数量可变,可先对内存进行“快照”并备份,待子弹数量变化后再进行一次“快照”,对比两个“快照”,找出发生变化的字节,从而确定存储子弹数量的内存地址。在反汇编的游戏代码中搜索该地址的引用,就可能找到减少子弹数量的代码段,通过写入 NOP
指令可实现无限子弹。
对于高分文件,记录当前分数并备份文件,分数变化后再次备份,使用 DOS 实用程序 FC
等工具比较两个文件,找出变化的字节以确定存储分数的位置。
但要注意,游戏开发者可能会采取防御措施来防止此类破解。
2、JPEG文件中的EXIF头已有文档说明,现在请在不借助文档帮助的情况下,通过在不同的日期/时间、地点拍摄照片,尝试理解EXIF头的结构,找到其中记录的日期/时间和GPS位置信息。之后修改GPS位置,将JPEG文件上传到Facebook,观察它在地图上会如何显示照片。
这是一个逆向工程的实践建议,鼓励通过实际操作来探索 JPEG 文件 EXIF 头的结构,包括:
- 通过不同条件拍摄照片来定位日期、时间和 GPS 信息
- 修改 GPS 信息
- 上传到 Facebook 观察地图显示情况
3、尝试对 MP3 文件中的任何信息进行修补,看看你最喜欢的 MP3 播放器会有什么反应。
在 MP3 文件中进行信息修补,播放器的反应可能有多种情况:
- 若只是轻微修补且不影响关键音频数据和文件格式,播放器或许能正常播放;
- 若改动到关键信息,如音频编码参数、文件头信息等,可能导致播放卡顿、出现杂音、播放中断甚至无法播放。
不同播放器对损坏文件的容错能力也有差异:
- 有些播放器可能尝试修复并继续播放;
- 有些则会直接报错。 <