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

牽著老婆滿街逛

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

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


第三節(jié) QuickBMS的命令

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

本篇筆記用到的工具

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


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


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲少妇自拍| 欧美亚洲视频| 蜜臀久久99精品久久久久久9 | 亚洲午夜在线观看视频在线| 亚洲午夜国产一区99re久久 | 欧美一区成人| 欧美久色视频| 狠狠色香婷婷久久亚洲精品| 亚洲午夜性刺激影院| 久久在线免费观看| 一区二区激情| 欧美欧美在线| 在线色欧美三级视频| 国产偷自视频区视频一区二区| 亚洲人成网站影音先锋播放| 久久精品一区二区| 中文在线一区| 欧美视频一区二区三区在线观看| 在线观看视频一区二区欧美日韩| 久久国产精品72免费观看| 99精品国产一区二区青青牛奶 | 亚洲一品av免费观看| 免费短视频成人日韩| 国产视频在线一区二区| 黄色欧美日韩| 亚洲视频综合在线| 亚洲国产日韩一区| 久久久久久免费| 亚洲无线视频| 黄色成人在线网站| 久久精品亚洲一区二区| 亚洲一区二区三区欧美 | 米奇777超碰欧美日韩亚洲| 亚洲一区免费网站| 欧美日韩国产在线看| 亚洲社区在线观看| 亚洲午夜电影在线观看| 国产精品裸体一区二区三区| 午夜精品视频在线观看一区二区| 一区二区三区精品视频在线观看| 欧美理论大片| 亚洲黄色在线| 亚洲国产高清在线| 欧美精品在线观看播放| 一区二区三区日韩在线观看| 亚洲伦理在线免费看| 国产精品v欧美精品v日韩精品| 亚洲影院色无极综合| 午夜精品久久久久| 在线播放国产一区中文字幕剧情欧美| 老司机免费视频一区二区| 亚洲嫩草精品久久| 欧美视频精品在线观看| 欧美在线观看一二区| 亚洲一区二区三区中文字幕在线| 国产九九精品视频| 免费影视亚洲| 欧美午夜激情视频| 国产午夜精品理论片a级大结局| 在线视频中文亚洲| 欧美在线日韩精品| 亚洲裸体俱乐部裸体舞表演av| 一区二区日韩免费看| 韩国三级电影久久久久久| 欧美激情国产日韩| 国产精品亚洲а∨天堂免在线| 噜噜噜91成人网| 国产精品va在线播放| 亚洲欧美综合精品久久成人 | 亚洲一区二区视频| 亚洲黄色性网站| 久久国产精品久久精品国产 | 欧美日韩中文字幕精品| 久久天天躁狠狠躁夜夜爽蜜月| 欧美激情亚洲| 亚洲欧美国产一区二区三区| 久久久五月婷婷| 午夜视频一区二区| 欧美精品v日韩精品v国产精品| 久久精品日韩一区二区三区| 欧美日韩亚洲一区二区| 老牛国产精品一区的观看方式| 欧美特黄一级| 久久精品国产欧美亚洲人人爽| 欧美成人国产一区二区| 红桃视频国产一区| 午夜激情一区| 欧美一区二粉嫩精品国产一线天| 欧美+日本+国产+在线a∨观看| 99视频超级精品| 久久夜色精品| 久久亚洲影音av资源网| 欧美另类久久久品| 欧美激情一区二区三区 | 亚洲国产精品123| 欧美三区在线| 亚洲欧洲中文日韩久久av乱码| 国产一区二区三区四区五区美女| 一本不卡影院| 99精品欧美| 男女激情久久| 欧美大片网址| 在线不卡免费欧美| 久久精品国产综合精品| 国产精品日本精品| 亚洲视频在线播放| 亚洲永久在线| 久久伊伊香蕉| 久久综合九色综合欧美就去吻| 噜噜噜躁狠狠躁狠狠精品视频 | 久久这里只有精品视频首页| 久久福利电影| 国产亚洲一区二区三区在线观看| 亚洲影音一区| 麻豆成人综合网| 亚洲精品国产拍免费91在线| 欧美日韩亚洲一区二区三区在线| 亚洲视频在线观看| 久久一区二区三区四区| 亚洲国产视频直播| 欧美视频官网| 久久gogo国模裸体人体| 亚洲高清免费在线| 午夜国产欧美理论在线播放 | 国产一区二区三区的电影 | 欧美一级二区| 亚洲第一毛片| 国产精品yjizz| 欧美一区二区三区免费观看| 欧美成人免费全部观看天天性色| 亚洲精品国产精品乱码不99| 欧美日韩在线播放三区四区| 午夜精品福利一区二区蜜股av| 男男成人高潮片免费网站| 在线视频亚洲一区| 一区二区三区在线免费视频| 亚洲欧美视频| 亚洲狠狠婷婷| 欧美在线视频一区二区三区| 亚洲经典三级| 国产日韩综合一区二区性色av| 噜噜噜噜噜久久久久久91| 久久久久久夜精品精品免费| 在线亚洲+欧美+日本专区| 欧美体内she精视频在线观看| 亚洲在线一区二区| 亚洲国产成人久久综合| 欧美一二三区在线观看| 亚洲欧洲精品一区二区精品久久久| 国产精品久久久久久久免费软件| 久久综合久色欧美综合狠狠 | 欧美亚洲综合在线| 亚洲激情图片小说视频| 久久精品成人一区二区三区蜜臀| 亚洲日本在线视频观看| 国内揄拍国内精品少妇国语| 国产精品xvideos88| 欧美大片91| 久久九九热re6这里有精品| 亚洲午夜日本在线观看| 亚洲欧洲一区二区在线观看| 嫩草影视亚洲| 欧美在线免费观看视频| 亚洲午夜在线观看| 亚洲美女av黄| 91久久精品一区| 伊人婷婷久久| 国内精品嫩模av私拍在线观看 | 亚洲私人影院在线观看| 亚洲成人自拍视频| 国产一区二区av| 国产精品日韩专区| 欧美日韩精品欧美日韩精品一| 欧美国产日韩免费| 欧美aⅴ一区二区三区视频| 久久久久99精品国产片| 久久久国产91| 卡通动漫国产精品| 久久综合99re88久久爱| 久久夜色撩人精品| 美女久久网站| 欧美激情aⅴ一区二区三区| 欧美精品日本| 欧美日韩在线播放| 国产精品日韩久久久久| 国产精品推荐精品| 国产欧美一区二区精品性| 国产日韩成人精品| 韩国成人福利片在线播放| 激情五月综合色婷婷一区二区| 影音先锋日韩资源| 在线视频国产日韩| 亚洲精品美女在线| 亚洲一区二区在线| 久久天天躁狠狠躁夜夜av| 亚洲第一福利视频| 亚洲精品永久免费精品| 99在线|亚洲一区二区| 亚洲免费在线观看视频| 久久久国际精品|