3DMGAME 3DM首页 新闻中心 前瞻 | 评测 游戏库 热门 | 最新 攻略中心 攻略 | 秘籍 下载中心 游戏 | 汉化 购买正版 论坛

注册 登录

QQ登录

只需一步,快速开始

查看: 32135|回复: 10
打印 上一主题 下一主题

[原创] [技术贴]sc2存档研究 sc2save sc2bank

[复制链接]

0

主题

57

帖子

140

积分

中级玩家

Rank: 3Rank: 3

贡献度
12
金元
924
积分
140
精华
0
注册时间
2010-8-6
跳转到指定楼层
主题
发表于 2010-8-14 17:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家都知道,星际争霸2的用户数据文件是存储在“我的文档StarCraft II”之中的。
如果使用sc2cracker或者是reloaded破解,那么文件直接存储在这个文件夹下
如果使用razor1911破解,那么文件存储在“我的文档StarCraft IIAccounts02-S2-0-(1~3)”
其中又会包含如下内容
Banks(下文讨论)
Replays(录像回放)
Saves(存档)
Screenshots(屏幕截图)
CampaignProgress.xml(战役纪录)
LocalChallengeData.xml(挑战任务记录)
Variables.txt(选项)
EditorVariables.txt(银河编辑器选项)
对于除了banks以外的东西同学们可能已经很熟悉了,但那个banks是啥?这就是本文的由来了
Banks中存放的文件扩展名是sc2bank,文件都很小,尝试用记事本打开,果然别有洞天
原来这是一个xml文件。
不知道什么是xml?参考
http://baike.baidu.com/view/63.htm?fr=ala0_1_1
http://zh.wikipedia.org/zh-cn/XML
其实不用参考也行,说白了xml的作用之一就是以一种标准的语法格式存储一定的数据
再说白了就是配置文件。
那我们就来看看配置文件中有什么内容
打开CampaignPS.SC2Bank
可以看到如下内容

<?xml version="1.0" encoding="utf-8"?>
<Bank version="1">

<Section name="CampaignCompleted">

<Key name="1">

<Value flag="1"/>

</Key>

<Key name="2">

<Value flag="1"/>

</Key>

</Section>
</Bank>

解释一下
文件中说的是有一个字段名叫CampaignCompleted,我们推测它记录的是完成了哪几部战役
其中有两个值,1号值和2号值,他们的结果都是1,也就是完成了
所以我推测这可能指的是教程战役和自由之翼战役,等后续出来了可能会加入记载虫群祸心和虚空之遗战役是否完成
接着打开Tutorial.SC2Bank,从名字上判断可知这是记载教程战役的完成

<?xml version="1.0" encoding="utf-8"?>
<Bank version="1">

<Section name="Completion">

<Key name="4">

<Value flag="1"/>

</Key>

<Key name="6">

<Value flag="1"/>

</Key>

<Key name="1">

<Value flag="1"/>

</Key>

<Key name="3">

<Value flag="1"/>

</Key>

<Key name="0">

<Value flag="1"/>

</Key>

<Key name="2">

<Value flag="1"/>

</Key>


<Key name="7">

<Value flag="1"/>

</Key>

<Key name="5">

<Value flag="1"/>

</Key>

</Section>
</Bank>
从内容中可以看出,这个文件记载了0~7这几个教程任务的完成

好的 有了这两个文件的经验,我们来看看这个大家伙TCampaign.SC2Bank(文件很大,我就不粘贴了,大家去看自己的吧。没有文件,缺少内容的话请打穿一遍战役,肯定就有了)
以下字段表示的内容我就直接说我的见解了,可能有错误有些没我也没看出来啥意思,大家一起研究吧
LabResearchPointsConverted卖了多少多余研究点数给莫比斯基金会
MissionCompletedAge任务完成顺序
其中任务以1~29的顺序表示,每个数字代表什么我总结成了表格。顺序是倒序的,比如<Key name="14"> <Value int="17"/>表示14号任务(毁灭巨神)是倒数第17个完成的也就是正数第10,因为战役长度一共是26关(也可能稍微短一些,看你的选择了),这个是我根据存档的时间顺序和文件中记载的内容综合分析出来的,跟一堆毫无归律的数字打交道,搞得头都大了,贴出来方便大家。
ScenePlayed播放了那几段过场电影
LabResearchProgressZerg虫族研究情况
LabResearchProgressProtoss神族研究情况
LabResearchState兵工厂研究情况
Tips跟哪些人说过了话,不显示气球的情况
NewsPlayed观看了那些新闻
ArcadeGame失落的维京战机分数
MissionCompletion任务难度完成情况
MissionBestTime任务最佳时间
MercStatus佣兵雇用情况
这里面的很多内容在每一关对应的bank文件中也有的
对应表如下
在SC2Bank中序号

对应bank文件

CampaignPS.SC2Bank

Tutorial.SC2Bank

TCampaign.SC2Bank
雷诺部分
01
解放日
TRaynor01.SC2Bank
02
亡命之徒
TRaynor02.SC2Bank
03
關鍵時刻
TRaynor03.SC2Bank
韩森部分
04
疏散行動
THanson01.SC2Bank
05
暴走
THanson02.SC2Bank
06
拯救海文星
THanson03A.SC2Bank
07
海文星淪陷
THanson03B.SC2Bank
托许部分
08
惡魔樂園
TTosh01.SC2Bank
09
叢林歡迎你
TTosh02.SC2Bank
10
越獄
TTosh03A.SC2Bank
11
鬼使神差
TTosh03B.SC2Bank
霍纳部分
12
驚天快劫
THorner01.SC2Bank
13
割喉戰
THorner02.SC2Bank
14
毀滅巨神
THorner03.SC2Bank
15
驚爆內幕
THorner04.SC2Bank
16
一探究竟
THorner05S.SC2Bank
泰科斯部分
17
強行奪取
TTychus01.SC2Bank
18
挖掘行動
TTychus02.SC2Bank
19
莫比斯係數
TTychus03.SC2Bank
20
超級新星
TTychus04.SC2Bank
21
虛無之門
TTychus05.SC2Bank
泽拉图部分
22
末日之呢喃
TZeratul01.SC2Bank
23
邪惡轉捩點
TZeratul02.SC2Bank
24
未來的回音
TZeratul03.SC2Bank
25
在黑暗深淵之中
TZeratul04.SC2Bank
维勒安部分
26
地獄之門
TValerian01.SC2Bank
27
深入虎穴
TValerian02A.SC2Bank
28
撼動天空
TValerian02B.SC2Bank
29
背水一戰
TValerian03.SC2Bank
看了这么多,有同学要问:那我能不能通过修改它们来作弊呢?
这个问题嘛,我认为是不行的。为什么呢?分析了这么久,我推测bank文件的作用可能是记录一些数据供第三方程序使用,比如研发情况,之前任务进行的顺序,难度,雇佣了哪些佣兵等等,而这些数据是在完成任务的时候写入的(可以发现每完成一个任务,这些bank文件就会被更新,更新时间跟完成任务的时间一样),星际不会读取这个文件中的内容,也就是说这只是一个只写不读,纯输出文件。那我们研究它有什么意义呢?别着急,继续看下文。


Sc2save文件的研究
Sc2save文件其实是个mpq文件(老传统了,玻璃渣什么数据文件都用mpq格式的)
不知道什么是mpq?那可不行,自己谷度百歌去吧,这可是核心内容。
Sc2save文件分为两种,一种是在作战指挥界面保存的,这个文件比较大,一般在1M以上,其中保存了战场信息
另一种是在任务间隙中保存的,这个文件比较小,100k以下
本文讨论后一种
用mpq编辑器打开,可以看到如下内容




Save.details记录上一个任务的相关信息,这个信息会显示在进入游戏后的主菜单
Save.iobanklist貌似记录的是这个任务之前的任务对应的bank文件列表,这些文件在任务完成后会被更新
Save.iobanks这就是关键,它就是记录任务当前状态的bank文件,通过修改它,理论上可以实现作弊!全开科技,全开佣兵!在任务完成后,它之中的内容就会被另存到当前任务对应的bank文件中,所以说sc2bank文件是只写不读的。
Save.iographics保存进行任务时的图形选项。如果你改变了图形选项,再载入的话,游戏会提示你是否载入这之中保存的选项。
Save.ioloadinfo载入这个存档的时候显示哪一张背景图片

好了 以上就是我研究出来的所有成果了,希望牛人在我的基础上再接再厉,没准就弄出了牛b的存档修改器了!

本帖子中包含更多资源

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

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|3DMGAME ( 京ICP备14006952号-1  沪公网安备 31011202006753号

GMT+8, 2025-4-28 13:56 , Processed in 0.083253 second(s), 14 queries , Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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