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

牽著老婆滿街逛

嚴以律己,寬以待人. 三思而后行.
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| 亚洲影音一区| 久久婷婷蜜乳一本欲蜜臀| 久久亚洲不卡| 亚洲人成网站在线观看播放| 亚洲第一精品影视| 欧美高清在线| 亚洲视频播放| 欧美专区在线观看| 亚洲欧洲日本专区| 一二三区精品| 精品成人一区| 亚洲美女av黄| 国内精品久久久久久久97牛牛| 欧美99在线视频观看| 欧美电影资源| 久久精品亚洲精品| 欧美激情一区二区三区在线| 欧美一级理论性理论a| 久久久国产精品亚洲一区| 日韩亚洲欧美综合| 亚洲欧美中文日韩v在线观看| 亚洲成人原创| 中日韩高清电影网| 亚洲高清激情| 亚洲永久视频| 日韩午夜电影| 久久精品国产免费观看| 在线视频精品一| 久久亚洲高清| 欧美在线不卡视频| 欧美日韩xxxxx| 免费成人性网站| 国产九九精品| 亚洲精品在线免费| 精品粉嫩aⅴ一区二区三区四区| 一区二区福利| 亚洲美女电影在线| 老司机亚洲精品| 久久国产精品99久久久久久老狼 | 一区二区三区精品久久久| 欧美一区二区三区免费观看视频| 一本色道久久综合亚洲91| 久久久久久久久久久成人| 亚洲欧美日韩精品久久久| 欧美韩日精品| 欧美激情1区2区| 国内精品久久久久久久果冻传媒 | 久久亚洲精品一区| 国产乱人伦精品一区二区| 亚洲精品在线免费| 99re6热只有精品免费观看 | 欧美激情精品久久久久久久变态| 国产欧美高清| 午夜久久久久久| 亚洲欧美日本在线| 国产精品国产三级国产专播精品人| 亚洲国产欧美日韩另类综合| 亚洲黄色在线看| 巨胸喷奶水www久久久免费动漫| 久久精品夜色噜噜亚洲a∨| 国产精品影院在线观看| 亚洲一区二区三区免费视频| 亚洲欧美激情一区二区| 国产精品亚洲产品| 香蕉成人久久| 久久影视精品| 在线免费观看欧美| 欧美大胆成人| 99re6这里只有精品| 亚洲欧美不卡| 国产欧美一区二区三区另类精品 | 欧美fxxxxxx另类| 亚洲国产精品va在线看黑人 | 中文一区二区在线观看| 午夜免费电影一区在线观看| 国产伦理精品不卡| 久久国产精品久久久| 欧美成人精品| 一区二区三区四区五区视频 | 久久综合久久综合久久综合| 亚洲第一中文字幕| 亚洲一区三区在线观看| 国产视频自拍一区| 麻豆精品一区二区av白丝在线| 亚洲国内高清视频| 亚洲女女女同性video| 国产一区二区精品| 欧美韩日一区| 性欧美videos另类喷潮| 欧美成人中文字幕| 亚洲在线中文字幕| 黑人中文字幕一区二区三区| 欧美 亚欧 日韩视频在线| aⅴ色国产欧美| 久久久91精品国产| 一区二区三区精品| 国产日韩欧美在线| 欧美精品偷拍| 欧美一区综合| 99re这里只有精品6| 久久尤物视频| 亚洲午夜未删减在线观看| 极品少妇一区二区三区| 欧美日韩国产综合视频在线| 欧美综合77777色婷婷| 日韩一级黄色av| 久热国产精品| 欧美一二区视频| 99re6热在线精品视频播放速度| 国产三级精品三级| 欧美视频亚洲视频| 欧美国产精品v| 欧美在线亚洲在线| 亚洲视频在线观看一区| 亚洲高清不卡av| 久久久久久久一区二区| 亚洲一区二区三区欧美| 亚洲精选视频在线| 在线观看国产成人av片| 国产日韩欧美二区| 国产精品久久久久久久久久久久| 欧美高清不卡在线| 久久最新视频| 久久九九热re6这里有精品| 在线一区观看| 亚洲伦理在线免费看| 欧美激情久久久久| 久久综合狠狠综合久久综合88| 欧美一区二区观看视频| 亚洲免费在线播放| 亚洲视频在线观看网站| 99国产精品久久久久久久久久 | 欧美一级片一区| 亚洲欧美综合另类中字| 亚洲淫性视频| 亚洲一区亚洲| 亚洲综合色网站| 亚洲欧美999| 亚洲欧美春色| 先锋a资源在线看亚洲| 午夜精品在线视频| 欧美一区二区免费视频| 欧美在线日韩| 久久久久女教师免费一区| 久久久精品性| 美国十次成人| 亚洲电影视频在线| 亚洲黄色三级| 一本久道久久综合狠狠爱| 99视频在线观看一区三区| 一区二区三区高清视频在线观看| 一区二区三区四区五区精品视频| 一区二区欧美精品| 欧美一区二区精品久久911| 欧美一区二区成人6969| 久久亚洲私人国产精品va| 久久久久国色av免费看影院| 免费成人毛片| 欧美日韩99| 国产精品视频一区二区三区 | 欧美激情精品久久久六区热门| 欧美日韩激情小视频| 国产精品一区二区久久| 好吊色欧美一区二区三区视频| 亚洲高清视频在线观看| 亚洲特色特黄| 久久精品最新地址| 亚洲国产视频直播| 亚洲一级二级在线| 久久香蕉精品| 欧美性jizz18性欧美| 国产一区二区精品在线观看| 在线看国产日韩| 亚洲一区二区av电影| 久久噜噜噜精品国产亚洲综合| 欧美激情亚洲激情| 亚洲私拍自拍| 麻豆久久精品| 国产精品乱码人人做人人爱| 一区二区在线看| 亚洲一区二区三区精品动漫| 久久午夜激情| 在线亚洲成人| 久久综合一区二区三区| 国产精品老牛| 亚洲精品乱码久久久久久| 久久成人免费电影| 亚洲精品视频一区| 久久精品一本| 国产精品尤物| 在线视频欧美精品| 欧美国产第二页| 欧美在线观看一区二区三区| 欧美视频网址| 亚洲剧情一区二区| 老司机免费视频一区二区三区 | 欧美激情一区二区三区成人|