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

牽著老婆滿街逛

嚴以律己,寬以待人. 三思而后行.
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| 性色av一区二区三区| 中文精品一区二区三区| 亚洲视频中文字幕| 亚洲特级片在线| 亚洲欧美激情一区| 亚洲精品国精品久久99热| 蜜桃av一区| 欧美成人久久| 亚洲高清在线观看一区| 亚洲三级免费电影| 亚洲大片av| 你懂的亚洲视频| 亚洲国产精品一区二区久 | 欧美性色视频在线| 久久久亚洲高清| 麻豆精品精品国产自在97香蕉| 久久野战av| 欧美巨乳在线| 国产精品色网| 一区二区三区中文在线观看| 国产精品美女久久久久久2018| 国产九色精品成人porny| 国内精品免费在线观看| 亚洲人体偷拍| 午夜欧美视频| 欧美+日本+国产+在线a∨观看| 午夜精品一区二区三区四区| 久久午夜激情| 亚洲人体影院| 欧美一区二区性| 欧美成人午夜激情| 国产精品色一区二区三区| 在线观看视频免费一区二区三区| 一区二区三区成人精品| 亚洲午夜久久久| 蜜臀va亚洲va欧美va天堂| 99re视频这里只有精品| 久久精品日韩| 国产精品久久久久久户外露出| 一区一区视频| 亚洲欧美日韩国产综合| 亚洲第一精品电影| 欧美影院成年免费版| 欧美日韩成人一区二区| 黄色国产精品一区二区三区| 在线亚洲免费| 午夜精品免费| 亚洲片区在线| 久久一区二区三区av| 国产精品久久综合| aa级大片欧美三级| 欧美国产日韩亚洲一区| 欧美一区二区久久久| 欧美日韩国产精品| 最新69国产成人精品视频免费| 久久久久国产精品人| 一区二区三区.www| 欧美另类videos死尸| 亚洲激情二区| 欧美成人免费va影院高清| 欧美在线播放| 国产亚洲欧美色| 99精品国产福利在线观看免费| 玖玖精品视频| 久久久久看片| 欧美自拍偷拍| 欧美好吊妞视频| 久久国产主播精品| 国产欧美精品在线观看| 亚洲愉拍自拍另类高清精品| 久久久综合网站| 亚洲三级免费电影| 欧美激情视频给我| 亚洲精品欧美激情| 亚洲第一精品在线| 欧美一区二区在线免费观看 | 国产精品一区在线观看你懂的| 亚洲无人区一区| 99在线|亚洲一区二区| 欧美激情一区二区三级高清视频| 亚洲激情网站| 亚洲精品国产精品国自产观看浪潮 | 亚洲一区在线看| 国产精品一区免费观看| 夜夜嗨av一区二区三区网页| 日韩视频在线免费| 欧美婷婷久久| 久久国产乱子精品免费女 | 老牛国产精品一区的观看方式| 日韩视频久久| 欧美在线观看视频| 亚洲最快最全在线视频| 欧美一区二区三区久久精品茉莉花| 亚洲激情欧美激情| 欧美一区二区精美| 一区二区三区日韩欧美精品| 久久国产一区二区| 亚洲欧美日韩国产一区二区| 欧美成人一品| 老司机精品视频一区二区三区| 欧美亚洲动漫精品| 亚洲精品欧美精品| 亚洲国产欧美一区| 久久gogo国模啪啪人体图| 亚洲视频每日更新| 欧美多人爱爱视频网站| 麻豆免费精品视频| 国产一区二区在线观看免费| 亚洲视频精选| 在线亚洲美日韩| 欧美福利一区二区| 欧美成人亚洲成人日韩成人| 国精产品99永久一区一区| 亚洲视频电影图片偷拍一区| 99热在线精品观看| 欧美福利小视频| 亚洲国产一区视频| 亚洲国产一区二区在线| 久久久久女教师免费一区| 欧美一区二区三区日韩| 亚洲福利免费| 欧美一区二区三区日韩视频| 午夜精品久久久久久久蜜桃app| 欧美日韩国产精品一区二区亚洲| 欧美va亚洲va香蕉在线| 韩国三级电影一区二区| 性色av一区二区三区| 欧美亚洲免费电影| 国产女优一区| 亚洲女爱视频在线| 欧美一区二区三区在线| 国产欧美欧洲在线观看| 亚洲欧美综合另类中字| 久久国产日韩欧美| 国产一区二区三区在线免费观看 | 亚洲手机在线| 亚洲免费视频中文字幕| 国产精品女主播| 香蕉视频成人在线观看| 久久午夜激情| 亚洲肉体裸体xxxx137| 欧美日韩精品一区二区三区| 在线视频精品一区| 久久国产精品亚洲77777| 激情国产一区| 欧美高清自拍一区| 正在播放欧美一区| 久久久久免费| 亚洲精品久久久久久下一站| 欧美理论片在线观看| 亚洲永久在线| 美女视频黄a大片欧美| 亚洲日韩视频| 国产精品蜜臀在线观看| 久久超碰97人人做人人爱| 亚洲第一级黄色片| 午夜国产精品视频| 一区二区亚洲欧洲国产日韩| 欧美激情第4页| 午夜精品电影| 欧美国产一区在线| 羞羞色国产精品| 亚洲国产精品成人综合| 国产精品久久久久久久久久三级| 久久久久久久高潮| 在线综合亚洲欧美在线视频| 麻豆国产精品777777在线| 中文欧美日韩| 在线欧美影院| 国产精品伦一区| 欧美aⅴ99久久黑人专区| 亚洲伊人观看| 亚洲精品欧洲| 女主播福利一区| 欧美一区高清| 在线亚洲自拍| 亚洲激情专区| 激情欧美日韩一区| 国产精品久久久久久久久| 欧美国产日韩一区二区| 欧美在线播放视频| 在线一区二区三区四区五区| 久久视频一区| 欧美一区三区二区在线观看| 99精品欧美一区二区蜜桃免费| 在线播放不卡| 国产一区二区三区av电影| 国产精品成人在线| 日韩网站在线观看| 国产亚洲免费的视频看| 国产精品海角社区在线观看| 免费成人在线视频网站| 小黄鸭精品密入口导航| 亚洲一级特黄| 亚洲一区二区三区中文字幕在线|