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

牽著老婆滿街逛

嚴以律己,寬以待人. 三思而后行.
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>
            一区二区三区鲁丝不卡| 欧美三区免费完整视频在线观看| 国产啪精品视频| 久久爱www久久做| 久久国产精品99精品国产| 国产一区二三区| 欧美成人激情视频| 欧美日韩免费高清一区色橹橹| 亚洲一区二区视频| 欧美一区二区在线免费观看| 精品动漫一区| 一本到高清视频免费精品| 国产免费观看久久黄| 麻豆成人在线播放| 欧美日韩精品在线观看| 羞羞视频在线观看欧美| 久热爱精品视频线路一| 中文av一区特黄| 久久精品国产免费看久久精品| 亚洲黄色免费网站| 国产精品99久久久久久久久| 狠狠色丁香婷婷综合影院| 亚洲精品中文字幕在线| 国产偷国产偷精品高清尤物| 亚洲国产99| 国产精品看片资源| 欧美激情中文字幕一区二区| 国产精品久久久久99| 亚洲高清自拍| 黄色工厂这里只有精品| 这里只有精品视频| 亚洲三级视频| 久久国内精品视频| 亚洲欧洲av一区二区三区久久| 久久久亚洲国产美女国产盗摄| 亚洲欧美日韩电影| 欧美福利网址| 欧美不卡一区| 国产一区二区在线观看免费| av成人激情| 一区二区成人精品 | 欧美不卡视频一区发布| 国产欧美日韩麻豆91| 99re6这里只有精品视频在线观看| 激情久久久久久| 欧美一区二区三区四区高清| 亚洲网友自拍| 欧美日韩亚洲一区二区三区| 欧美激情精品久久久久久变态| 国产一区二区欧美| 午夜精品理论片| 午夜精品亚洲| 国产精品区一区二区三区| 9色国产精品| 在线亚洲激情| 欧美日韩一区二区三区| 亚洲精品视频一区| 一区二区三区欧美亚洲| 欧美激情第六页| 亚洲欧洲一区二区三区| 日韩五码在线| 欧美日韩国产一级片| 亚洲免费av电影| 亚洲视频在线观看网站| 欧美性色视频在线| 亚洲午夜久久久久久久久电影院| 中文亚洲欧美| 国产精品大片wwwwww| 99这里只有精品| 性色av一区二区三区红粉影视| 国产精品久久久久一区二区三区共| 一本色道久久综合亚洲精品小说| 亚洲午夜精品一区二区| 国产精品三级视频| 性欧美办公室18xxxxhd| 欧美gay视频| 亚洲精品综合| 国产精品久久一级| 新狼窝色av性久久久久久| 蜜臀99久久精品久久久久久软件| 亚洲高清三级视频| 欧美激情按摩| 亚洲一区二区三区四区在线观看 | 欧美激情一二区| 夜夜精品视频一区二区| 国产精品午夜在线| 久久久久9999亚洲精品| 亚洲日本视频| 欧美在线三区| 亚洲黄色视屏| 国产精品视频男人的天堂| 久久人91精品久久久久久不卡| 亚洲福利久久| 久久国产精品毛片| 亚洲国产小视频在线观看| 国产精品mm| 久久婷婷麻豆| 中文在线资源观看视频网站免费不卡| 久久av一区二区三区漫画| 亚洲欧洲精品一区| 国产农村妇女精品| 欧美韩国一区| 久久精品国产69国产精品亚洲 | 99精品99| 欧美成人精品在线播放| 亚洲欧美久久久| 亚洲精品一区久久久久久| 国产日韩欧美麻豆| 欧美日韩在线视频一区| 久久免费视频在线| 亚洲影院在线观看| 亚洲美女中出| 欧美二区乱c少妇| 久久九九国产| 亚洲综合三区| 99综合在线| 亚洲国产精品久久久| 国产日韩欧美不卡| 欧美亚男人的天堂| 欧美精品久久天天躁| 久久精品最新地址| 香蕉久久夜色| 亚洲综合日本| 中文在线不卡视频| 一区二区三欧美| 日韩亚洲国产欧美| 亚洲电影有码| 亚洲电影欧美电影有声小说| 久久久久久久久久久久久久一区| 亚洲欧美另类中文字幕| 亚洲视频视频在线| 一区二区精品在线| 99精品久久| 一区二区三区欧美在线| 99视频精品在线| 夜夜爽99久久国产综合精品女不卡 | 一本色道久久综合亚洲91| 亚洲精品网址在线观看| 亚洲国产老妈| 亚洲精品视频免费观看| 日韩小视频在线观看专区| 亚洲乱亚洲高清| 在线一区视频| 香蕉av福利精品导航| 午夜国产精品视频| 欧美在线视频观看| 久久精品人人做人人爽电影蜜月| 欧美一区二区在线免费播放| 欧美中文字幕在线播放| 久久久一区二区| 美女亚洲精品| 欧美精品一区二区三区在线看午夜| 欧美大片在线观看| 欧美人与性动交cc0o| 国产精品久久九九| 国产综合香蕉五月婷在线| 亚洲高清久久网| 中文精品一区二区三区 | 最新高清无码专区| 一个色综合av| 欧美在线啊v| 免费亚洲婷婷| 日韩小视频在线观看专区| 亚洲一区免费视频| 久久久中精品2020中文| 欧美激情第3页| 国产免费亚洲高清| 亚洲国产精品成人一区二区 | 小黄鸭精品密入口导航| 久久综合久久综合久久| 亚洲国产精品成人| 亚洲一区二区三区精品在线观看| 欧美在线观看天堂一区二区三区| 久久夜精品va视频免费观看| 欧美日韩在线免费| 一区二区在线看| 亚洲色图在线视频| 久久夜色撩人精品| 夜夜夜久久久| 麻豆精品在线观看| 国产精品热久久久久夜色精品三区| 国产在线日韩| 亚洲一区二区三区乱码aⅴ| 久久天堂国产精品| 在线亚洲精品福利网址导航| 久久精品国产清自在天天线| 欧美另类在线观看| 在线成人欧美| 欧美一区二区三区久久精品茉莉花| 欧美成人在线影院| 亚洲欧美一区二区三区在线| 欧美高清视频| 在线日韩日本国产亚洲| 欧美一区二区女人| 日韩亚洲国产欧美| 欧美精品一区视频| 亚洲国产综合在线| 另类专区欧美制服同性| 午夜精品久久| 国产精品黄色在线观看|