藏宝湾网游单机站

 找回密码
 注册

QQ登录

只需一步,快速开始

★【黑暗之光SF★我是大主宰SF】【神将三国SF】★

★【0.1折】★【变态网页游戏私服】★

★神将三国网页版上线送V5 5w元宝 5000w铜币 我是大主宰上线满v,80万元宝,小怪都爆元宝,耐玩长久稳定★

【原始传奇SF/维京传奇SF★0.1折手游】

★【原始传奇SF/维京传奇SF★0.1折手游】★

★『0.01折+G.M游戏+千军纵横+开天西游+维京传奇+异兽洪荒+原始传奇』送99999充值★

首创可以单机 可以互动 可以赚烟钱的传奇

★全网独家 可以单机 可以互动的传奇!★

★全网唯一持续更新的可单机游戏!每15-25天更新一次内容,保持游戏新鲜度!! 众多独家的功能特色,众多你没见过的全新玩法,有能力的赚点烟钱,还能偶尔沙城战斗!★

★承接推广★
★承接推广★

★承接推广★

☆六一新区开放-放置传奇☆

★六一新区开放-放置传奇★

★可白嫖 上班摸鱼类 放置文字传奇游戏(放置休闲)qq群756025698★

★三职业复古★开局送神装★爆率100%★散人逆袭★

★三职业复古★开局送神装★爆率100%★散人逆袭★

★〖双线〗〖无忧传奇〗〖每日新区〗〖开局送神装 100%高爆率 装备元宝打怪爆〗★

★承接推广★

★承接推广★

★承接推广★

稀有私服独家服★手游端游页游☆游戏发布网

★稀有私服☆独家服★手游端游页游☆游戏发布网★

★★专业的游戏发布论坛☆丰富的私服开服信息☆涵盖手机和网页及电脑端游★稀有游戏私服发布网★★

★DNF★全职业平衡★公益服★
★DNF★全职业平衡★公益服★

【dnf86版本】【怀旧服】【全职业平衡】【非变态服】【非商业服】【775016356】

★★仙剑奇侠传★沉浸式体验★★

★★仙剑奇侠传★沉浸式体验★★

★【仙剑奇侠传】【以李逍遥视角代入仙剑世界,沉浸式体验】【内部福利多多】

★★秦时明月★少司命-邀约★★

★★★秦时明月★少司命-邀约★★★

★【秦时明月:沧海】【天天领648代金券】【8大内部特权礼包】【丰富玩法 江湖历练】【独创玩法 机关兽协作】★

★梦幻16门派全新大唐九黎★

★梦幻16门派全新大唐九黎★

★★独家PK系统,享受极致免费PK ★打造系统,装备可打造出无级别,宝珠点化无级别 ★炼妖系统,力劈善恶台子观照,炼妖炼到手软 ★不做垃圾,力争什么都做到最好 ★持续更新,长久稳定★

★正版传奇3三端引擎 官方授权 正版联运★
★正版传奇3三端引擎 官方授权 正版联运★

★『全新传奇3三端引擎 盛趣官方授权 正版联运 功能强大 灵活度高 功能免费定制模块』★

★【独家RPG文字梦幻】【摸鱼搬砖不氪不肝】★

★【独家RPG文字梦幻】【摸鱼搬砖不氪不肝】★

★新区开放,三端互通,适合上班挂机、摸鱼。 休闲放置,不占时间,玩熟了一天只需十几分钟就能轻松搞定★

★承接推广★

★承接推广★

★承接推广★

★承接推广★

★承接推广★

★承接推广★

查看: 13007|回复: 36

[GM工具] 仙侣奇缘2 big 包压缩解压工具

  [复制链接]
发表于 2011-10-7 20:46:28 | 显示全部楼层 |阅读模式
本帖最后由 隔叶黄鹂 于 2011-10-7 22:49 编辑



extract.exe: 在命令行中敲: extract -e talk.big char.big map1.big music.big ...
    参数: -i: 看压缩包的信息; -l/-nf: 看压缩包中所有的文件; -pf: 看压缩包中所有的目录; -e 按目录解压到当前文件夹下.
    注意每个开关对其后的文件生效, 比如 extract -i a.big -l b.big -pf c.big -e d.big 是看 a.big 的信息, b.big 的文件列表, c.big 的目录列表, 并解压缩 d.big.
compress.exe: 在命令行中敲: compress path.txt name.txt 生成的文件.big
    path.txt 是目录名列表, 可以从 extract -pf 中生成
    name.txt 是文件名列表, 可以从 extract -l/-nf 中生成

注:
    1.根据我对 big 文件格式的分析, 大于 64KB 的文件是分块压缩的. 金山使用的算法是在索引表中写出分了多少块, 而我的算法是对地址作加法校验. 如果看到
         warning: ../map2.big::\map\华东\杭州城.jpg  (790209->784225)
        这样的错误提示, 那就是地址加法校验失败了. 原因目前仍不清楚. 出现的机会也比较少.
    2. ZipLib.dll 就是著名的 zlib, 金山把它改了个名字叫 bigfile.dll. 可以不用我包里的 ZipLib.dll 而直接使用游戏目录下的 bigfile.dll, 一回事.

另外: 有谁想编 big 包压缩解压程序的? 我已经完整地分析出了其文件结构, 需要相关资料的 m 我吧.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2011-10-7 20:56:45 | 显示全部楼层
本帖最后由 隔叶黄鹂 于 2011-10-17 18:16 编辑

另外有谁能发个仙侣2的 img 图像处理工具? img 格式比 big 要复杂, 直接分析我没得到任何结果, 又懒得去追踪游戏主程序了, 有谁有就传上来吧.

2011.10.17 更新

想不到这么老的游戏还是有人关注. 这里应玄天真人的要求, 我把 big 文件格式的相关资料给晒出来吧.

仙侣奇缘 big 文件格式及文件名校验算法

第一部分: 文件头 (16字节)
  这一块由如下四个部分组成:
    文件格式识码      "xV4\x12" 4字节
    压缩文件的数目    4字节
    索引表数据偏移    4字节
    目录文件数据偏移  4字节

第二部分: 压缩文件
  这一部分由 N(N=压缩文件数目) 块组成, 每一块的内容是:
      压缩数据的长度[M] 2*M 字节
    文件的压缩数据[M]
  M是文件的块数. 对于超过64KB的文件, 全部是分成64KB的块压缩的. 上面这两个数组的内容是一一对应的.

第三部分: 索引表块
  文件头第三个字段指向了索引表块. 索引表块由如下四部分组成:
    块标识码            "\xAA\x55\xAA\x55"
    索引表长度          4字节
    索引表解压缩后长度   4字节
    索引表压缩数据
  解压缩之后的索引块内容以16字节为单元的、每个压缩文件的压缩信息, 内容是:
    文件名校验码        4字节
    文件压缩数据的偏移  4字节
    文件解压后的长度    4字节
    分块个数(上文的"M") 4字节
  注意:
    索引块是按校验码自小而大排列的, 因此索引块中文件的次序和名称文件中的文件次序完全不同.

第四部分: 目录文件块和名称文件块
  文件头的第四个字段指向了目录文件块, 目录文件块后面紧跟着的是名称文件块.
  这两块的格式和上面索引块一样:
      块标识码       "\x55\xAA\x55\xAA"
      压缩后的长度   4字节
    解压缩后长度   4字节
    压缩数据
  目录文件和名称文件的具体内容, 可以直接从我的解压程序中得到.

文件名校验算法:
  索引文件中是用校验码确定文件名的. 校验码是对文件名串(大写变小写后)做了如下的计算. 这段代码在代码位置 0x0053F434 (push ebp) 到 0x0053F48B (ret) 之间. 注意 game.exe 是用 upx 加壳过的, 反汇编时需注意一下:
    unsigned int calc_check_code(char * s, int l){
        unsigned int v = 0;
        for (int i=0; i<l; i++){
            unsigned int a = 0, a1 = 0;
            a = (s[ i ] * (i+1) + v) % 0x8000000B;
            a1 = a;
            v = (unsigned)((-a) << 4) - a1;
        }
        v ^= 0x12345678;
        return v;
    }
  
源码就不帖了, 反正有这些东西, 编程序只是体力活. 有谁有空就编个好用点的程序吧. 我比较懒........
发表于 2011-10-7 21:22:33 | 显示全部楼层
完全的看不懂。
 楼主| 发表于 2011-10-7 22:07:53 | 显示全部楼层
zq0230280253 发表于 2011-10-7 21:22
完全的看不懂。

呃, 我是图省事写了个命令行程序.
比如你要解压缩 talk.big, 就打开一个"命令提示符"(开始|附件|命令提示符), 进入到 talk.big 所在的文件夹,然后敲 extract -e talk.big, 就行了.
其它的东西是修改那些 big 包的内容时用到的.
发表于 2011-10-7 22:22:08 | 显示全部楼层
不错,支持了
发表于 2011-10-7 22:24:46 | 显示全部楼层
哦 不错 不过新手可能看不明白
发表于 2011-10-8 00:15:48 | 显示全部楼层
{:soso_e102:}谢谢了,先。
发表于 2011-10-8 08:07:25 | 显示全部楼层
仙2早就被开发商放弃了,因为签给金山运营,开发商这边有外挂问题一直解决不好,金山运营一向也是稀里糊涂,两边合作很不愉快,开发商现在主打仙3,建议楼主研究仙3吧
 楼主| 发表于 2011-10-8 09:27:47 | 显示全部楼层
ysws 发表于 2011-10-8 08:07
仙2早就被开发商放弃了,因为签给金山运营,开发商这边有外挂问题一直解决不好,金山运营一向也是稀里糊涂,两边 ...

不错的主意. 本来破&解仙侣二的压缩包纯属娱乐, 等分析清楚了仙侣三压缩包的话再跟各位分享吧.

从解包的内容看, 仙侣二客户端的权力实在太大了, 可以做外挂的地方太多了. 如果各位看一看解出来的内容, 我想就会明白侣二的外挂问题.
发表于 2011-10-10 21:52:17 | 显示全部楼层
这个很需要
发表于 2011-10-16 19:58:05 | 显示全部楼层
隔叶黄鹂仙侣奇缘2 big 包压缩解压工具 相关资料有没有
发表于 2011-10-16 20:15:24 | 显示全部楼层
我解开了 不知道怎么压缩了
发表于 2011-10-16 20:31:37 | 显示全部楼层
没图啊
发表于 2011-10-17 06:45:02 | 显示全部楼层
path.txt name.txt需要自己建立吗??
发表于 2011-10-17 06:46:15 | 显示全部楼层
我是解的开 压不回去了
 楼主| 发表于 2011-10-17 17:03:35 | 显示全部楼层
玄天真人 发表于 2011-10-17 06:45
path.txt name.txt需要自己建立吗??

是的, 我偷了点懒, 从 name.txt 中找到所有你要压的文件. 如果谁想写个更方便的程序, 我会提供相关资料的.

其实这两个文件内容很简单的, 后面我会给两个实际的例子, 我都是自己直接做这两个文件. 改 big 的方法是, 你把解出来后文件重新编辑一下, 或者创建一个新的文件, 然后用 compress path.txt name.txt path.big 得到 path.big, 然后在 目录下的 xlqy2.ini 的 [Patch] 这一节里加一行:
8=patch.big
就行了.

注意仙侣2会根据 [Patch] 中的文件重载已有的文件, 比如以前 char2.big 中已经有了 \Char\主角\法术\武士\001.txt, 在 [Patch] 中的某个 big 中也有这个文件, 那么你在游戏中看到的是 [Patch] 中这个文件的内容. 所以不需要修改游戏中已有的包, 直接做一个新的包放在 [Patch] 节里就行了. 而且, 用这种办法的话, patch 里面不需要放所有的东西, 只需要把你改过的文件压缩一下就行了.

最后是两个实际的例子, char.big 中的文件和目录. 如果自己写这两个文件的话注意一下 path.txt 中的次序, 先父文件夹再子文件夹, 不然解压的时候创建目录会出错的.

chra2.big 中 path.txt 的内容: 执行 extract -pf char2.big > path.txt 得到
\Char
\Char\主角
\Char\主角\法术
\Char\主角\法术\武士
\Char\主角\法术\法师
\Char\主角\法术\道士
\Char\任务
\Char\任务\关卡
\Char\动物
\Char\地图
\Char\地图\华东
\Char\地图\华东\桃花岛
\Char\活动

chra2.big 中 name.txt 的内容: 执行 extract -nf char2.big > name.txt 得到
E:\Media
\Char\主角\升级经验.txt
\Char\主角\法术\武士\001.txt
\Char\主角\法术\武士\002.txt
\Char\主角\法术\武士\003.txt
\Char\主角\法术\法师\001.txt
\Char\主角\法术\法师\002.txt
\Char\主角\法术\法师\003.txt
\Char\主角\法术\道士\001.txt
\Char\主角\法术\道士\002.txt
\Char\主角\法术\道士\003.txt
\Char\任务\乱葬岗.chr
\Char\任务\关卡\万年树妖.chr
\Char\任务\关卡\九尾冥狐.chr
\Char\任务\关卡\大力羊魔.chr
\Char\任务\关卡\媚影狐妖.chr
\Char\任务\关卡\巨斧熊魔.chr
\Char\任务\关卡\幽冥象魔.chr
\Char\任务\关卡\幽冥鬼王.chr
\Char\任务\关卡\牛头卫士.chr
\Char\任务\关卡\罗刹鬼.chr
\Char\任务\关卡\羊头卫士.chr
\Char\任务\关卡\荆刺猪王.chr
\Char\任务\关卡\血刀魔卫.chr
\Char\任务\关卡\血狼魔王.chr
\Char\任务\关卡\遗落宝箱.chr
\Char\任务\关卡\铁翼寒鹰.chr
\Char\任务\关卡\骷髅武士.chr
\Char\任务\恩惠盒子.chr
\Char\任务\枯木花妖.chr
\Char\任务\莲花.chr
\Char\任务\蓝灵兽.chr
\Char\动物\110.chr
\Char\动物\119.chr
\Char\动物\120.chr
\Char\动物\125.chr
\Char\动物\126.chr
\Char\动物\127.chr
\Char\动物\128.chr
\Char\动物\129.chr
\Char\动物\130.chr
\Char\动物\131.chr
\Char\动物\132.chr
\Char\动物\133.chr
\Char\动物\134.chr
\Char\地图\华东\桃花岛\凤头鹦鹉.chr
\Char\地图\华东\桃花岛\刺猬.chr
\Char\地图\华东\桃花岛\呆头鸭.chr
\Char\地图\华东\桃花岛\玲珑兔.chr
\Char\地图\华东\桃花岛\胖胖鸟.chr
\Char\活动\仙花.chr
\Char\活动\土1.chr
\Char\活动\土2.chr
\Char\活动\土3.chr
\Char\活动\土4.chr
\Char\活动\土魔.chr
\Char\活动\圣诞宝箱.chr
\Char\活动\圣诞树.chr
\Char\活动\圣诞老人.chr
\Char\活动\地仙.chr
\Char\活动\坟墓.chr
\Char\活动\天兵十夫长.chr
\Char\活动\天兵千夫长.chr
\Char\活动\天兵百夫长.chr
\Char\活动\天庭大将.chr
\Char\活动\小金猪.chr
\Char\活动\年兽.chr
\Char\活动\幽冥侍卫.chr
\Char\活动\幽冥战将.chr
\Char\活动\幽冥鬼众.chr
\Char\活动\幽冥鬼狐.chr
\Char\活动\张大妈.chr
\Char\活动\怒斩金将.chr
\Char\活动\慧缘禅师.chr
\Char\活动\易水.chr
\Char\活动\木1.chr
\Char\活动\木2.chr
\Char\活动\木3.chr
\Char\活动\木4.chr
\Char\活动\木魔.chr
\Char\活动\杨树.chr
\Char\活动\柳树.chr
\Char\活动\桃树.chr
\Char\活动\梧桐.chr
\Char\活动\榆树.chr
\Char\活动\水1.chr
\Char\活动\水2.chr
\Char\活动\水3.chr
\Char\活动\水4.chr
\Char\活动\水魔.chr
\Char\活动\火1.chr
\Char\活动\火2.chr
\Char\活动\火3.chr
\Char\活动\火4.chr
\Char\活动\火魔.chr
\Char\活动\灵鼠.chr
\Char\活动\炽火.chr
\Char\活动\烈金.chr
\Char\活动\焦土.chr
\Char\活动\白素贞.chr
\Char\活动\短柳.chr
\Char\活动\矮杨树.chr
\Char\活动\石牛精.chr
\Char\活动\绿杨.chr
\Char\活动\舞天.chr
\Char\活动\茶树.chr
\Char\活动\荒废的农田.chr
\Char\活动\藏仙.chr
\Char\活动\野1.chr
\Char\活动\野10.chr
\Char\活动\野11.chr
\Char\活动\野12.chr
\Char\活动\野13.chr
\Char\活动\野14.chr
\Char\活动\野15.chr
\Char\活动\野16.chr
\Char\活动\野2.chr
\Char\活动\野3.chr
\Char\活动\野4.chr
\Char\活动\野5.chr
\Char\活动\野6.chr
\Char\活动\野7.chr
\Char\活动\野8.chr
\Char\活动\野9.chr
\Char\活动\金1.chr
\Char\活动\金2.chr
\Char\活动\金3.chr
\Char\活动\金4.chr
\Char\活动\金魔.chr
\Char\活动\钥匙孔.chr
\Char\活动\铁匠杜衡.chr
\Char\活动\铁牛精.chr
\Char\活动\铜牛精.chr
\Char\活动\青木.chr
\Char\活动\颜桃树.chr
 楼主| 发表于 2011-10-17 17:06:29 | 显示全部楼层
本帖最后由 隔叶黄鹂 于 2011-10-17 18:12 编辑
玄天真人 发表于 2011-10-16 19:58
隔叶黄鹂仙侣奇缘2 big 包压缩解压工具 相关资料有没有


你是要压缩包的格式吗? 我找一下, 呆会直接写在帖子里面. 详见沙发帖.
发表于 2011-10-17 20:24:12 | 显示全部楼层
谢谢哈 不知道你IMG图像弄的怎么样了
 楼主| 发表于 2011-10-17 22:12:07 | 显示全部楼层
玄天真人 发表于 2011-10-17 20:24
谢谢哈 不知道你IMG图像弄的怎么样了

IMG 我已经分析出一部分格式内容, 最近有点忙, 暂时没时间去分析这些代码, 所以把目前的进度帖出来, 希望有谁来解读一下 IMG 格式. 其实都是体力活了.

现在知道是 256 色的 BMP (一点也没压缩), 只是编码方式有点奇怪, 透明的地方在编码中大概是直接跳过的. 我已经追踪到解码函数, 目前追踪到这些代码:

005397F0    IMG 格式和 SPR 格式处理跳转到相同的处理函数地址 005397F0, 说明这两种格式没有差别.
005397F0    开始图像解码, 读图像大小 数目 颜色深度什么的
00539904    调用图像颜色转换代码:
++005399DD  8 位颜色转换到 24 位颜色的程序, 调色板内存次序是 RGB (注意 Windows BMP 是 BGR)
++005399EF  图像已经换码完毕
00539BEC    开始图像数据解码程序段
+00539CE7   调用行解码程序:
++0053FCBC  开始行数据解码程序段

IMG 格式的全部内容就在这些代码里面.
发表于 2011-10-18 08:37:13 | 显示全部楼层
最好写个程序
您需要登录后才可以回帖 登录 | 注册

本版积分规则

本站内容如若侵犯到您的权益,请来电来函告知,我们会尽快处理!
联系QQ:1953150286,2251387361,123784736,免责申明

排行榜|联系我们|小黑屋|手机版|Archiver|游戏藏宝湾 |

GMT+8, 2025-7-7 00:45 , Processed in 0.094094 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表