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

牽著老婆滿街逛

嚴以律己,寬以待人. 三思而后行.
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一区二区三区漫画| 欧美激情按摩| 日韩亚洲欧美一区| 美女在线一区二区| 亚洲免费视频观看| 国产精品稀缺呦系列在线| 精品动漫3d一区二区三区| 午夜精品电影| 最新日韩在线视频| 久热re这里精品视频在线6| 国产一区自拍视频| 久久都是精品| 久久嫩草精品久久久精品| 国产无一区二区| 欧美一级片在线播放| 亚洲自拍偷拍视频| 国产亚洲一级高清| 亚洲永久精品国产| 午夜精品视频在线| 国产真实乱子伦精品视频| 蜜桃久久av一区| 鲁大师影院一区二区三区| 在线精品一区| 亚洲经典视频在线观看| 欧美日韩成人一区二区三区| 正在播放亚洲一区| 午夜一区二区三区不卡视频| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ入口 | 美女福利精品视频| 一区二区三区四区在线| 亚洲免费一在线| 国产一区二区久久久| 麻豆精品视频在线观看| 欧美韩日视频| 亚洲自拍偷拍色片视频| 亚洲一区免费在线观看| 亚洲第一在线综合在线| 亚洲精品久久久久久一区二区| 国产精品三上| 亚洲福利视频一区| 国产精品五月天| 欧美电影电视剧在线观看| 国产精品大片wwwwww| 欧美 日韩 国产精品免费观看| 欧美日韩国产美女| 久久精品一区二区三区不卡| 欧美二区视频| 久久www成人_看片免费不卡| 欧美国产日本韩| 久久精品中文字幕一区| 欧美日韩视频在线一区二区| 久久一区欧美| 国产精品久久久久久久久久三级 | 国产农村妇女精品一区二区| 欧美国产精品中文字幕| 国产精品夜夜嗨| 蜜臀av性久久久久蜜臀aⅴ| 国产精品久久夜| 亚洲肉体裸体xxxx137| 影音先锋久久| 欧美一区二区三区啪啪| 亚洲欧美日本精品| 欧美性开放视频| 美乳少妇欧美精品| 一区二区三区中文在线观看| 欧美一区午夜视频在线观看| 久久精品盗摄| 国产一区二区日韩| 欧美在线视频不卡| 麻豆精品视频| 亚洲黑丝一区二区| 欧美激情国产精品| 99re热这里只有精品免费视频| 一本综合久久| 国产精品久久激情| 午夜精品久久久久久久男人的天堂| 午夜激情一区| 国产综合香蕉五月婷在线| 久久久久久午夜| 亚洲第一精品福利| 亚洲视频中文| 国产视频久久久久| 久久久久久免费| 91久久精品一区二区别| 在线午夜精品| 国产一区二区三区免费在线观看| 久久国产精品久久久久久| 欧美不卡视频一区| 在线一区二区三区做爰视频网站 | 欧美激情第9页| 9i看片成人免费高清| 午夜欧美精品| 一区二区在线观看av| 欧美黑人一区二区三区| 亚洲一区3d动漫同人无遮挡| 久久精品综合一区| 亚洲毛片一区| 国产视频自拍一区| 欧美激情第1页| 欧美一区二区高清| 亚洲欧洲日韩综合二区| 久久成人综合视频| 日韩一区二区福利| 国产亚洲欧美在线| 模特精品在线| 性色一区二区三区| 亚洲经典三级| 蜜桃av综合| 亚洲欧美一区二区三区在线| 亚洲国产欧美在线人成| 国产日韩欧美亚洲一区| 欧美黄污视频| 久久久综合网| 欧美在线免费观看| 亚洲午夜影视影院在线观看| 欧美搞黄网站| 老司机aⅴ在线精品导航| 亚洲综合久久久久| 亚洲精品永久免费| 在线观看日韩精品| 国产欧美婷婷中文| 欧美天天综合网| 欧美成年人在线观看| 欧美一区二区三区啪啪| 亚洲一区二区三区四区中文| 亚洲精品日韩综合观看成人91| 久久女同互慰一区二区三区| 性色av一区二区三区红粉影视| 夜夜爽av福利精品导航| 亚洲国内在线| 亚洲高清视频一区二区| 狠狠操狠狠色综合网| 国产精品自拍在线| 国产精品免费一区豆花| 欧美性色综合| 欧美日韩国产一区二区三区| 欧美激情视频给我| 欧美另类在线播放| 欧美国产专区| 欧美激情一二三区| 欧美韩日精品| 欧美日韩精品综合| 欧美日韩亚洲一区二| 欧美日韩一区二区在线观看视频| 国产精品视频一区二区高潮| 韩国av一区二区三区| 欧美不卡激情三级在线观看| 亚洲精品在线视频观看| 亚洲福利视频一区| 欧美成人精品h版在线观看| 久久久天天操| 久久在线免费视频| 久久婷婷久久一区二区三区| 久久手机精品视频| 久久综合久久久| 久久亚洲综合| 欧美α欧美αv大片| 亚洲国产精品免费| 亚洲伦理在线| 亚洲欧美国产精品专区久久| 亚洲男人的天堂在线aⅴ视频| 午夜精品网站| 麻豆精品一区二区av白丝在线| 另类酷文…触手系列精品集v1小说| 老色鬼久久亚洲一区二区| 欧美大成色www永久网站婷| 欧美日韩亚洲一区在线观看| 国产精品国产亚洲精品看不卡15| 国产欧美日韩在线播放| 极品裸体白嫩激情啪啪国产精品 | 久久精品女人的天堂av| 久久久噜噜噜久久中文字免| 欧美黄色小视频| 亚洲一区二区三区精品在线观看 | 欧美xxx成人| 欧美视频四区| 精品成人国产| 在线亚洲美日韩| 久久精品官网| 日韩视频免费观看高清在线视频| 一区二区毛片| 久久电影一区| 欧美性做爰毛片| 极品尤物av久久免费看| 在线综合欧美| 欧美xx视频| 先锋影音久久| 欧美日韩福利在线观看| 一区二区三区在线免费视频| 中文亚洲欧美| 欧美电影免费观看大全| 亚洲一区日本| 欧美日韩成人在线观看| 国产一区清纯| 亚洲欧美影院| 亚洲美女av网站| 美日韩在线观看| 国产日韩亚洲| 性做久久久久久久免费看| 91久久精品日日躁夜夜躁欧美|