我们要分析 SectPack 文件,我们不妨先思考一下,从这些文件包中读取文件,需要经历哪些过程。
首先,一个最基本的事实:这些 SectPack 都是 ISO 文件系统中的文件。因此必定会调用标准库中的打开文件函数;
然后,在打开文件后,必然需要读取,读取文件也是标准库中包含的函数之一;
接着,需要调整文件指针来读取指定位置中的内容,就需要 fseek 之类的函数;
另外,要打开/读取 SectPack 中的文件,我们假设包中的文件是通过路径来索引的(从文件头部附近确实也看到了一些文件路径), 那么就需要进行字符串比较,也就是 strcmp。
大致整理一下思路,我们可以着手进行分析的函数分别是SDK中的sceIoOpenAsync、sceIoReadAsync、sceIoLseekAsync,以及 strcmp ,这些函数,模拟器已经为我们标注出来了:
