PSP《大众高尔夫2P》XB资源包算法分析(1)

概述

本文是继Xinyu的 PSP《大众高尔夫2P》XB资源包结构破解分析 的后续。

http://www.xinyuonline.net/blog/?action=show&id=43

主要是描述上文中提到的3种压缩算法。

我不认同通过观察编码前后数据变化的方式来编写codec的方法,这是一种非正规和不可靠(你无法确认可以攻破他,尤其在运气不站在你这边的时候;同时也无法在一些细节处理上和原算法保持一致,很可能游戏的恶性bug就是在这时引入的)的方法。于是我学习到了下面这种方法,并详细的记录了整个分析的过程。希望大家在看完这篇文章后,会得到这样的感受:没有破解不了的算法,问题只是要花多少时间而已。同样也会发现通过这种方法,分析的进度是可以被量化的,也就是说是受控的。

非常感谢tpu教会了我这种方法,同时感谢他对于那些甚至是很低级的问题都耐心的一一作答。谢谢!同时需要说明的是,他是这3种算法decoder部分的原作者。

本文Word版下载地址:

http://download.csdn.net/source/2588655

目录结构:

概述.... 3
分析环境.... 3
准备工作.... 3
算法分析方法.... 3
文件名列表的lzss算法分析.... 4
定位函数.... 4
MIPS上函数的调用规范.... 6
确认函数功能.... 6
对应的反汇编列表.... 9
反编译过程.... 11
编写模拟代码... 12
恢复高级语言特征... 14
增加可读性... 16
算法功能验证... 17
算法总结... 19
算法0x20(lzss).... 19
未知算法0x00(huffman+lzss).... 20
定位函数.... 20
确认函数功能.... 21
反编译过程.... 24
编写模拟代码... 24
整理以及验证... 26
编写主体部分模拟代码... 28
整理以及验证... 30
算法总结... 31
未知算法0x10(huffman).... 32
结束语.... 32

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值