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

牽著老婆滿街逛

嚴以律己,寬以待人. 三思而后行.
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、使用鼠標左鍵雙擊運行quickbms.exe程序。
2、選擇一個解包腳本。
3、選擇一個游戲資源文件(包文件)。
4、選擇一個輸出文件夾來存放解包出來的文件。
5、觀察解包進度。
  
      就這么幾個步驟,是不是很簡單?。空埻瑢W(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語言中的字符串標記法,例如: "\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語言中的二進制字符串標記法,如:"\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的當前版本是否可以支持解包腳本,這個命令很少使用。
參數(shù):VERSION QuickBMS的版本號
2
clog NAME OFFSET ZSIZE SIZE [FILENUM]
提取文件并實時解壓,本操作不影響輸入文件的當前位置計數(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]
從資源的當前位置查找首次出現(xiàn)的字符串或數(shù)值,這個命令通常用于未知資源格式或特殊文本文件,很少使用    
參數(shù):
      VAR 存儲找到的位置
      TYPE 能夠是字符串、統(tǒng)一碼或數(shù)值
      STRING C語言的字符串標記法,依賴于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_CUR,SEEK_END
8
idstring [FILENUM] STRING
如果文件當前位置處的簽名與提供的字符串不符則終止解包腳本。    
參數(shù):
      FILENUM與資源關(guān)聯(lián)的文件號
      STRING C語言的字符串標記法
9
log NAME OFFSET SIZE [FILENUM]
提取文件,本操作不影響輸入文件的當前位置計數(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 擔當輸入和輸出變量
      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ù)就是輸入文件夾里要打開的文件名,"."表示當前輸出文件夾
      NAME 請看上面解釋,NAME能夠是?,這樣QuickBMS將告之用戶插入文件并手動打開,若NAME"",將執(zhí)行清空操作
      FILENUM 與資源關(guān)聯(lián)的文件號
      EXISTS 若文件不存在,此變量將設(shè)置為0,否則為1,若文件不存在,QuickBMS默認使用一個錯誤進行終止
12
savepos VAR [FILENUM]
返回文件的當前位置    
參數(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
相當于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
檢查條件并當條件滿足時執(zhí)行必要的操作:
    - If 是第一個條件
    - Elif 是其它條件,能夠是多個
    - Else 沒有條件匹配時執(zhí)行的操作,一般放在最后
    - EndIf 定界標記    
參數(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é)對齊,當前位置是0x39,那么在使用padding 4之后,其位置將自動變?yōu)?/font>0x3c    
參數(shù):
      VAR 對齊大小
      FILENUM 與資源關(guān)聯(lián)的文件號
30
append
*log命令中使能附加模式,因此當輸出文件名已經(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 字符串
33、34
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 必須是".",代表當前文件夾
      NAME 接收文件名稱,可以是""
      SIZE 接收文件大小,可以是-1
      FILTER 過濾器,僅當指定-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)用慣例:stdcallcdecl,fastcall,borlandwatcom,pascal,safecallsyscall,optlink,carionthiscall
      RET 函數(shù)返回值,""表示沒有返回值
      [ARGS] 函數(shù)的所有參數(shù)
38、39、40
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 楊粼波 閱讀(6090) 評論(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>
            欧美午夜精品| 99国产欧美久久久精品| 在线成人激情视频| 在线不卡中文字幕播放| 国产女主播一区二区三区| 国产精品国产成人国产三级| 国产精品素人视频| 国产一区二区欧美| 在线成人www免费观看视频| 亚洲精品午夜精品| 亚洲欧美国产日韩天堂区| 亚洲欧洲av一区二区三区久久| 性欧美暴力猛交69hd| 久久亚洲视频| 亚洲乱码视频| 亚洲欧美激情诱惑| 久久九九精品99国产精品| 欧美91精品| 国产精品乱子久久久久| 黄色成人精品网站| 一区二区欧美精品| 久久久免费观看视频| 亚洲精品一区二区在线观看| 欧美亚洲在线| 欧美日韩成人在线视频| 国产专区精品视频| 亚洲午夜激情在线| 欧美α欧美αv大片| 一区二区三区日韩欧美精品| 久久精品中文| 欧美偷拍一区二区| 亚洲激情视频网站| 欧美专区中文字幕| 91久久线看在观草草青青| 9国产精品视频| 欧美va亚洲va日韩∨a综合色| 国产精品私人影院| 一本色道久久88亚洲综合88| 欧美sm视频| 久久国产欧美| 国产欧美va欧美va香蕉在| 中日韩在线视频| 亚洲青色在线| 欧美成人午夜激情视频| 国内视频精品| 欧美在线啊v一区| 中文国产成人精品久久一| 欧美成人a视频| 91久久国产综合久久| 久久久久国产一区二区三区四区| 日韩视频一区二区三区在线播放| 国产精品mv在线观看| 久久裸体艺术| 国产精品婷婷| 亚洲香蕉伊综合在人在线视看| 欧美激情一区二区| 久久精品欧美| 韩日在线一区| 久久深夜福利| 久久人人看视频| 亚洲国产精品一区| 女同性一区二区三区人了人一| 欧美与欧洲交xxxx免费观看| 国产九色精品成人porny| 亚洲欧美日韩精品在线| 一本色道久久99精品综合| 国产精品va在线| 欧美一级淫片aaaaaaa视频| 午夜日韩在线观看| 国产日韩欧美视频| 久久亚洲免费| 久久婷婷影院| 日韩西西人体444www| 亚洲精品影视在线观看| 欧美日韩国产小视频| 亚洲欧美日本精品| 欧美一区二区私人影院日本| 好看不卡的中文字幕| 久久一二三区| 欧美精品www| 午夜久久一区| 久久se精品一区精品二区| 亚洲国产精品va在线看黑人| 亚洲裸体视频| 国产日韩亚洲欧美精品| 欧美大成色www永久网站婷| 欧美日韩成人| 久久久久**毛片大全| 老司机免费视频一区二区三区| 亚洲伦理在线| 欧美一区二区精品在线| 亚洲国产成人在线播放| 一本色道久久综合亚洲精品小说 | 亚洲大片av| 欧美视频不卡中文| 久久国产精品久久精品国产 | 免费亚洲视频| 亚洲专区在线| 久久久午夜电影| 亚洲一区二区欧美日韩| 久久综合精品一区| 欧美一区观看| 欧美日韩亚洲综合在线| 久久影音先锋| 国产精品日韩欧美综合 | 久久国内精品自在自线400部| 欧美 日韩 国产精品免费观看| 亚洲欧美色一区| 欧美成人中文| aa级大片欧美| 久久青草久久| 欧美三级午夜理伦三级中视频| 久久综合色播五月| 国产欧美日韩一区二区三区在线观看| 欧美大片第1页| 国产一区二区三区黄视频| 一本在线高清不卡dvd | 亚洲欧美日韩网| 欧美成人免费在线观看| 久久综合色8888| 国产精品视频一| 一本色道久久加勒比精品| 亚洲久久视频| 美女精品在线观看| 欧美大片免费观看在线观看网站推荐| 国产精品一区二区三区观看| 亚洲精品国产日韩| 亚洲精品影院| 欧美激情一区二区三区| 亚洲高清二区| 亚洲欧洲精品成人久久奇米网| 久久精品国内一区二区三区| 久久久久在线观看| 国产一区二区三区最好精华液| 亚洲一卡二卡三卡四卡五卡| 日韩一本二本av| 欧美精品啪啪| 夜夜躁日日躁狠狠久久88av| 亚洲精品视频免费在线观看| 欧美成人精品h版在线观看| 欧美大片免费看| 亚洲精品无人区| 欧美美女福利视频| 一本综合久久| 欧美一级淫片播放口| 国产性做久久久久久| 久久精品久久综合| 亚洲第一精品久久忘忧草社区| 亚洲日本va午夜在线电影| 免费一级欧美在线大片| 亚洲国产欧美另类丝袜| 亚洲最新在线| 国产精品久久久久9999| 亚洲欧美日韩在线高清直播| 久久久国产91| 在线日本成人| 欧美国产在线观看| 亚洲一区成人| 毛片基地黄久久久久久天堂| 亚洲国产免费看| 欧美极品在线视频| 亚洲视频福利| 麻豆成人精品| 亚洲毛片播放| 国产精品久久久久久五月尺| 久久精品视频导航| 亚洲人成网站999久久久综合| 亚洲欧美美女| 亚洲电影专区| 国产精品超碰97尤物18| 欧美在线免费视屏| 亚洲国产婷婷香蕉久久久久久99 | 一区二区三区自拍| 亚洲欧美日韩在线不卡| 尤物99国产成人精品视频| 美女精品一区| 亚洲一区尤物| 欧美不卡在线视频| 亚洲一级二级在线| 黄色另类av| 欧美调教视频| 美女国内精品自产拍在线播放| 这里只有精品电影| 免费91麻豆精品国产自产在线观看| 一本久久综合| 亚洲激情小视频| 国产精品一区一区三区| 嫩草影视亚洲| 久久av免费一区| 亚洲午夜91| 欧美激情一区二区三区| 久久久久久伊人| 亚洲图片在区色| 亚洲欧洲一区二区在线播放| 国产午夜久久| 国产精品入口夜色视频大尺度| 欧美日产一区二区三区在线观看| 久久精品欧洲| 欧美一区二区三区在线观看视频 | 国产欧美婷婷中文|