2021-4-10 13:43 /
嘛,这是一个很简单的封包,不需要开调试器就能看得出来。

封包文件头由两部分组成,一个magic和一个FileCount,FileCount来记录index的数量。

struct ACV_HEADER {
        char Magic[4]; //"ACV "
        DWORD FileCount;
};

然后是index,需要注意的是index里面的offset是相对于资源区的offset,因此在seek时需要加上文件头大小以及index大小。

struct ACV_ENTRY {
        char FileName[32];
        DWORD offset;
        DWORD FileSize;
        DWORD Zero1;
        DWORD Zero2;
};