为了好玩,我正在尝试破解我为Ghostbusters iPhone应用程序保存的游戏数据(AppStore link)。
以下网站描述用预先攻击的版本替换Documents/save.dat
:
但是,我想自己修改数据。在我的save.dat
上使用十六进制编辑器显示了以下死胡同:
file
只是将文件标识为data
。 这个文件怎么编码?关于如何手动修改它的任何建议?
答案 0 :(得分:1)
我做了类似的事只是为了它的乐趣。在我的例子中,文件被压缩并包含一个散列签名,其中包含游戏可执行文件生成的salt值。在那种情况下,我使用gdb
,在所有哈希函数上设置断点并检查它们的参数。我实际上不确定如何调试iPhone应用程序,但我怀疑除非你越狱设备,否则它是不可能的,所以你可能不会试图分析文件。
首先下载HexField(或类似的工具),对于这类工作来说真的很棒。尝试根据非常小的变化找到一个模式(尝试尽可能少地改变,并确保你在改变之后杀死游戏)。如果你很幸运,分数,金钱和诸如此类的东西都会被混淆。
如果不容易在文件中看到模式,我将首先调查已知的压缩,例如gzip(没有标题),deflate,lzma等(首先查看符号表并在游戏二进制文件上使用class-dump)一些想法)。由于file
命令没有给出任何内容,我认为该文件不仅仅是gzip压缩。
如果不这样做,您可能会开始怀疑文件是否已加密(再次查看符号表)。确定文件是压缩还是加密的好方法是尝试压缩文件。如果没有算法能够进一步压缩它,则很可能是压缩或加密文件。
快乐的黑客攻击! :)