数据加密、游戏存档与数据库文件解析技术探究
1. 简单的4字节异或加密
在数据加密领域,简单的4字节异或加密虽然看似能起到一定的保护作用,但实际上很容易被破解。例如,当使用4字节模式对文件进行异或加密时,很容易发现重复的4个符号。以Windows Server 2008的32位版本的kernel32.dll文件为例,其原始文件在经过4字节密钥加密后,由于PE文件头存在大量长零区域,密钥很容易暴露出来。
PE文件具有两个重要特性:一是PE头有许多零填充区域;二是所有PE节在页面边界(4096字节)处用零填充,因此每个节之后通常会有长零区域。其他一些文件格式,如科学和工程软件使用的文件,也可能包含长零区域。对于想要自行检查这些文件的人,可以从http://go.yurichev.com/17352下载。
这里还有一个相关的练习,链接为:http://challenges.re/50 。
2. 千年游戏存档文件分析
“Millenium Return to Earth”是一款1991年的古老DOS游戏,它允许玩家开采资源、建造飞船等,并且可以将游戏状态保存到文件中。通过对不同游戏状态下的存档文件进行分析,我们可以发现一些有趣的信息。
游戏中有一个矿场,不同星球的矿场工作速度不同,开采的资源也不同。我们分别保存了两个不同时间点的游戏状态,生成了两个存档文件。使用简单的DOS/Windows FC实用工具对这两个存档文件进行二进制比较:
...> FC /b 2200save.i.v1 2200SAVE.I.V2
Comparing
超级会员免费看
订阅专栏 解锁全文
3460

被折叠的 条评论
为什么被折叠?



