青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

牽著老婆滿街逛

嚴(yán)以律己,寬以待人. 三思而后行.
GMail/GTalk: yanglinbo#google.com;
MSN/Email: tx7do#yahoo.com.cn;
QQ: 3 0 3 3 9 6 9 2 0 .

QUICKBMS 中文指南

轉(zhuǎn)賬自:http://www.chinaavg.com/thread-17460-1-1.html

我正打算做一個使用Quickbmsqu去解那些沒有解包器的文檔的教程。6 ?- s/ g/ B8 }, a$ `
起步會很簡單,然后越來越難,直到你學(xué)會并且編寫你自己的腳本。
我們需要如下的四個工具:
1、16進(jìn)制編輯器,比如HxD。(我用WINHEX)
2、Quick BMS  http://aluigi.org/papers/quickbms.zip(老外真廢話,不用這個還寫什么教程啊?)
3、文本編輯器比如wordpad(我猜老外用的都是免費(fèi)軟件,我用EditPlus)
4、支持16進(jìn)制的計算機(jī),比如WINDOWS自帶的! d% G- z* K, _2 {. z( b/ J8 J
我們從一個叫做FEZ(Fantasy Earth Zero)的游戲開始$ f1 l% h- ?" ~
這對某些人學(xué)習(xí)bms腳本來說是一個很大的文檔格式。
附上一些例子:
網(wǎng)站 http://tw.fez.gamania.com/  1 S' q, J, j* l+ [+ D* k$ q1 ^* c
安裝 http://tw.dl.gamania.com/fez/FEZ_1103.exe  
這個游戲在主要思路上用不正常的文件頭材質(zhì)和一些TGA以及一些.MDL格式。
好了,你可以從這里下載到完整的安裝或者一些樣本片段文件。% v* J& E8 p9 d+ h0 P* I4 z. L
http://www.MegaShare.com/1029061
用16進(jìn)制編輯器打開文件,你就能看到如下所示:6 a" s% c, `0 w9 K8 H. F- O$ }
 
8 m' c3 N' B' @5 T7 U
可以看到右面有一些可辨認(rèn)的文字; N! P  l. g" f3 @: y
Etc\\aura.tex , Etc\\cursor.tex , Etc\\mahoujin.tex , Etc\\env2.tex , and Etc\\kaze.tex .  
所以往下看我們就能知道在這個BIN文件里至少包含5個文件,如果把他們解包,則會被解包到一個叫做Etc的文件夾中。
我們還是看看這個文件的文件頭中的其他部分吧,從前面4個字節(jié)開始。/ q9 J, R" {: ^. W
 

這四個字節(jié)是 05 00 00 00  
我們處理的99%的游戲文檔中,這個值是反向的。也就是說我們看到的05 00 00 00實際上應(yīng)該是00 00 00 05或者說是5。6 k8 h( B8 O% h8 \& k
好了,如果我們還記得前面我們曾經(jīng)看到過5個文件名,并且這個文件的前四個字節(jié)就等于5.那么我們就得出一個結(jié)論,那就是這里保存的是文檔中的文件數(shù)。) {/ C/ [+ L7 p4 ~) i
數(shù)據(jù)的保存方式有長整型(Long)4字節(jié),短整型(Short)2字節(jié)以及字節(jié)型(Bytes),于是我們得出了我們腳本的第一部分; A6 T# X. I3 }' F# \& G: |8 V
get FILES long  
這就告訴Quickbms讀一個長整型值并且把它保存為變量FILES。  S. a3 z" B" @. o
接下來的4個字節(jié)74 00 00 00 對于quickbms解包沒有用處,但是它表示的是文件頭的長度。7 n2 b/ D% F) @3 b

5 o6 O( ~  i; a6 Y  B7 Q+ f
于是我們可以寫出下面一行quickbms腳本了! M5 r5 k8 m$ q' J( r$ u
get HEADERSZ long  
將文件頭的大小保存到變量HEADERSZ 中: c6 V0 Z3 N4 H/ u( S7 U! j) P
現(xiàn)在,在文件名前面,我們又得到了兩個字節(jié),0C 00,我們知道這是短整型,但是00 0C代表什么呢?如果我們在16進(jìn)制編輯器中把文件名部分選中,就能看到,它的長度正好是C。文件名長度可以寫為:
get NSIZE short  
把表示文件名長度的兩個字節(jié)保存到變量NSIZE中。
2 h7 m* _# H( s3 M
- O; B. y) ?9 }+ P0 f
在bms語言中,保存文件名應(yīng)該寫成下面的樣子:
getdstring NAME NSIZE  
這就是說,保存一個長度為NSIZE的字符串到變量NAME中。
好了,現(xiàn)在我們在文件名之后又得到了另外4個字節(jié):7C 00 00 00
我們已經(jīng)知道了文件名,現(xiàn)在要解包這個文件,那么我們需要知道文件的大小以及保存的路徑。
很顯然,作為文件的大小來說,7C不是一個很大的數(shù)字。那么讓我們看看偏移量7C的地方是什么。7 e1 W5 \9 r8 q, K( M) Q
在HXD中按下Ctrl+E,然后在開始偏移量和結(jié)束偏移量的地方都輸入7C,再按OK鍵。
 
' u& B6 z+ T/ q7 ?
我們就能看到下面的圖/ N- }& b' e" B" S# p

這里好像是一個文件的文件頭IMG0,于是我們寫下這行表示這是文件的開頭:
get OFFSET long  $ s2 |4 z  M( ?' p9 O2 K" E: }
將4個字節(jié)保存到變量OFFSET中。1 G3 l) G0 G4 l/ E& k  F0 S
接下來的4個字節(jié)70 10 00 00看上去比較大,所以讓我們看看這里是不是文件的長度。先翻譯成00 00 10 70或者說是1070,從剛才的偏移量7C加上長度1070- q% t2 x  j# a; x! L- J
9 p. G$ x4 D9 B0 u' ~: A3 |8 s
哦,我看到了TRUEVISION-XFILE,這是一個典型的TGA文件結(jié)尾。而且我們還看到了這個文件是以IMG0開頭的。0 N4 m# `4 z) X7 Z$ }0 c+ ~/ [9 u6 k
" i7 t4 K6 B4 S- G9 a& _
這意味著我們找到了文件的長度。記下:
get SIZE long  
把4個字節(jié)保存到變量SIZE中。4 Q0 J+ z7 t' e' _3 [1 q0 v: N3 s
好了,現(xiàn)在我們下一個文件的兩個字節(jié),它們看上去挺相似的。: [$ F% r% R2 v2 ~
把0E 00翻譯成00 0E或者E
文件名前的兩個字節(jié)就是文件名的長度,讓我們看看是不是。" |5 ^7 `( J! ]1 {# P' s
- K) h( L, S; D" B: ]* e& t. B
的確,文件名的長度是E
這意味著我們發(fā)現(xiàn)了文件頭重復(fù)的部分,我們已經(jīng)把需要解包的部分都識別出來了?,F(xiàn)在我們就可以完成腳本生成我們的解包器了。
對于重復(fù)的部分,我們設(shè)定一個循環(huán),讓它一直運(yùn)行到?jīng)]有剩余的文件為止。簡單的寫出來就是:& F; V# \2 d3 O
for i = 0 < FILES  
意思就是運(yùn)行下面的命令從i = 0 直到i< FILES(這里的翻譯和原文不同,我是按照語句的意思翻譯的,原文沒看明白)# X# c6 K+ |" B! q$ m! D2 K; [
我們把它放到NSIZE變量前面,因為它是循環(huán)部分的開始。
要把它保存到文件中并且記錄日志命令要用下面的格式:' H& a+ x0 W& o
log NAME OFFSET SIZE  ( c6 C: {! ~$ M/ {
意思是把偏移量OFFSET開始,長度為SIZE的數(shù)據(jù)填寫到文件里并保存。
現(xiàn)在,重復(fù)這些操作,直到?jīng)]有剩余的文件,我們還得加一句:4 y! R- ~3 A9 Z; Y" d% R
next i  $ F! L( U+ b! z8 }% h( G
在循環(huán)之后,這樣循環(huán)就可以進(jìn)行了。! ?" v/ T2 x% ~/ I8 M& R' _$ n; e* u
好了,保存腳本文件并且命名為extract.bms,把Etc.pac、extract.bms 和quickbms.exe放到一個文件夾中。在這個例子中,我們假設(shè)是C:\\Temp! u- X' o# m" G( r, E/ B
現(xiàn)在在命令行模式下,進(jìn)到剛才那個目錄中并且輸入:
quickbms.exe -l extract.bms Etc.pac .  
將會列出文件的信息和大小。如果腳本不正確將給出錯誤信息。
耶,它運(yùn)行了:
  ' ^; _& W; c8 w5 W- i- E' f+ ~
現(xiàn)在讓我們試著把它們解包到extracted  目錄中,輸入
quickbms.exe extract.bms Etc.pac extracted  - y5 i; j, m! S/ w% i0 |
好,正確運(yùn)行并且解包了。

腳本代碼:  
get FILES long  
get HEADERSZ long  
for i = 0 < FILES  8 ~0 I8 _2 n1 T' d+ X
get NSIZE short  
getdstring NAME NSIZE  
get OFFSET long  
get SIZE long  
- s2 O3 d4 Y. u3 F0 |$ k! {
log NAME OFFSET SIZE  3 j& O  r# @( J6 y+ h0 ~2 Y: S5 v
next i

posted on 2014-04-20 02:43 楊粼波 閱讀(6239) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产精品乱码| 一本一本a久久| 久久精品国产久精国产爱| 欧美亚洲一级片| 99re6热只有精品免费观看 | 嫩草伊人久久精品少妇av杨幂| 国产精品一二三四区| 久久亚洲私人国产精品va| 欧美日精品一区视频| 亚洲经典一区| 亚洲一区欧美激情| 久久久蜜臀国产一区二区| 亚洲性人人天天夜夜摸| 一区二区三区视频在线| 亚洲男女毛片无遮挡| 欧美成人首页| 久久av在线看| 日韩午夜免费视频| 国产精品亚洲一区| 久久视频在线看| 欧美精品乱码久久久久久按摩 | 国产精品高清网站| 亚洲人体影院| 老司机一区二区三区| 亚洲免费在线观看| 亚洲图片在线| 99精品视频免费观看| 蜜臀av一级做a爰片久久| 欧美大片91| 黄色一区二区三区四区| 在线一区观看| 免费日韩一区二区| 亚洲欧洲一区二区在线观看 | 91久久夜色精品国产九色| 在线成人激情视频| 一本色道久久综合一区| 欧美激情视频在线播放| 国产综合网站| 一本色道久久88综合日韩精品| 欧美精品一二三| 亚洲精品一线二线三线无人区| 欧美日韩大片一区二区三区| 欧美福利视频网站| 亚洲盗摄视频| 久久精品国产精品亚洲| avtt综合网| 亚洲美女精品久久| 亚洲精品日韩欧美| 欧美国产丝袜视频| 久久精品国产2020观看福利| 国产精品99免视看9| 欧美亚男人的天堂| 国产日韩精品一区二区三区| 亚洲第一网站免费视频| 99精品欧美一区| 国产一区二区精品在线观看| 欧美日本久久| 欧美日韩中文字幕| 久久综合综合久久综合| 亚洲免费不卡| 久久综合九色| 日韩视频三区| 99re6这里只有精品视频在线观看| 亚洲大胆在线| 日韩天堂在线观看| 亚洲国产精品一区二区www| 亚洲一区二区精品在线| 亚洲网站在线观看| 亚洲激情电影在线| 久久国产精品色婷婷| 日韩亚洲不卡在线| 中国成人亚色综合网站| 国产精品亚洲第一区在线暖暖韩国| 久久久久五月天| 亚洲第一级黄色片| 国产偷自视频区视频一区二区| 欧美日韩1区2区| 欧美性一区二区| 久久久国产成人精品| 先锋影音国产精品| 久久久久久亚洲精品不卡4k岛国| 日韩天天综合| 欧美视频日韩视频| 一区二区三区导航| 亚洲天堂免费观看| 久久久免费精品| 欧美精品 日韩| 一本色道久久综合亚洲91| 一区二区三区 在线观看视频 | 亚洲精品久久久久久一区二区| 欧美精品一区二区久久婷婷| 久久精品午夜| 国产伦精品一区| 午夜欧美不卡精品aaaaa| 亚洲黄色成人久久久| 久久国产精品色婷婷| 亚洲精品在线观看免费| 国产伦一区二区三区色一情| 99综合在线| 国产又爽又黄的激情精品视频| 午夜精品成人在线视频| 欧美大片在线看免费观看| 日韩视频免费在线观看| 日韩视频免费| 老司机精品久久| 99re热这里只有精品视频| 国产欧美一区二区在线观看| 99pao成人国产永久免费视频| 久久久亚洲人| 99视频在线观看一区三区| 欧美成在线观看| 国产亚洲欧美一区二区| 亚洲视频福利| 性伦欧美刺激片在线观看| 国产亚洲精品一区二555| 国产一区三区三区| 在线一区亚洲| 亚洲精选一区| 欧美激情综合色| 久热精品在线| 久久天堂成人| 欧美成人一区二区三区| 久久久国产精彩视频美女艺术照福利| 欧美精品久久一区| 亚洲黄色大片| 久久精品天堂| 亚洲午夜久久久| 国产精品进线69影院| 午夜影视日本亚洲欧洲精品| 久久久久久噜噜噜久久久精品| 在线观看亚洲视频| 性8sex亚洲区入口| 最新成人av网站| 亚洲午夜性刺激影院| 老司机亚洲精品| 亚洲私人影吧| 国产综合视频在线观看| 欧美国产先锋| 一区二区三区四区蜜桃| 另类图片综合电影| 影音先锋久久久| 国产精品资源| 毛片精品免费在线观看| 欧美freesex交免费视频| 亚洲国产裸拍裸体视频在线观看乱了中文 | 亚洲欧洲一区二区在线播放| 亚洲欧美成人一区二区在线电影 | 欧美一区二区成人| 1024欧美极品| 亚洲欧美激情视频在线观看一区二区三区| 亚洲国产成人久久| 欧美二区乱c少妇| 亚洲日本在线观看| 欧美一区在线直播| 在线播放亚洲一区| 欧美日韩视频第一区| 日韩一级在线观看| 老司机一区二区三区| 亚洲人成绝费网站色www| 久久这里只精品最新地址| 亚洲电影成人| 99精品免费| 国产精品久久网| 欧美怡红院视频一区二区三区| 亚洲激情电影中文字幕| 久久久久久久一区二区| 亚洲婷婷综合色高清在线| 在线观看日韩专区| 国产婷婷一区二区| 一本色道久久加勒比88综合| 国产精品亚发布| 欧美日韩一区二区三区视频| 巨胸喷奶水www久久久免费动漫| 一本色道久久综合亚洲精品不 | 欧美影院在线播放| 亚洲欧美日韩视频一区| 午夜精品久久久久久久男人的天堂| 日韩一区二区高清| 亚洲一线二线三线久久久| 亚洲欧美在线免费| 久久综合中文字幕| 亚洲成在线观看| 欧美精品九九99久久| 久久一本综合频道| 久久av一区二区| 久久爱另类一区二区小说| 欧美一区二区三区免费观看| 一本大道久久a久久精二百| 亚洲乱码视频| 亚洲欧美日韩国产精品| 亚洲在线免费视频| 亚洲无限乱码一二三四麻| 亚洲网友自拍| 先锋影音久久久| 美女图片一区二区| 国产精品白丝av嫩草影院| 国产精品日韩一区| 亚洲第一黄色网| 亚洲欧美日韩一区| 亚洲第一页中文字幕|