<天龙八部Online>资源包Axp格式研究

简介:

很久没有做过逆向了,今天就玩了玩,并且玩了一整天。以下为研究成果。
Axp包其实是很简单的,结构简单,明文保存。

Axp文件格式大致上如下:
1 .文件头;
2 .索引表;
3 .文件名表;
4 .数据。
其中,文件名表以文件名为(list)的文件存在于数据当中。我想,之所以要有这么一个东西,而不和索引表合二为一,恐怕是因为文件名是变长之故吧。

Axp文件头的格式大致为:
1 . 文件标示,一般为字符串“AXPK”,它占据了四个字节,占据空间为0x00-0x04;
2 .索引表偏移量,为unit,它占据了四个字节,占据的空间为:0x10-0x13;
3 .文件数,为unit,它占据了四个字节,占据的空间为:0x14-0x17。
文件头占据40个字节,既是在0x00-0x27的空间内。

一般来说,索引表的偏移量为:0x60028,数据区的偏移量为:0x160028.
不过还是依照以下流程获取偏移量为好:
1.获取文件头的索引表偏移量;
2.使用索引表偏移量定位到文件具体位置;
3.使用文件头获取到的文件数来读取文件数条索引;
4.根据索引查找文件。
在这里我是很纳闷的:文件名表文件没有特殊位置,也似乎没有看到有文件头保存的偏移量指向它,如何去获取这个文件是个很令我困扰的事情。另外,表里面的文件名顺序和资源包里面的文件排列顺序似乎是没有一个顺序对应的关系的。如何将索引表和文件名表进行关联,又是一个令人困扰的事情,或许能够解释通的大概就是他们是读取后需要排序的,或者说还有什么特别的相关数据我没有获取到。

索引表的索引:
1 .偏移量,unit;
2 .文件大小,unit;
3 .标志位,unit,现在似乎只有0x00000000和0x80000000两个标识,用于标示该文件是否可以被使用或者已经被删除。

到现在为止,最令我困惑的就是那两张表该如何进行关联和绑定数据。还有就是如何去获取文件名表。

目录
相关文章
|
Oracle 安全 关系型数据库
实战篇:Linux 安装 Oracle 11GR2 数据库保姆级教程(一)
实战篇:Linux 安装 Oracle 11GR2 数据库保姆级教程(一)
实战篇:Linux 安装 Oracle 11GR2 数据库保姆级教程(一)
|
数据安全/隐私保护 索引 Serverless
|
6月前
|
人工智能 自然语言处理 搜索推荐
拨开迷雾,重塑信任:Geo专家于磊的“两大核心+四轮驱动”如何引领Geo行业新范式
在AI重塑搜索的今天,SEO已升级为GEO(生成式引擎优化)。Geo专家于磊提出“两大核心+四轮驱动”体系,倡导人性化内容与交叉验证,推动E-E-A-T、结构化表达、语义关键词与精准引用,助力企业获客效率提升2.3倍,引领GEO规范化发展。
442 2
|
编译器 Linux
ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.22' not found
ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.22' not found
2176 0
|
5月前
|
人工智能 自然语言处理 安全
Lux 上手指南:让 AI 直接操作你的电脑
Lux 是一款能直接操作计算机的AI基础模型,通过视觉理解与动作预测,实现自然语言指令下的自动化任务。它无需依赖API,可像真人一样点击、输入、滚动,完成浏览器操作等复杂工作,准确率超越主流模型,是迈向“意图即执行”的重要突破。(238字)
1590 13
Lux 上手指南:让 AI 直接操作你的电脑
|
程序员 C++ Windows
Windbg的gflags.exe -- Attach调试利器
有没有碰到过程序启动就因为异常直接crash?有没有碰到程序启动之后什么反应也没有?有没有碰到过程序启动之后去触发另一个进程失败?有没有碰到别人的程序调用了你的代码,出现问题以后,让你来调查,而你只有你的源代码,该怎么办?     碰过这样的问题,应该都会很头疼吧,如何诊断问题呢?最简单的当然是Debug吧,可是当程序没有启动的时候,我们不能Attach to process...因为进程还不存在。
2805 0
|
安全 Linux 虚拟化
0基础教你安装VM 17PRO-直接就是专业许可证版
0基础教你安装VM 17PRO-直接就是专业许可证版
|
Oracle Unix 关系型数据库
Oracle10g下载地址--多平台下的32位和64位
4种包的介绍: ***_database_*.zip 是oracle数据库 服务端 软件的安装包,如果你要创建一个数据库,请下载这个版本 ***_client_*.zip 是oracle数据库 客户端 软件的安装包,如果你不需要创建数据库,只是用来操作远程电脑上的数据库时,请下载这个版本 ***_gateways_*.zip oracle透明网关,如果你要链接其
4330 0
|
JavaScript 定位技术
从零开始vue项目使用cesium开发三维地图(一)
从零开始vue项目使用cesium开发三维地图(一)