找回密码
 立即注册
搜索
查看: 2690|回复: 5

[其他] 不要轻易修改明3的游戏资源,比如\Data\下

[复制链接]
发表于 2014-11-17 15:34 | 显示全部楼层 |阅读模式
本帖最后由 differentrain 于 2014-11-17 17:17 编辑
+ _" y) m3 l$ M  t, d
% K9 Z, W$ t; v* a5 f其实最好是一切文件都不要改,只通过内存修改..
+ G& s5 j' m% T- H' G# _$ `/ x$ o# \& ~
想从脚本的角度去控制游戏剧情,就看了一下游戏文件。发现游戏文件都是经过压缩或以特殊方式存储的。+ J5 l  ~$ n8 B% J
" J, ]4 S7 u, C7 X( q( k
这里是想说,这种存储方式会让我们产生一个美丽的误会,让我们觉得“呀,能改”....
; l9 h+ m! L) D# s& o
& E* j7 v9 b* G" _8 p5 d===================4 w, s  z& p- p
Data\下的文件:存储了游戏的数据。/ a& t9 T# ]" v
" @! C. H% v  W( d) B# {
虽然内容没压缩,但是却有特殊的格式。3 \% d5 l1 c8 E& b- ^

. ]2 h: e. k8 W4 y, {5 P这个举例吧。
  F; O6 b' o4 n/ z2 I- f6 U3 E# j0 U, n
当我们用BIG码(950)打开文件\Data1\TVCase.dat的时候,除了乱码,我们看到了繁体中文的文字,看到了编号。
9 Q$ t3 k1 s- w7 B- V3 c' p9 e2 M, D  Q; d6 L0 x4 p
1.jpg ! Y/ q9 P7 F2 B- h  x# n

8 ^# ]. E6 q5 z' v( Z但是这么改是会有问题的..., B# v. J3 @% Z; {+ P& D- j8 ]
# D6 t7 ^0 |$ Z2 t. S# Y6 _
看十六进制内容。( }% i$ e, U- V$ E4 j

7 Q1 X# l) Z2 D) o. X9 S; v 2.jpg
' Z9 D+ T3 M9 z3 l1 U
% C. Y4 m- u: S& j, o. ]7 X+ Z/ N8 u) Y就看第一行。
0 j. T! G/ x4 i7 j7 T" P% ~7 z1 O$ s, r( t* p4 O8 H
0x00的位置:F2 03,是文件头(文件类型的标志)。内容固定。Data下每个文件的最开头都是这样的。
) j) w9 Y& k- L/ \  `3 E; e/ j9 \5 `0 B3 s
往后四字节。0x04的位置起是6F 01;0x08的位置起是A0 01;0x0F位置起对应的字符是TV001..
/ _' y: ~% k+ g' q: C7 U- P8 ?, P' ?2 K3 T+ I' @8 z3 G" J* q; J
TV001肯定是编号了。那前面的两个是什么呢?! F7 D* L4 _" e+ U3 o# W
) s3 x7 P2 j& ]) A& j! C

2 b4 m/ y7 N4 f" A! b! P看文件大小。# y& o* a  u+ P" Q; r/ ^/ `+ S

6 ?* X: {; ~; z2 f4 F! _9 _ 3.jpg % H6 Q/ E1 b; ]0 b) B

7 z8 S1 d1 `! G% C  K/ L16进制存储是从低位到高位的。所以6F01对应的十六进制数是16F,而A001对应的是1A0。
( ]$ W, g  y. W8 y3 T
2 S  M; k; |3 o. J  W; k打开计算器,在16进制模式下把这两个数字相乘。然后转换到10进制。
6 U3 C1 ?2 {7 x; e1 G  y$ m2 `4 G4 v  I, Z& a4 S5 P' g( k
我们得到了一个数字:152672
3 Y! Q  x( p7 ?* R8 ^% f# W
. V, n9 G5 z4 h: U. M4 p0 \3 u熟悉吗...这个数只要加上12,就是这个文件的大小了。而从文件头开始到0xA0 01为止,正好是12个字节。
% d- d" e, {9 X: w! Q& M) e- J; F
整理一下格式
  L( s5 O- v: B  s" N
! `. W/ r: u. {+ [! P# S2 Z
  1.           文件头          四字节数值      四字节数值B        正文
    * z* h& J4 R  e2 p, M* U
  2. 0x00开始:F2 03 00 00    XX XX XX XX     XX XX XX XX    XX XX XX XX
复制代码
( L0 i. G3 v$ C% Q5 n# v7 ?* x
A*B=正文的长度+ ?  a, y+ u7 Z8 q, e  ^. q
  C3 y4 ^& Y& S( `+ z7 g9 G/ N
也就是说,如果要改内容,就一定要改A和B的值,让它们的乘积符合长度,否则很容易出错...% G! q! c$ y* T# p* z
. \: H1 f& V7 q; o5 ^' c5 {5 s
但是仍然有一个问题,就是A和B的值是随便选的,还是有规律呢?
+ L5 D% q7 a; [) Z; G
  F  H& e% ?' }' H& ^0 X  `0 h: n我还不知道..需要调试。/ ^2 ^) Y9 l5 N0 s  f

' a3 d7 ~- i3 T3 f1 r' }所以还是不要轻易改的好...  {5 u4 F2 k/ r1 Q. f. l! b8 ~
============================
6 ^# ~& q0 J1 b+ K! b* H* e! }说到脚本,就顺便说一下Script\下的脚本文件格式。
- S+ O' @+ V" d  j$ e( B$ d
+ g, M0 y. s. |& O不说怎么分析的了。就说结构吧。' y5 @! L1 e8 b! {
  1.            文件头           文件头          压缩前长度      压缩后长度
    : d- x/ |# @6 h$ k% E# C
  2. 0x00开始:00 00 00 00    80 00 00 00     75 63 49 00     DE CE 22 00
      j9 I6 r5 D3 }5 S3 k6 X
  3. ……
    ( A8 W6 X3 u( Y2 {& J, r) ^
  4. ……
    * f0 M6 u0 y4 ~- S3 N9 r
  5. 0x80开始:正文
复制代码

9 Y" S- l, e+ s: Y, Q正文内容是LZO压缩后的luaPlus脚本。
& k1 @6 |1 S& ^9 Y& D解压缩算法也还需进一步调试。
; {7 V3 L, z5 j# L=============================
# _9 M0 M0 z9 Z* A! I/ K! o顺便说,为什么改存档就没事。% U* ?* D( O5 q$ H2 D$ w
$ A4 G/ ^5 @( G$ M4 k- U
因为存档既没有加密,前面也只有文件头"EC 03"..所以带胶布。( y5 J9 U1 ?$ b" B; M
) [0 g) |7 x: i# X- O
发表于 2014-11-18 21:49 | 显示全部楼层
好仔细的研究,我没看那么多……  n3 I7 v: K4 Z
也就是说像TVCase.dat这样的文件如果没有前面那两个A和B的话,应该还是好说了。不过既然内存也能修改,还是尽量不要动文件本身了吧。。5 v! ]9 N" k; \7 |) G
script下是什么的脚本?如果剧情的话只看游戏资源是不是只能得出一个最全面的攻略。。但具体触发其实还是要看内存中触发时的判断机制?8 R' g" z7 D+ @4 W) N

& U2 R: T4 T* `" O4 O3 H4 L
 楼主| 发表于 2014-11-18 22:00 | 显示全部楼层
止慈 发表于 2014-11-18 21:49
% _0 |( g+ P5 J. \. P好仔细的研究,我没看那么多……. o4 Y. R# a- @; P
也就是说像TVCase.dat这样的文件如果没有前面那两个A和B的话,应 ...

" t: h( E" q+ L0 z- i8 D* z9 H# w" a
脚本就是整个游戏的脚本。( T7 u/ }: B/ l  b6 s, h( O

. G* j& J6 ^4 L; k  u) Z只不过被加密了,所以不解密只能看到断断续续的中文说明。
! f  L8 _9 t. ~
/ w4 g3 Y  D# i- ?. B然而如果能解密,那么以此可以做出来最好的攻略..." i9 Z( j4 p  B. s1 v8 l

( g/ F% b. ^! V8 V. |另外还能做mod之类的东西。
' `( P) q; q* A" q* p. T
/ H5 H3 n6 p7 D; c) Y: K/ m至于内容是什么样子的...其实就是这张图。
, V  z8 _  V2 T4 r+ k, @; S
; Z/ a# j  W8 w! q4 s- F QQ圖片20141118215130.jpg " J$ G# ]/ w1 w0 m  F5 N
4 g% r/ t1 i! U7 Y9 }% }
就是lua脚本而已...1 g! Z5 y" T% o  O
发表于 2014-11-19 11:05 | 显示全部楼层
好高级哦,从来搞不懂这种修改的默默地飘过......
发表于 2014-11-19 18:03 | 显示全部楼层
如此高端,学计算机的默默的飘过,知识全还给老师了,果然还是没学到位啊~~, k! g! o, z, F) T' G5 Y1 O
结论就是还是乖乖的玩游戏才能体会到乐趣~~yeah!!
发表于 2014-11-19 19:32 | 显示全部楼层
放心,雨神。。。& M4 O  O2 s3 v4 b7 I) J" g
. I- f: y3 y6 j: `1 R* N
没人敢碰的。。。
1. 严禁讨论盗版
2. 除专门水区以外(报道/JQ版)请您注意要减少水分哦。水区热烈欢迎以下内容:灌水,版聊,勾搭,抢沙发
3. 更多发言规定在这里
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|明志略 |明志略已经运行了20年3个月8天

GMT+8, 2024-6-6 04:24

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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