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

牽著老婆滿街逛

嚴以律己,寬以待人. 三思而后行.
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视频精品免费观看| 亚洲精选中文字幕| 亚洲毛片一区| 欧美视频一区二区在线观看| 亚洲伊人久久综合| 亚洲影院免费| **网站欧美大片在线观看| 欧美国产日韩一区二区在线观看| 久久先锋影音| 在线亚洲免费| 久久久精品国产一区二区三区| 99re6热只有精品免费观看| 一区二区成人精品| 亚洲欧洲中文日韩久久av乱码| 亚洲毛片在线观看| 亚洲第一精品久久忘忧草社区| 亚洲美女av网站| 亚洲视频视频在线| 久久久久久9| 亚洲影视综合| 欧美激情bt| 亚洲国产成人久久综合| 欧美日韩精品在线播放| 免费影视亚洲| 亚洲国产福利在线| 欧美一区二区免费视频| 久久不射网站| 国产美女精品人人做人人爽| 99精品国产在热久久婷婷| 欧美国产91| 亚洲精品一区二区三区四区高清| 欧美亚洲一级| 久久欧美中文字幕| 国产精品入口| 久久久久久国产精品mv| 久久深夜福利免费观看| 亚洲精品1区2区| 欧美国产日韩一区二区三区| 欧美国产日韩一区二区在线观看| 欲色影视综合吧| 欧美激情视频在线播放 | 欧美性事免费在线观看| 亚洲精品一级| 久久成人这里只有精品| 激情文学综合丁香| 欧美午夜无遮挡| 欧美一区亚洲二区| 亚洲国产成人精品久久久国产成人一区 | 国产精品萝li| 久久精视频免费在线久久完整在线看| 久久综合九色综合久99| 亚洲视频一二| 亚洲国产精品一区二区www在线| 欧美国产精品久久| 性色av一区二区三区红粉影视| 欧美黄色影院| 久久综合色8888| 久久成人国产| 亚洲综合色噜噜狠狠| 亚洲欧洲在线免费| 一区视频在线看| 国产日韩亚洲欧美综合| 欧美丝袜一区二区三区| 亚洲精品在线视频观看| 欧美一区二区视频在线| 一片黄亚洲嫩模| 亚洲理伦在线| 99在线精品视频| 亚洲欧洲视频| 99这里只有久久精品视频| 亚洲国产精品一区二区尤物区| 国语自产精品视频在线看一大j8| 国产精品伦一区| 国产伪娘ts一区| 怡红院精品视频| 亚洲激情在线观看| 日韩一二三在线视频播| 99视频精品在线| 亚洲欧美激情四射在线日| 亚洲欧美日韩一区二区| 久久九九全国免费精品观看| 久久经典综合| 欧美在线观看视频在线| 久久久噜噜噜久久人人看| 欧美成人免费在线| 亚洲精品乱码久久久久久按摩观| 一级成人国产| 久久久久久久综合日本| 欧美日本一道本| 国产一区二区三区观看| 亚洲高清在线观看一区| 亚洲欧美在线播放| 蜜桃av一区二区三区| 亚洲小说欧美另类婷婷| 母乳一区在线观看| 国产午夜久久久久| 一本一本大道香蕉久在线精品| 久久免费观看视频| 亚洲天堂免费观看| 欧美日韩妖精视频| 亚洲国产日韩一区| 久久黄色网页| 午夜精品在线观看| 国产精品网站在线| 亚洲永久精品大片| 日韩一级欧洲| 欧美成人综合一区| 欧美与黑人午夜性猛交久久久| 欧美午夜精品一区二区三区| 亚洲精品在线一区二区| 亚洲观看高清完整版在线观看| 欧美一区二区观看视频| 国内精品一区二区| 久久综合中文字幕| 免费日韩一区二区| 日韩网站免费观看| 亚洲线精品一区二区三区八戒| 欧美三级视频| 欧美一区二区三区另类| 性色一区二区三区| 亚洲丰满在线| 99精品欧美| 在线国产精品播放| 91久久嫩草影院一区二区| 国产精品国产a| 免费在线日韩av| 欧美午夜a级限制福利片| 久久精品论坛| 欧美区日韩区| 欧美国产欧美亚洲国产日韩mv天天看完整 | 麻豆成人综合网| 欧美日韩一级大片网址| 欧美一区二区三区视频在线 | 亚洲国产欧美日韩| 国产精品丝袜xxxxxxx| 欧美激情小视频| 国产视频亚洲精品| 一本不卡影院| 日韩亚洲在线观看| 欧美成人精品影院| 老司机成人在线视频| 国产欧美日韩91| 一本一道久久综合狠狠老精东影业 | 99综合精品| 欧美电影打屁股sp| 亚洲第一视频| 在线 亚洲欧美在线综合一区| 午夜精品久久久久久久99黑人| 夜夜嗨av一区二区三区四季av | 久久久久久久国产| 国产精品亚洲综合一区在线观看| 亚洲精品午夜| 亚洲一区二区伦理| 国产精品一区免费视频| 亚洲女人天堂av| 久久久精品一区二区三区| 国产日产高清欧美一区二区三区| 亚洲欧美日韩另类| 久久夜色精品一区| 91久久精品日日躁夜夜躁欧美| 欧美成人四级电影| 亚洲精品综合在线| 久久精品人人做人人综合| 狠狠色狠狠色综合人人| 欧美日韩国产小视频| 亚洲手机视频| 久久综合九色综合久99| 一本色道久久综合精品竹菊 | 亚洲一级片在线看| 国产一区二区三区在线播放免费观看 | 欧美在线观看一二区| 亚洲美女在线视频| 国产亚洲人成网站在线观看| 欧美高清视频在线| 欧美自拍偷拍| 亚洲一区欧美一区| 亚洲人成在线观看一区二区| 欧美一区免费| 亚洲嫩草精品久久| 日韩亚洲视频在线| 亚洲人成在线影院| 美国成人直播| 亚洲一区视频在线| 亚洲精品日产精品乱码不卡| 久久综合色播五月| 久久综合亚洲社区| 久久这里有精品15一区二区三区 | 亚洲人成在线观看网站高清| 黄色av一区| 亚洲黄页一区| 亚洲美女91| 亚洲视频在线二区| 亚洲免费在线视频| 欧美在线影院| 久热精品视频在线观看| 欧美国产视频日韩| 91久久黄色| 翔田千里一区二区| 毛片一区二区|