• <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>

            牽著老婆滿街逛

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

            QuickBMS通用解包器使用指南

            轉(zhuǎn)載自:http://www.81256.com/game-24905-1-1.html

            猛犸漢化組教學(xué)筆記
              
            第二篇:QuickBMS通用解包器使用指南
            作者:SMKB
            首發(fā)于猛犸論壇,如轉(zhuǎn)載請(qǐng)保留全部信息。
              
            重要聲明:本篇教學(xué)筆記的內(nèi)容僅用于學(xué)習(xí)交流之目的,任何后續(xù)發(fā)生的和本篇教學(xué)筆記內(nèi)容相關(guān)的商業(yè)利益行為均與猛犸論壇、猛犸漢化組及作者無關(guān)。
              
            前言
              
                  從本質(zhì)上來說,QuickBMS只是一個(gè)通用解包器引擎,由Luigi Auriemma開發(fā)并維護(hù),雖然QuickBMS簡單而高效,技術(shù)組也經(jīng)常使用QuickBMS來解包游戲的資源文件,但任何技術(shù)都存在一個(gè)入門門檻,而本篇以及后續(xù)教學(xué)筆記就試圖為同學(xué)們拆除這個(gè)門檻。
              
                  那么,進(jìn)入QuickBMS世界的門檻有多高呢?我將使用什么方法來拆除這個(gè)門檻呢?
              
            第一節(jié) QuickBMS使用方法
                  
                QuickBMS的使用方法沒有任何難度,其步驟如下所示:
              
            1、使用鼠標(biāo)左鍵雙擊運(yùn)行quickbms.exe程序。
            2、選擇一個(gè)解包腳本。
            3、選擇一個(gè)游戲資源文件(包文件)。
            4、選擇一個(gè)輸出文件夾來存放解包出來的文件。
            5、觀察解包進(jìn)度。
              
                  就這么幾個(gè)步驟,是不是很簡單啊?請(qǐng)同學(xué)們牢記,針對(duì)QuickBMS程序來說,無論在任何情況下,解包腳本、包文件和輸出文件夾都是必須的,讓我們來仔細(xì)的觀察一下這三個(gè)必須存在的東西:包文件已經(jīng)由等待漢化的游戲提供出來了,輸出文件夾我們自己在硬盤上建立一個(gè)就行了,那解包腳本在哪里呢?答案是沒有。這也是我們?yōu)槭裁窗裃uickBMS稱為通用解包器引擎而不是通用解包器的原因,QuickBMS本身并不包含萬能的解包腳本(因?yàn)楦静淮嬖谑裁慈f能解包腳本),而是需要使用者自己針對(duì)特定的包文件結(jié)構(gòu)編寫出特定的解包腳本,這就是所謂的QuickBMS技術(shù)門檻,對(duì)猛犸技術(shù)組來說,這個(gè)門檻的高度是零,技術(shù)組的真正門檻是分析和匯總各種各樣的包文件結(jié)構(gòu)并最終整合,但對(duì)于同學(xué)們來說,在已知包文件結(jié)構(gòu)的前提下,如何編寫出解包腳本是現(xiàn)階段必須跨過的門檻。
              
                在討論怎樣編寫解包腳本之前,先讓我們簡單了解一下QuickBMS程序的術(shù)語或適用范圍,如下所示:
              
            1、編程技術(shù)并不是必須的,但是會(huì)編程能夠讓你更好的理解解包腳本的邏輯性。
            2、解包過程并不需要知道全部的包文件格式,只要知道了文件名稱、數(shù)據(jù)偏移和文件大小就可以解包。
            3、解包腳本中的命令和變量名稱大小寫不敏感。
            4、任何32位數(shù)值都是有符號(hào)的(-2147483648到2147483647),因此QuickBMS不能處理大于2GB的文件,但是能夠在小于4GB的文件上進(jìn)行查找,也就是說只能處理最大4GB的包文件和最大2GB的包內(nèi)文件。
            5、被稱為常量的字符串(依賴于命令的上下文)可以處理成C語言中的字符串標(biāo)記法,例如: "\x12\x34\\hello\"bye\0",這里的關(guān)鍵是C語言的轉(zhuǎn)義字符或轉(zhuǎn)義序列。
            6、支持由0x開頭的16進(jìn)制數(shù)值,例如1234和0x4d2是相同的。
            7、任何大于8位的操作都要受控于全局大小序,默認(rèn)是小序,否則需要使用Endian命令來指定。
            8、注釋能夠使用C語言的//和/* */,以及BMS語法#。
            9、QuickBMS中打開的每個(gè)文件都有一個(gè)關(guān)聯(lián)號(hào),所有的命令都使用這個(gè)號(hào)碼來存取文件,默認(rèn)為0。
            10、內(nèi)存文件是臨時(shí)文件的一種特殊類型,駐留在內(nèi)存中,其工作類似于普通文件。
            11、臨時(shí)文件可代替存儲(chǔ)在物理硬盤上的相同文件。
              
                  了解了這么多,那么我們?cè)撊绾尉帉懡獍_本呢?其實(shí)所謂的解包腳本就是一個(gè)文本文件,其內(nèi)容描述了特定包文件的邏輯結(jié)構(gòu)關(guān)系,QuickBMS本身為我們提供了20種數(shù)據(jù)類型和40條命令,用來方便我們編寫解包腳本,這就像炒菜一樣,油鹽醬醋、蔬菜和肉類都放在那里了,你只要按照一定的順序依次下鍋,就會(huì)色香味俱全了。
              
                  下面的兩個(gè)小節(jié)就分別列出QuickBMS提供的數(shù)據(jù)類型和命令(截止于0.4.6a版本),同學(xué)們可以細(xì)細(xì)體會(huì)一番,而后續(xù)教學(xué)筆記將使用具體的游戲?qū)嵗齺碇v解這些數(shù)據(jù)類型和命令的使用方法以及如何分析出特定的包文件結(jié)構(gòu),這就是前言里面提到的拆除門檻的方法,必須要經(jīng)過多個(gè)游戲?qū)嵗木毩?xí)才能夠有所掌握,希望同學(xué)們能夠下定決心并堅(jiān)持到底。
              
            第二節(jié) QuickBMS的數(shù)據(jù)類型

            序號(hào)
            類型名稱
            類型描述
            1
            BYTE
            8位數(shù)值,00xff
            2
            SHORT
            16位數(shù)值,00xffff
            3
            THREEBYTE
            24位數(shù)值,00xffffff
            4
            LONG
            32位數(shù)值,00xffffffff
            5
            LONGLONG
            假的64位,所以數(shù)值是00xffffffff,但是卻讀取8個(gè)字節(jié)
            6
            STRING
            空結(jié)尾字符串(每個(gè)字符一個(gè)字節(jié))
            7
            ASIZE
            特殊類型,用于返回打開文件的大小,僅用于GET命令
            8
            FILENAME
            特殊類型,用于返回打開文件的名稱,如:"myfile.zip",僅用于GET命令
            9
            BASENAME
            特殊類型,用于返回打開文件的基本名稱,如:"myfile",僅用于GET命令
            10
            EXTENSION
            特殊類型,用于返回打開文件的擴(kuò)展名,如:"zip",僅用于GET命令
            11
            UNICODE
            特殊類型,用于統(tǒng)一碼utf16字符串,utf16的大小序與腳本里的Endian命令設(shè)置相同,也可用于轉(zhuǎn)換統(tǒng)一碼字符串到ascii,如:Set ASCII_STRING UNICODE UNICODE_STRING,很顯然這是假的utf16,所以僅對(duì)英文字符串有效
            12
            BINARY
            特殊類型,用于C語言中的二進(jìn)制字符串標(biāo)記法,如:"\xff\x00\x12\x34",主要用于常量
            13
            COMPRESSED
            特殊類型,用于設(shè)置大的字符串和內(nèi)存文件僅使用少量的文本,要使用這個(gè)類型,你必須獲得原始文本或文件,使用zlib進(jìn)行壓縮,然后使用base64對(duì)輸出文件進(jìn)行編碼,例如:set MEMORY_FILE compressed eNrtwbEJACAMBMBecIfvnMUxPuEJAe0UHN81LLzrbYKwDOjI96IN1cLveRfAGqYu
            14
            LINE
            特殊類型,用于處理回車換行為界定符的字符串(所以任何字符串都要使用0x00 0x0a0x0d結(jié)尾)
            15
            FULLNAME
            文件的完整路徑,實(shí)際上就是輸入文件的完整路徑
            16
            CURRENT_FOLDER
            啟動(dòng)QuickBMS的路徑
            17
            BMS_FOLDER
            定位腳本的文件夾
            18
            OUTPUT_FOLDER
            輸出文件夾
            19
            INPUT_FOLDER
            輸入文件夾
            20
            ALLOC
            僅用于Set命令的特殊情況


            第三節(jié) QuickBMS的命令

            序號(hào)
            命令及描述
            1
            quickbmsver VERSION
            檢查QuickBMS的當(dāng)前版本是否可以支持解包腳本,這個(gè)命令很少使用。
            參數(shù):VERSION QuickBMS的版本號(hào)
            2
            clog NAME OFFSET ZSIZE SIZE [FILENUM]
            提取文件并實(shí)時(shí)解壓,本操作不影響輸入文件的當(dāng)前位置計(jì)數(shù)器,解壓算法由ComType命令指定,提取的文件內(nèi)容能夠自動(dòng)使用Encryption命令進(jìn)行解密。
            參數(shù):      NAME 輸出文件的名稱
                  OFFSET 定位文件在資源中的位置
                  ZSIZE 資源中壓縮的數(shù)據(jù)大小
                  SIZE 解壓后的文件大小
                  FILENUM 與資源關(guān)聯(lián)的文件號(hào)
            3
            findloc VAR TYPE STRING [FILENUM] [ERR_VALUE]
            從資源的當(dāng)前位置查找首次出現(xiàn)的字符串或數(shù)值,這個(gè)命令通常用于未知資源格式或特殊文本文件,很少使用    
            參數(shù):
                  VAR 存儲(chǔ)找到的位置
                  TYPE 能夠是字符串、統(tǒng)一碼或數(shù)值
                  STRING C語言的字符串標(biāo)記法,依賴于TYPE參數(shù)
                  FILENUM與資源關(guān)聯(lián)的文件號(hào)
                  ERR_VALUE 如果沒有找到字符串,默認(rèn)時(shí)FindLoc將終止解包腳本,但是若ERR_VALUE指定了值,那么這個(gè)值將被分配給VAR參數(shù),從而不會(huì)終止解包腳本
            4
            for [VAR1] [OP] [VALUE] [COND] [VAR2]
            ...
            next [VAR]
            經(jīng)典的帶有初始化、條件和步進(jìn)的"for"循環(huán)。在任何時(shí)候可使用break指令中斷循環(huán) (注意:break指令在多個(gè)for循環(huán)中并不直觀,因?yàn)槟承┣闆r下會(huì)產(chǎn)生問題)next用來界定循環(huán),同時(shí)進(jìn)行步進(jìn)。實(shí)際步驟是:將VALUE賦值給VAR1 (或執(zhí)行一個(gè)數(shù)學(xué)操作);執(zhí)行循環(huán)直到VAR1大于VAR1的限定條件;執(zhí)行fornext之間的全部操作;增量VAR1    
            參數(shù):
                  VAR1 初始化變量
                  OP 操作符
                  VALUE 賦給初始化變量的值
                  COND 退出循環(huán)條件
                  VAR2 條件的第二部分
            5
            get VAR TYPE [FILENUM]
            從打開的文件讀取字符串或數(shù)值,這是經(jīng)常使用的命令   
            參數(shù):
                  VAR 存儲(chǔ)讀取數(shù)據(jù)的變量
                  TYPE 請(qǐng)查看前面解釋的類型描述
                  FILENUM 與資源關(guān)聯(lián)的文件號(hào)
            6
            getdstring VAR LENGTH [FILENUM]
            從文件或變量中讀取定長數(shù)據(jù),用于指定長度的文件名或其它字符串    
            參數(shù):
                  VAR 存儲(chǔ)讀取數(shù)據(jù)的變量
                  LENGTH 讀取的字節(jié)數(shù)
                  FILENUM 與資源關(guān)聯(lián)的文件號(hào)
            7
            goto OFFSET [FILENUM] [TYPE]
            轉(zhuǎn)到文件的絕對(duì)位置   
            參數(shù):
                  OFFSET 到達(dá)的位置,如果是負(fù)數(shù)則從文件末尾向前推,能夠處理的范圍是(0 0xffffffff)
                  FILENUM 與資源關(guān)聯(lián)的文件號(hào)
                  TYPE SEEK_SET (默認(rèn))SEEK_CURSEEK_END
            8
            idstring [FILENUM] STRING
            如果文件當(dāng)前位置處的簽名與提供的字符串不符則終止解包腳本。    
            參數(shù):
                  FILENUM與資源關(guān)聯(lián)的文件號(hào)
                  STRING C語言的字符串標(biāo)記法
            9
            log NAME OFFSET SIZE [FILENUM]
            提取文件,本操作不影響輸入文件的當(dāng)前位置計(jì)數(shù)器,提取的文件內(nèi)容能夠自動(dòng)使用Encryption命令進(jìn)行解密。    
            參數(shù):
                  NAME 輸出文件名稱
                  OFFSET 定位文件在資源中的位置
                  SIZE 提取的數(shù)據(jù)大小
                  FILENUM 與資源關(guān)聯(lián)的文件號(hào)
            10
            math VAR1 OP VAR2
            執(zhí)行兩個(gè)變量的數(shù)學(xué)操作,并將結(jié)果放置在第一個(gè)變量里,注意:為了兼容性考慮,全部的操作都默認(rèn)使用有符號(hào)32位數(shù)值    
            參數(shù):
                  VAR1 擔(dān)當(dāng)輸入和輸出變量
                  OP + 相加
                     * 相乘
                     / 相除
                     - 相減
                     ^ 異或
                     & 
                     | 
                     % 取模
                     ! (0成為1,其他值成為0)
                     ~ 補(bǔ)碼(類似于異或0xffffffff)
                     < 左移
                     > 右移
                     l 左轉(zhuǎn)
                     r 右轉(zhuǎn)
                     s 字節(jié)交換
                     w 位交換
                     = VAR2賦值給VAR1
                     n 負(fù)數(shù)
                     a 絕對(duì)值
                     v 
                     p 乘方
                     x 對(duì)齊,例如:var1=1, var2=16, result=16
                                   var1=16, var2=16, result=16
                                   var1=17, var2=16, result=32
                     z 公共位交換:var1=0xab, var2=4, result=0xba
                                   var1=0xabcd, var2=4, result=0xdc
                                   var1=0xabcd, var2=8, result=0xcdab
                     OP的前面或后面添加u可以強(qiáng)制使用無符號(hào)操作
                  VAR2 其它的輸入變量
            11
            open FOLDER NAME [FILENUM] [EXISTS]
            打開文件以便進(jìn)行讀取    
            參數(shù):
                  FOLDER 文件夾名稱,FDDE表示NAME參數(shù)是輸入文件夾里要打開的文件的擴(kuò)展名,FDSE將認(rèn)為NAME參數(shù)就是輸入文件夾里要打開的文件名,"."表示當(dāng)前輸出文件夾
                  NAME 請(qǐng)看上面解釋,NAME能夠是?,這樣QuickBMS將告之用戶插入文件并手動(dòng)打開,若NAME"",將執(zhí)行清空操作
                  FILENUM 與資源關(guān)聯(lián)的文件號(hào)
                  EXISTS 若文件不存在,此變量將設(shè)置為0,否則為1,若文件不存在,QuickBMS默認(rèn)使用一個(gè)錯(cuò)誤進(jìn)行終止
            12
            savepos VAR [FILENUM]
            返回文件的當(dāng)前位置    
            參數(shù):
                  VAR 存儲(chǔ)位置的變量
                  FILENUM 與資源關(guān)聯(lián)的文件號(hào)
            13
            set VAR1 [TYPE] VAR2
            將常量或變量賦值給其它變量,也可以在賦值時(shí)改變類型    
            參數(shù):
                  VAR1 輸出變量或內(nèi)存文件
                  TYPE 沒什么作用
                  VAR2 等待賦值的變量或常量
            14
            do
            ...
            while VAR1 COND VAR2
            一個(gè)不經(jīng)常使用的循環(huán)類型,在循環(huán)的末尾執(zhí)行條件檢查,實(shí)際上很少使用。    
            參數(shù):
                  VAR1 條件的第一部分
                  COND 條件
                  VAR2 條件的第二部分
            15
            string VAR1 OP VAR2
            相當(dāng)于math命令的字符串形式    
            參數(shù):
                  VAR1 輸入和輸出變量
                  OP = 直接復(fù)制,如果VAR2是數(shù)值,則作為原始字符串,例子:var2="0x44434241" result="ABCD"
                     + VAR2附加到VAR1的末尾
                     - 如果VAR2是正數(shù),那么VAR1將從末尾截?cái)嘀付ǖ淖止?jié)數(shù);如果VAR2是負(fù)數(shù),那么VAR1將從開頭截?cái)嘀付ǖ淖止?jié)數(shù),否則將從VAR1中移除全部的VAR2
                     ^ 使用VAR2異或VAR1(若較短則循環(huán)異或)
                     < VAR1的前面截?cái)?/font>VAR2指定的字符數(shù)量,var1="thisisastring"var2="4" result="isastring"
                     % 截?cái)囝^尾字符
                     & var1="thisisastring", var2="isa", result="isastring"
                     | var1="thisisastring", var2="isa", result="string"
                     $
                     !
                     > var1="thisisastring", var2="4", result="thisisast"var1="thisisastring", var2="isa", result="this"
                     b 字節(jié)轉(zhuǎn)16進(jìn)制數(shù),var2="abc", result="616263"
                     B 字節(jié)轉(zhuǎn)16進(jìn)制數(shù),但VAR2是一個(gè)空結(jié)尾字符串
                     h 16進(jìn)制數(shù)轉(zhuǎn)字節(jié),var2="616263", result="abc"
                     e 基于Encryption命令的加密
                     E 基于Encryption命令的加密,但VAR2是一個(gè)空結(jié)尾字符串
                     c 基于ComType命令的壓縮
                     C基于ComType命令的壓縮,但VAR2是一個(gè)空結(jié)尾字符串
                     u var2="hello", result="HELLO"
                     l var2="HELLO", result="hello"
                     p
                     s
                     r 反轉(zhuǎn)字符串
                     R 替換字符
                  VAR2 第二個(gè)變量或字符串
            16
            cleanexit
            終止解包腳本
            17
            if VAR1 COND VAR2
            ...
            [elif VAR1 COND VAR2]
            ...
            [else]
            ...
            endif
            檢查條件并當(dāng)條件滿足時(shí)執(zhí)行必要的操作:
                - If 是第一個(gè)條件
                - Elif 是其它條件,能夠是多個(gè)
                - Else 沒有條件匹配時(shí)執(zhí)行的操作,一般放在最后
                - EndIf 定界標(biāo)記    
            參數(shù):
                  VAR1 條件的第一部分
                  COND 可以是字符串和數(shù)值
                      < 小于
                      > 大于
                      != 不等
                      == 相等
                      >= 大于等于
                      <= 小于等于
                      & 字符串:VAR1包含VAR2;數(shù)值:與
                      ^ 字符串:等于;數(shù)值:異或
                      | 
                      % 取模
                      / 相除
                      << 左移
                      >> 右移
                      ! 取反
                      !! VAR2為非零值則為真
                      ~ 補(bǔ)碼
                  VAR2 條件的第二部分
            18
            getct VAR TYPE CHAR [FILENUM]
            讀取字符串直到CHAR表示的定界符    
            參數(shù):
                  VAR 輸出變量
                  TYPE 忽略了
                  CHAR 8位數(shù)值的定界字符
                  FILENUM 與資源關(guān)聯(lián)的文件號(hào)
            19
            comtype ALGO [DICT]
            指定clog命令使用的壓縮算法    
            參數(shù):
                  ALGO 各種壓縮算法名稱
                DICT 可選的字典或與算法相關(guān)的參數(shù)
            20
            reverselong VAR
            交換32位變量,例如:0x44332211交換為0x11223344    
            參數(shù):
                  VAR 交換的變量
            21
            reverseshort VAR
            交換16位變量,例如:0x2211交換為0x1122    
            參數(shù):
                  VAR 交換的變量
            22
            endian TYPE
            改變讀寫數(shù)據(jù)的全局大小序,默認(rèn)為小序    
            參數(shù):
                  TYPE 小序的0x11223344存儲(chǔ)為44 33 22 11;大序的0x11223344存儲(chǔ)為11 22 33 44
            23
            filexor SEQ 
            任何讀取操作(get, *log 等等)都將執(zhí)行異或    
            參數(shù):
                  SEQ 8位數(shù)值序列,可以是:如0x12或由空格分開的字節(jié)序列如"0x12 0x34 0x56"16進(jìn)制字符串如"\x12\x34\x56";設(shè)置為0""將禁止異或
            24
            filerot SEQ 
            filexor命令類似,但執(zhí)行的是求和操作,若SEQ0x01且文件包含"hello",則變成 "ifmmp"
            25
            strlen VAR1 VAR2
            計(jì)算VAR2的長度并存儲(chǔ)在VAR1    
            參數(shù):
                  VAR1 存儲(chǔ)長度的變量
                  VAR2 需要計(jì)算長度的變量
            26
            getvarchr VAR1 VAR2 OFFSET [TYPE]
            定制字符串以便包含不同信息    
            參數(shù):
                  VAR1 目的變量,包含讀取的元素
                  VAR2 想要獲取元素的變量或內(nèi)存文件
                  OFFSET 指定VAR2中獲取元素的位置
                  TYPE 默認(rèn)為字節(jié)
            27
            putvarchr VAR1 OFFSET VAR2 [TYPE]
            允許使用自定義規(guī)則執(zhí)行寫入的復(fù)雜操作    
            參數(shù):
                  VAR1 想要放置元素的變量或內(nèi)存文件
                  OFFSET 在指定位置放置元素
                  VAR2 包含想要寫入的元素的變量
                  TYPE 默認(rèn)為字節(jié)
            28
            debug
            用于調(diào)試
            29
            padding VAR [FILENUM]
            執(zhí)行此命令將自動(dòng)跳轉(zhuǎn)到對(duì)齊后的數(shù)據(jù)位置,如果文件使用4字節(jié)對(duì)齊,當(dāng)前位置是0x39,那么在使用padding 4之后,其位置將自動(dòng)變?yōu)?/font>0x3c    
            參數(shù):
                  VAR 對(duì)齊大小
                  FILENUM 與資源關(guān)聯(lián)的文件號(hào)
            30
            append
            *log命令中使能附加模式,因此當(dāng)輸出文件名已經(jīng)存在時(shí)將不會(huì)覆蓋而是添加
            31
            encryption ALGO KEY [IVEC] [MODE] [KEYLEN]
            為文件的讀取操作設(shè)置一個(gè)解密算法,此命令僅工作于log clog命令。    
            參數(shù):
                  ALGO 各種解密算法
                  KEY 類似于"\x11\x22\x33\x44"的鍵值
                  IVEC 用于增加解密算法的安全性
                  MODE 默認(rèn)為0,表示解密,否則為1,表示加密
                  KEYLEN 強(qiáng)制鍵值的長度,主要是避免使用變量作為鍵值時(shí)出現(xiàn)問題(因?yàn)榭赡馨?/font>0
            32
            print MESSAGE
            打印字符串,若變量在兩個(gè)%字符之間則打印變量的值    
            參數(shù):
                  MESSAGE 字符串
            3334
            getarray VAR1 ARRAY VAR2
            putarray ARRAY VAR1 VAR2
            使用動(dòng)態(tài)數(shù)組來存儲(chǔ)數(shù)據(jù),類似于臨時(shí)區(qū)或堆棧
            35
            callfunction NAME [KEEP_VAR]
            startfunction NAME
            ...
            endfunction
            聲明一個(gè)函數(shù),請(qǐng)牢記規(guī)則:若KEEP_VAR1,則函數(shù)結(jié)束時(shí)會(huì)保存變量的值,通常在解包腳本的后面放置函數(shù)    
            參數(shù):
                  NAME 函數(shù)名稱
                  KEEP_VAR 0 = 遞歸函數(shù)(默認(rèn))                1 = 正常函數(shù),會(huì)改變變量
            36
            scandir PATH NAME SIZE [FILTER]
            掃描文件,沒什么用處,可以忽略    
            參數(shù):
                  PATH 必須是".",代表當(dāng)前文件夾
                  NAME 接收文件名稱,可以是""
                  SIZE 接收文件大小,可以是-1
                  FILTER 過濾器,僅當(dāng)指定-F參數(shù)時(shí)才有效
            37
            calldll DLLNAME FUNC/OFF CONV RET [ARG1] [ARG2] ... [ARGn]
            本命令允許使用QuickBMS內(nèi)部的插件,可用于存儲(chǔ)在可執(zhí)行文件或動(dòng)態(tài)鏈接庫中的自定義解壓或解密函數(shù)    
            參數(shù):
                  DLLNAME 動(dòng)態(tài)鏈接庫或可執(zhí)行文件名稱
                  FUNC/OFF 函數(shù)名稱或相對(duì)位置偏移,請(qǐng)牢記相對(duì)地址不是絕對(duì)地址,而是與基地址有關(guān)
                  CONV 函數(shù)調(diào)用慣例:stdcallcdeclfastcallborlandwatcompascalsafecallsyscalloptlinkcarionthiscall
                  RET 函數(shù)返回值,""表示沒有返回值
                  [ARGS] 函數(shù)的所有參數(shù)
            383940
            put VAR TYPE [FILENUM]
            putdstring VAR LENGTH [FILENUM]
            putct VAR TYPE CHAR [FILENUM]
            類似于get*命令,但執(zhí)行的是寫入操作


            【第二篇 完結(jié)】
            猛犸漢化組教學(xué)筆記下一篇預(yù)告:【解包練習(xí)之磁力大冒險(xiǎn)】

            本篇筆記用到的工具

            posted on 2014-04-20 02:36 楊粼波 閱讀(6080) 評(píng)論(0)  編輯 收藏 引用


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            久久强奷乱码老熟女| 国产精品综合久久第一页| 亚洲中文久久精品无码ww16| 日产精品久久久久久久性色| 99久久婷婷国产综合亚洲| 亚洲国产精品久久久久网站| 亚洲国产日韩综合久久精品| 97久久精品国产精品青草| 精品久久久久久久久久久久久久久| 精品久久人人爽天天玩人人妻| 九九99精品久久久久久| 久久99热这里只有精品国产| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 久久综合九色综合久99| 久久精品99久久香蕉国产色戒| 久久久久国产一区二区| 精品精品国产自在久久高清| 久久久久无码精品国产不卡| 久久夜色精品国产噜噜亚洲a | 久久亚洲精品无码aⅴ大香| 中文精品久久久久国产网址| 亚洲AV日韩AV天堂久久| 伊人精品久久久久7777| 午夜视频久久久久一区 | 亚洲精品无码久久不卡| 久久精品综合一区二区三区| 99久久精品九九亚洲精品| 97超级碰碰碰久久久久| 人妻无码中文久久久久专区 | 97精品国产97久久久久久免费| 国产亚洲色婷婷久久99精品| 婷婷久久香蕉五月综合加勒比 | 91精品国产91久久久久福利| 欧美一区二区三区久久综合| 久久妇女高潮几次MBA| 伊人久久成人成综合网222| 一级做a爰片久久毛片免费陪| 久久人人爽人人爽人人爽| 久久久久久亚洲精品成人| 国产精品久久久久无码av| 99久久人人爽亚洲精品美女|