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

牽著老婆滿街逛

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

QUICKBMS GUIDE

轉載自:http://forum.xentax.com/viewtopic.php?f=10&t=3525&start=0&st=0&sk=t&sd=a

I am going to make a tutorial for using quickbms for extracting archives that are no extractors for.
I am going to start off easy then add more and more difficult archives so you can learn and write your own scripts.
the tools you need are just 4 things.
1. A HEX editor I use HxD
2.Quick BMS http://aluigi.org/papers/quickbms.zip
3. a text editor like wordpad
4. a calculator that supports hex like the one built into windows.
We will start with a game called FEZ (Fantasy Earth Zero)
this is a great archive format for someone to learn bms scripting from.
I attached a sample.
website http://tw.fez.gamania.com/
installer http://tw.dl.gamania.com/fez/FEZ_1103.exe
this game uses textures with wrong headers mainly dds and some tga and some kind of .mdl format.

ok so you can download the full installer
ok so open the file up in your hex editor so you see what I have open here
Image
so if you look to the right you will notice some readable text 
Etc\aura.tex , Etc\cursor.tex , Etc\mahoujin.tex , Etc\env2.tex , and Etc\kaze.tex .
so just looking with out eyes we now know that there are at least 5 files in this bin file and after we extract them they will be placed in a folder called Etc.
so lets start looking at the other parts of the header in this file we will start with the first 4 bytes
Image
well we have 05 00 00 00
whenever you are working with archives for computer games 99% of the time you read the values in reverse so the above number
would not be 5,000,000 but instead would be read as 00 00 00 05 or 5
Well if we remember from earlier we saw 5 file names and our first 4 bytes of our file are equal to 5 so there is a good chance we just discovered where the file count is stored in this archive.
data is stored in groups of 4 bytes " a long" 2 bytes " a short" or 1 byte "a byte" so we have our first part of our script
get FILES long
this tells quickbms to read a long value "aka 4 bytes" and store it as the variable FILES.
ok the next 4 bytes 74 00 00 00 are not needed in order for quickbms to extract our files but it represents the total size of our header.
Image
so I will write the next line of code for quickbms
get HEADERSZ long 
this stores the header size in the variable HEADERSZ
ok now we have 2 more bytes before the file name
so that is 0C 00 well 2 bytes is know as a short. but what does 00 0C stand for?
if we highlight the whole name of the file in out hex editor it shows us a length of C :)
we found the name length so we would write that as
get NSIZE short
this stores the 2 bytes in the variable NSIZE representing the length of the name
Image
well next comes the name so to store that as a word in bms language we will write the next line
getdstring NAME NSIZE
this is saying store a string "aka a word" in the variable NAME and its length is equal to the variable NSIZE.
ok now we have another 4 bytes after the name 7C 00 00 00
well we already know the name of the file so now to extract the file we need to know its size and location in the archive.
7C is not a very big number for the size of the file to lets see what happens if we go to offset 7C
in HxD press ctrl +E and type in 7c for the start and end then click ok.
Image
you should look like this after clicking ok
Image
hmm this looks good it looks like a file header IMG0 so we will write out line saying that is the start of the file
get OFFSET long
this stores the 4 bytes as the variable OFFSET
ok the next 4 bytes are 70 10 00 00 well that looks bigger so lets see if that is the size of out file so it will translate into 00 00 10 70 or 1070
so lets go to our offset 7C and then we will add in the length column 1070
Image
wow look at that I see TRUEVISION-XFILE that is a classic tga ending and we also end just before IMG0 which was the start of our first file
Image
so that means we found our size :)
we write that as 
get SIZE long
this stores the 4 bytes in the variable SIZE
ok now we have 2 bytes then the next file name hmm that seems familiar 
lets see 0E 00so that means it translates into 00 0E or E
well the last 2 bytes we had before a name was the name size lets see if it still holds true
Image
it does the name length is E :)
so that means we found where the pattern in the header repeats and we identified all that we need to extract the files so now we can finish our script and our extractor.
whenever the pattern starts you want to begin a loop so it will keep cycling through it until there are no files left. the easiest way to write that is.
for i = 0 < FILES
this means run the following commands until i = 0 and set i = FILES
so we will put that before our NSIZE variable because that is where the pattern starts.
next you want it to write out the file and we do that with the log command in the following format
log NAME OFFSET SIZE
this says write the file name and fill it with the data starting at the variable OFFSET and a length of SIZE.
now this is great but we want it to keep repeating the loop till there are no more files so we must add
next i
at the end so the loop continues.
ok so now save the file we created as extract.bms
and put Etc.pac extract.bms and quickbms.exe all in the same folder for wthis demo we will say c:\temp
so now at the command prompt change to that directory and type
quickbms.exe -l extract.bms Etc.pac .
this will list the the file contents and size or give you an error if your script is not correct.
Yay it worked :)
Image
now lets try extracting them create a folder in c:\temp called extracted
now type the command 
quickbms.exe extract.bms Etc.pac extracted
yes it worked now they are in the filder and extracted.
Image
Code:
get FILES long
get HEADERSZ long
for i = 0 < FILES
get NSIZE short
getdstring NAME NSIZE
get OFFSET long
get SIZE long

log NAME OFFSET SIZE
next i

Let me know what you think of this tutorial and if you want me to continue on with more examples and more compex scripts.

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

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲综合导航| 亚洲欧洲另类国产综合| 亚洲天堂av在线免费| 亚洲精品国产精品国产自| 蜜臀91精品一区二区三区| 久久久久一区| 亚洲国产天堂网精品网站| 亚洲人成啪啪网站| 99日韩精品| 午夜精品国产| 欧美成人精品三级在线观看| 欧美体内she精视频在线观看| 欧美三级电影网| 国产日韩一区二区三区| 亚洲国产乱码最新视频| 亚洲一级高清| 久久综合狠狠| 一本久道久久综合婷婷鲸鱼| 欧美一区二区在线看| 免费不卡在线观看| 国产精品日韩专区| 亚洲欧美日韩中文播放| 久久国产精品黑丝| 欧美日韩国产综合网| 国产日本欧美在线观看| 亚洲美女啪啪| 久久久青草青青国产亚洲免观| 亚洲国产精品成人精品| 午夜精品剧场| 欧美激情四色| 国产精品私拍pans大尺度在线| 欧美精品亚洲精品| 国产欧美一区二区色老头| 亚洲高清在线观看一区| 亚洲欧美日韩成人| 欧美激情第六页| 欧美亚洲一级片| 欧美日韩在线一区二区三区| 亚洲国产欧美一区二区三区丁香婷| 亚洲尤物影院| 亚洲激情偷拍| 久久综合九色九九| 国产一区导航| 久久国产精品99精品国产| aa级大片欧美三级| 欧美日韩国产另类不卡| 亚洲精品一区二区三区蜜桃久| 久久综合九色综合久99| 午夜久久久久久久久久一区二区| 欧美日韩精品二区| 99www免费人成精品| 亚洲第一中文字幕| 榴莲视频成人在线观看| 国产字幕视频一区二区| 久久爱另类一区二区小说| 中文国产成人精品久久一| 欧美三日本三级三级在线播放| 999亚洲国产精| 亚洲破处大片| 欧美巨乳在线| 亚洲性xxxx| 亚洲视频在线免费观看| 国产精品久久77777| 午夜精品福利电影| 亚洲欧洲av一区二区三区久久| 国产精品尤物福利片在线观看| 亚洲一区二区三区四区五区黄 | 快播亚洲色图| 激情文学一区| 亚洲电影免费观看高清完整版在线观看 | 亚洲男人的天堂在线aⅴ视频| 亚洲精品美女91| 欧美性色综合| 久久精品99国产精品| 欧美成人免费网| 免费成人激情视频| 一区二区三区精品国产| 一区二区三区视频在线播放| 国产精品嫩草99av在线| 久久精品人人爽| 久久婷婷蜜乳一本欲蜜臀| 日韩视频在线观看免费| 亚洲欧美日韩精品| 亚洲第一二三四五区| 亚洲伦理在线免费看| 国产精品一区二区在线观看不卡| 久久免费高清| 欧美日韩国产欧| 久久精品2019中文字幕| 欧美va天堂在线| 欧美一级在线播放| 免费在线成人| 欧美一区网站| 欧美高清视频在线| 久久大逼视频| 欧美精品一区二区精品网| 欧美在线影院在线视频| 免费视频久久| 性欧美精品高清| 欧美成人精品福利| 久久婷婷国产综合尤物精品| 欧美区高清在线| 美女黄网久久| 国产喷白浆一区二区三区| 亚洲精品黄色| 在线观看亚洲| 欧美中文在线免费| 亚洲综合色视频| 欧美激情亚洲视频| 久久一区二区精品| 国产乱人伦精品一区二区| 亚洲国产人成综合网站| 国产在线拍偷自揄拍精品| 一区二区三区视频观看| 99成人在线| 麻豆精品传媒视频| 久久久久免费视频| 国产精品午夜视频| 亚洲毛片在线观看.| 91久久精品一区二区三区| 性欧美videos另类喷潮| 亚洲欧美在线x视频| 欧美日韩一区在线观看| 亚洲国产视频一区| 在线视频成人| 久久久精品动漫| 麻豆成人小视频| 精品91久久久久| 欧美在线高清| 久久九九国产| 黄色亚洲网站| 欧美制服丝袜第一页| 欧美在线亚洲一区| 国产私拍一区| 久久福利影视| 久久综合网络一区二区| 激情久久久久久久久久久久久久久久| 亚洲欧美日韩国产一区二区| 欧美一区不卡| 曰韩精品一区二区| 久久综合久久久久88| 99视频日韩| 欧美精品1区| 亚洲精品国久久99热| 一区二区三区精密机械公司 | 久久国产精品网站| 久久综合给合久久狠狠狠97色69| 黄色工厂这里只有精品| 久久只精品国产| 亚洲国产精品一区二区www在线| 亚洲人成啪啪网站| 欧美日韩在线观看视频| 亚洲免费在线播放| 久久综合网色—综合色88| 最新国产成人av网站网址麻豆| 欧美精品一区在线| 亚洲在线视频观看| 噜噜噜久久亚洲精品国产品小说| 亚洲国产影院| 欧美午夜精品电影| 久久国产免费| 日韩视频免费在线| 久久精品一区中文字幕| 亚洲黄色一区| 国产精品乱码久久久久久| 欧美自拍偷拍午夜视频| 亚洲国产精品日韩| 欧美一区二区三区视频| 亚洲人成在线观看| 国产日韩欧美麻豆| 欧美激情久久久| 午夜免费在线观看精品视频| 欧美激情在线| 欧美一级播放| 亚洲美女视频在线观看| 国产欧美日韩综合一区在线播放 | 国产欧美日韩视频| 美女视频黄 久久| 亚洲影视在线| 亚洲国产精品高清久久久| 欧美一区二区三区婷婷月色| 亚洲人成在线播放网站岛国| 国产日韩欧美一二三区| 欧美日韩1区2区3区| 久久精品国产亚洲高清剧情介绍| 亚洲精品在线电影| 免费成人你懂的| 久久精品女人的天堂av| 亚洲午夜一区| 日韩天堂在线观看| 亚洲国产精品一区二区第四页av | 久久久久久久久伊人| 一本综合精品| 亚洲区一区二| 亚洲国产福利在线| 国产色爱av资源综合区| 国产精品激情偷乱一区二区∴| 欧美激情第一页xxx| 蜜月aⅴ免费一区二区三区 | 美女视频黄 久久|