藏宝湾网游单机站

 找回密码
 注册

QQ登录

只需一步,快速开始

★【我是大主宰SF★神将三国SF】【变态页游】★

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

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

【原始传奇SF/魔域永恒SF】【0.1折手游】

★【原始传奇SF/魔域永恒SF】【0.1折手游】★

★『战online+原始传奇+维京传奇+血饮龙纹+魔域永恒+斗罗大陆』一刀99999999999刀刀光柱★

【揽仙镇】★范官,100个648★路费拉满

★【揽仙镇】★范官,100个648★路费拉满★

★经典翻管,千人在线,上线100个648路费拉满★

★【卓越之剑】访官微变轻氪★
★【卓越之剑】访官微变轻氪★

★【卓越之剑】访官微变轻氪-欢迎技术交流★

★大话西游搬砖服,稳定耐玩★只合不关★

★大话西游搬砖服,稳定耐玩★只合不关★

★【经典西游★2024最新版】稳定耐玩★只合不关 推荐指数:★★★★★★ 自动常规任务、地煞星、魔王窟、炼化★

★0.1折!独家超低折扣手游★

★0.1折!独家超低折扣手游★

★0.1折!0.1折!0.1折!独家超低折扣手游公益服,首冲续充全部0.1折★

★【九阴真经】端游私服仿官★

★【九阴真经】端游私服仿官★

★国产大型武侠端游《九阴真经》SF问世了。2017年至今-【稳定】充值1比10,活跃就送至尊风物志,跨服雪域应有尽有。★

★#08互通三经脉仿官梦幻#★

★#08互通三经脉仿官梦幻#★

★欢迎来到醉梦西游独家三经脉 三经脉流派、仿官复古、每月20日新区、只合不关! 新区人超多,晚一个月进服也跟得上,防官卡级不用慌! 一切皆可白嫖,真正实现长久服仿官零充可白嫖一切!★

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

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

★承接推广★

★承接推广★

★承接推广★

★【大话月卡服】不免费但不贵★

★【大话月卡服】不免费但不贵★

★【大话西游2★2024最新版】稳定耐玩★只合不关★人气超旺★

★承接推广★

★ 承接推广★

★承接推广★

【梦幻西游】★端游领先版★
★【梦幻西游】★端游领先版★★

【梦幻西游★官方泄露版】----4月新区,无定制,无抽奖,全新战锦,每周更新一次。

★【梦幻国度】★端游★公益服★

★【梦幻国度】★端游★公益服★

★【梦幻国度】【端游】【全新版本公益服】【一样的童年不一样的游戏】【群63417379】★

★梦幻西游★仿官公益无充值★

★梦幻西游★仿官公益无充值★

★【情缘梦幻西游★独家仿官纯公益版】----2024新区,无定制,持续推广更新。推荐指数:★★★★★★★★★★★

★承接推广★

★承接推广★

★承接推广★

★承接推广★

★承接推广★

★承接推广★

★【大话西游全新版本公益服】★

★【大话西游全新版本公益服】 ★

★本服版本4种族带天赋技能,新宠,官本,无属性神兵装备。仙器克任君玩耍。白嫖也可做大神★

★承接推广★

★承接推广★

★ 承接推广★

★5月12全新开服放置传奇★

★5月12全新开服放置传奇★

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

★微变梦幻西游 ☆万件装备版★

★微变梦幻西游 ☆万件装备版★

★★【梦幻西游】万件装备版☆可挂机☆PK也有奖励☆活动多多☆真实单开多倍爆率★★

★承接推广★

★承接推广★

★★承接推广★★

★【热血传奇&逍遥公益】(端游)★

★【热血传奇&逍遥公益】(端游)★

★2003热血传奇,还给您当年的满腔热血,留住您当年的情怀传奇!★

【百款GM页游+1折手游,上线送满级VIP】

★【百款GM页游+1折手游,上线送满级VIP】★

★【百款变态页游SF】【变态手游SF】【安卓+IOS手游】【上线免费顶级VIP】★

查看: 11936|回复: 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, 2024-5-30 05:38 , Processed in 0.089355 second(s), 17 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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