日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MPQ技术内幕

發(fā)布時(shí)間:2023/12/14 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MPQ技术内幕 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

開始嘗試翻譯一些英文文章,最近正好對(duì)mpq產(chǎn)生興趣,看到一片文章叫做 inside MPQ,于是翻譯一下,就當(dāng)鍛煉自己吧。這篇文章非常的不厚道,在關(guān)鍵地方戛然而止,而且沒有更新的跡象。讓人郁悶無比。但是還是比國內(nèi)一些研究MPQ的少的可憐的文章要好些??戳诉@些文章,無比惋惜國內(nèi)技術(shù)的滯后和黑客技術(shù),逆向工程技術(shù)的貧乏。我們總是拿來主義,做應(yīng)用。自己的原創(chuàng)真的太少了。

LEGAL COPYRIGHTS

The MPQ Format The copyrights to the MPQ format are held by Havas Interactive, Blizzard Entertainment's parent company, all rights reserved This Article The copyrights to this document and content are held by Justin Olbrantz(Quantam), all rights reserved. You may freely distribute this document provided that you do not derive profit from the distribution, and that the document remains complete and unchanged. You may quote this document ONLY with my explicit permission. Contact me to obtain permission to quote.Also, although I would appreciate recognition for your use of this information, I will not be held legally responsible for anything you may do with it. Anyway that you misuse this information is your problem, and I will not be responsible for it.

?

這個(gè)LEGAL COPYRIGHTS我就不做翻譯了。a

對(duì)于我這篇翻譯的文章,申明如下:

可以轉(zhuǎn)載,但要注明作者是王宇,并且保證整個(gè)內(nèi)容包括上面幾段內(nèi)容的完整性。并且我對(duì)一切后果不承擔(dān)責(zé)任。

MPQ 技術(shù)內(nèi)幕
作者 Justin Olbrantz(Quantam)
譯者 王宇

第1章

MPQ簡介

MPQ 或者稱作 MoPaQ 是Mike O'Brien創(chuàng)建的擁有私人版權(quán)的檔案文件格式。Mike O'Brien是暴雪公司的多人游戲引擎方面的天才。他在1996年,為了暗黑破壞神而開發(fā)出這種檔案文件格式。并且自戀的以自己的名字“Mike O'brien PaCK”給這種格式命名MPQ。但是文檔的版權(quán)卻由Havas Interactive(暴雪的父公司)所有。所以,即使現(xiàn)在Mike離開了暴雪,暴雪仍然擁有MPQ格式的使用權(quán)。MPQ格式在暗黑破壞神,星際爭霸,魔獸爭霸2,3,暗黑破壞神2,BNE(譯者備注:我不知道這是什么游戲),Lords of Magic(由sierra公司開發(fā),這個(gè)公司同樣隸屬于Havas)等游戲中都有應(yīng)用。

一個(gè)檔案文件是指一個(gè)包含其他文件在內(nèi)的文件,并且它經(jīng)常是以壓縮的形式存在的。Havas用MPQ包含了游戲中幾乎所有的東西。比如安裝文件,游戲數(shù)據(jù)等等。其中游戲數(shù)據(jù)的MPQ封裝是非常重要的。這些MPQ當(dāng)中包括了圖像,聲音,等級(jí),字符串,故事線信息等等。Obviously, the potential for customization is astounding. (譯者備注:這句不好翻)但是,為了用MPQ,你必須首先理解它。

在MPQ之前

在MPQ發(fā)明之前很長一段時(shí)間,有一種個(gè)是叫做WAR(Warcraft ARchive)格式。這種格式是在魔獸爭霸2甚至1中存儲(chǔ)數(shù)據(jù)的格式。這種雛鳥格式非常的簡單,也沒有優(yōu)化,總是看起來就是一個(gè)實(shí)實(shí)在在的新手文件格式。檔案中的文件是按照坐標(biāo)來尋址的,唯一的一點(diǎn)點(diǎn)優(yōu)化就是用了一些壓縮技術(shù)。但是,雖然它簡單,它完成了它需要完成的任務(wù)。它提供了一種快速但是骯臟的方法壓縮的存儲(chǔ)了很多文件。但是不久,缺點(diǎn)就開始暴露出來了。按照坐標(biāo)來尋址意味著必須保存一個(gè)很長的入口表來供程序員使用檔案中某些文件的時(shí)候調(diào)用。當(dāng)這個(gè)表越來越長的時(shí)候,工作就變得越來越冗長。而且這種簡單的格式意味著黑客可以很容易的在15分鐘內(nèi)破解除這種格式,然后可以隨心所欲的在這些文件上做一些事。這些問題一開始看起來可能還不太糟,但是當(dāng)暗黑破壞神所要求的persistent characters(譯者備注:這個(gè)我不懂),站網(wǎng)的普及讓這些問題變得無法接受了。

為什么是MPQ

正如前面所說,MPQ格式是為了彌補(bǔ)一些WAR非常嚴(yán)重的缺陷設(shè)計(jì)的。但是它仍然添加了很多新的特性??偟恼f來,MPQ的特點(diǎn)如下:

安全性:暴雪最不愿意的就是人們象破解魔獸爭霸2那樣破解它以后的游戲。而且暴雪很可能已經(jīng)覺得要把MPQ格式應(yīng)用到星際爭霸上面。不管怎么樣,安全性是最最重要的。這點(diǎn)可以從那些暴雪維護(hù)這種格式的折磨人的努力中看出來。

效率:MPQ需要完成一系列工作,從最簡單的預(yù)讀數(shù)據(jù)到復(fù)雜的實(shí)時(shí)流。對(duì)于預(yù)讀數(shù)據(jù)倒還沒什么,但是對(duì)于實(shí)時(shí)流,因?yàn)閿?shù)據(jù)必須以很快的速度一邊玩游戲一邊解壓縮,所以,速度是強(qiáng)制的。

多語言:在最一開始,暴雪就計(jì)劃把它的產(chǎn)品推向世界市場(chǎng),所以,它希望它的游戲的翻譯能盡量容易。于是它用了一種革新的方法,就是把多語言性的本領(lǐng)放在MPQ格式里面。

可擴(kuò)展性:很顯然的,把一個(gè)游戲所有的數(shù)據(jù)放入一個(gè)檔案是很傻的。不僅沒有效率,速度很慢,而且售后升級(jí)會(huì)變得非常麻煩。暴雪當(dāng)然知道這點(diǎn),因此,為了使售后升級(jí)簡單,有效,優(yōu)雅,它在MPQ格式的設(shè)計(jì)上就考慮到了這個(gè)問題。

?

風(fēng)暴 Storm

很多程序員為了防止冗余代碼,通常會(huì)把一些常用的代碼封裝到共享庫里面。這些共享庫可以提供程序員常用的函數(shù)。這樣可以減少冗余和程序體積。所以,暴雪用一個(gè)共享庫叫做Storm(在微軟平臺(tái)上叫做Storm.dll, 在蘋果平臺(tái)上叫做Storm.bin)這個(gè)庫被現(xiàn)在的暴雪游戲用來儲(chǔ)存重要函數(shù),比如MPQ的讀入,戰(zhàn)網(wǎng),甚至是圖像路由。當(dāng)暴雪發(fā)布一個(gè)新游戲的時(shí)候,它會(huì)在storm里面加入函數(shù),但是不會(huì)修改舊的函數(shù)。這意味著一個(gè)老的游戲可以用新的Storm庫而不會(huì)出問題。像任何共享庫一樣,Storm的函數(shù)可以被任何人使用,這樣就使它的安全性變得很差。這就是Storm只包含MPQ的讀取函數(shù)而MPQ的寫入函數(shù)卻是暴雪的私人財(cái)產(chǎn),它不會(huì)允許任何人去使用的原因了。

星際爭霸的任務(wù)編輯器

大家都知道星際爭霸的任務(wù)編輯器可以編輯任務(wù)。但是星際爭霸的任務(wù)就是MPQ!這意味星際的任務(wù)編輯器可以創(chuàng)建MPQ,所以其中有MPQ的創(chuàng)建函數(shù)。不過星際爭霸的任務(wù)編輯器不是一個(gè)共享庫,所以要用一系列詭異的黑客技術(shù)去破解它。于是有了MPQ API 庫。

?

第2章

基礎(chǔ)

大多數(shù)計(jì)算機(jī)歷史上的進(jìn)步是因?yàn)橛刑厥獾膯栴}需要解決。在這章,我們將了解一下關(guān)于MPQ格式的問題和它們的解決方案。

哈希

問題:你有一個(gè)很大的字符竄數(shù)組。你有另一個(gè)字符竄str需要判斷是否存在于這個(gè)數(shù)組里面。可能你就會(huì)按照順序一個(gè)一個(gè)的比較數(shù)組里面的內(nèi)容。但是在實(shí)際應(yīng)用中,你會(huì)發(fā)現(xiàn)這種方法遠(yuǎn)慢于實(shí)際需求。必須對(duì)此做一些優(yōu)化。但是如何你才能知道這個(gè)字符竄是否存在卻不用把它同數(shù)組中的所有其它字符竄比較呢?

解決方案:哈希。哈希是用來代替大一些的數(shù)據(jù)類型(比如字符竄)的小一些的數(shù)據(jù)類型(比如數(shù)字)。在我們這個(gè)問題里,你可以把字符竄數(shù)組儲(chǔ)存為哈希數(shù)組。然后你就可以比較另外的那個(gè)字符竄str的哈希同儲(chǔ)存的哈希數(shù)組中所有的哈希。如果哈希數(shù)組中的一個(gè)哈希同str的哈希匹配,那么這個(gè)哈希所代表的字符竄就可以同str進(jìn)行比較來判斷到底是否相同。這種方法叫作下標(biāo)(indexing),根據(jù)數(shù)組大小和字符竄長度的不同,它可以把速度提升將近100倍。

unsigned?longHashString(char*lpszString)
{?
????unsigned?longulHash?=0xf1e2d3c4;

????while(*lpszString?!=0)
????{?
????????ulHash?<<=1;
????????ulHash?+=*lpszString++;?
????}

????returnulHash;?
}?

?以上的代碼展示了一個(gè)非常簡單的哈希算法。函數(shù)計(jì)算了字符竄中的字符個(gè)數(shù),在每個(gè)字符加入之前把哈希值左移1位。應(yīng)用這個(gè)算法,字符竄"arr\units.dat"將會(huì)被哈希成0x5A858026,而"unit\neutral\acritter.grp" 將會(huì)被哈希成0x694CD020。不可否認(rèn),現(xiàn)在這個(gè)算法非常的簡單,而且沒有什么用處。因?yàn)樗a(chǎn)生了一個(gè)相對(duì)可以預(yù)見的結(jié)果。而且會(huì)有很多沖突。chogntu 是指多個(gè)字符竄哈希到同樣一個(gè)數(shù)值。 而另一方面,MPQ格式卻用了一種非常復(fù)雜的哈希算法(如下所示)去生成一個(gè)完全不可預(yù)料的哈希值。事實(shí)上,這種哈希算法叫做單行道哈希(one-way hash)。單行道哈希是指根據(jù)哈希值不能推回去找到源字符竄的哈希算法。應(yīng)用這種MPQ算法,文件名"arr\units.dat" 將被哈希為0xF4E6C69D,而"unit\neutral\acritter.grp"將被哈希為0xA26067F3.

unsigned?longHashString(char*lpszFileName,?unsigned?longdwHashType)
{?
????unsigned?char*key?=(unsigned?char*)lpszFileName;
????unsigned?longseed1?=0x7FED7FED,?seed2?=0xEEEEEEEE;
????intch;

????while(*key?!=0)
????{?
????????ch?=toupper(*key++);

????????seed1?=cryptTable[(dwHashType?<<8)?+ch]?^(seed1?+seed2);
????????seed2?=ch?+seed1?+seed2?+(seed2?<<5)?+3;?
????}
????returnseed1;?
}?

?

?哈希表

問題:你試圖使用之前例子里面的下標(biāo)法,但是你的程序需要非常嚴(yán)格的速度限制。這時(shí)候你就會(huì)發(fā)現(xiàn)下標(biāo)法不夠快了。這時(shí)候你讓它變得更快的方法只能是不讓它檢查數(shù)組中所有的哈希?;蛘?#xff0c;更好的是只讓字符串同數(shù)組中的某個(gè)元素比較1次就能判斷出這個(gè)字符竄是否存在于這個(gè)數(shù)組。聽起來太好了以至于不可能對(duì)不對(duì)?

解決方案:哈希表。哈希表是一種下標(biāo)為字符串哈希值得數(shù)組。我的意思是說,我們?yōu)檫@個(gè)哈希表構(gòu)建一個(gè)不同于字符串?dāng)?shù)組的定長數(shù)組(我們把它的元素個(gè)數(shù)定位1024,2的偶數(shù)次冪)。這時(shí)候,當(dāng)你想要知道一個(gè)字符串是否在哈希表中時(shí),你得首先計(jì)算這個(gè)字符串如果在哈希表中,那么它的位置是多少。首先我們計(jì)算這個(gè)字符串的哈希,然后用哈希模取之前的表長(1024)就得到了位置值。因此,如果你用之前的簡單哈希算法,"arr\units.dat"將被哈希為0x5A858026,得到它得位置值為 0x26 (0x5A858026 模取 0x400 商為 0x16A160余數(shù)為0x26)。0x26這個(gè)位置的字符串(如果有的話)將被讀出來與目標(biāo)字符串比較。如果0x26這個(gè)字符串與目標(biāo)字符串不匹配或者0x26的這個(gè)字符串不存在,則這個(gè)目標(biāo)字符串不存在于這個(gè)數(shù)組中。以下的代碼說明了這點(diǎn):

intGetHashTablePos(char*lpszString,?SOMESTRUCTURE?*lpTable,?intnTableSize)
{?
intnHash?=HashString(lpszString),?nHashPos?=nHash?%nTableSize;
if(lpTable[nHashPos].bExists?&&!strcmp(lpTable[nHashPos].pString,?lpszString))?
returnnHashPos;?
else
return-1;?//Error?value?
}?

可是現(xiàn)在,這個(gè)算法有一個(gè)巨大的缺陷。你認(rèn)為當(dāng)沖突(2個(gè)字符竄哈希到同樣一個(gè)值)發(fā)生的時(shí)候會(huì)怎么樣?顯然它們不能占用哈希表中的同一個(gè)元素。一般,這種缺陷通過使哈希表中的每一個(gè)元素成為一個(gè)鏈表來實(shí)現(xiàn)。每個(gè)鏈標(biāo)中將存放哈希值相同的字符竄。MPQ使用文件名哈希表來跟蹤內(nèi)部的所有文件。但是這個(gè)表的格式與正常的哈希表有一些不同。首先,它沒有使用哈希作為下標(biāo),把實(shí)際的文件名存儲(chǔ)在表中用于驗(yàn)證,實(shí)際上它根本就沒有存儲(chǔ)文件名。而是使用了3種不同的哈希:一個(gè)用于哈希表的下標(biāo),兩個(gè)用于驗(yàn)證。這兩個(gè)驗(yàn)證哈希替代了實(shí)際文件名。當(dāng)然了,這樣仍然會(huì)出現(xiàn)2個(gè)不同的文件名哈希到3個(gè)同樣的哈希。但是這種情況發(fā)生的概率平均是1:18889465931478580854784,這個(gè)概率對(duì)于任何人來說應(yīng)該都是足夠小的咯。MPQ哈希表不同用通常的鏈表沖突解決法,當(dāng)沖突發(fā)生時(shí),元素將被下移到下一個(gè)空著的位置。請(qǐng)看下面的代碼,基本就是MPQ定位文件名的方法:

intGetHashTablePos(char*lpszString,?MPQHASHTABLE?*lpTable,?intnTableSize)
{?
????constintHASH_OFFSET?=0,?HASH_A?=1,?HASH_B?=2;
????intnHash?=HashString(lpszString,?HASH_OFFSET),?
??????? nHashA?=HashString(lpszString,?HASH_A),?
??????? nHashB?=HashString(lpszString,?HASH_B),?
??????? nHashStart?=nHash?%nTableSize,
??????? nHashPos?=nHashStart;
????while(lpTable[nHashPos].bExists)
????{?
????????if(lpTable[nHashPos].nHashA?==nHashA?&&lpTable[nHashPos].nHashB?==nHashB)?
????????????returnnHashPos;?
????????else
????????????nHashPos?=(nHashPos?+1)?%nTableSize;

????????if(nHashPos?==nHashStart)?
????????????break;?
????}
????return-1;?//Error?value?
}?

雖然這段代碼可能看起來讓你費(fèi)解,但是它背后的理論卻并不復(fù)雜。它在讀取一個(gè)文件的時(shí)候基本遵循了以下的步驟:

1 計(jì)算3個(gè)哈希(1個(gè)下標(biāo)哈希和2個(gè)檢查哈希)并且把他們存入變量
2 移動(dòng)到下標(biāo)哈希所指的元素
3 這個(gè)元素存在嗎?如果不存在,停止搜索,返回“文件沒有找到”
4 元素的兩個(gè)檢查哈希是否我們搜索的文件的檢查哈希相匹配?如果相匹配,就返回當(dāng)前的元素。
5 移動(dòng)當(dāng)前下標(biāo)到下一個(gè),如果達(dá)到最后一個(gè)下標(biāo),則回到第1個(gè)
6 我們剛一動(dòng)到的元素的下標(biāo)哈希是否相同(我們是否搜索了整個(gè)表)如果是,停止搜索,返回“文件沒有找到”
7 回到第3步

如果你留心了,你會(huì)發(fā)現(xiàn),在我的解釋和例子中MPQ哈希表需要保存所有的文件名。但是,你有沒有想過當(dāng)所有的哈希表行全部都填滿的時(shí)候會(huì)發(fā)生什么?答案可能會(huì)讓你非常驚訝:你將不能再添加任何文件。有人問我為什么一個(gè)MPQ會(huì)有文件數(shù)目限制,有沒有什么方法可以解決這種限制。你已經(jīng)直到第一個(gè)問題的答案了,對(duì)于第2個(gè)問題,很遺憾,你不能解決這種文件數(shù)目限制。因?yàn)楣1聿荒茉俨挥绊懻麄€(gè)文件改變的情況下改變大小。這是因?yàn)楣1碇忻總€(gè)元素的哈希都因?yàn)楣1泶笮〉淖兓l(fā)生改變,這樣我們就不能得到文件在新的哈希表中的位置,于是我們就不能得到文件名了。

壓縮

問題:你有一個(gè)很大的程序(比如50MB)你現(xiàn)在希望把它發(fā)不到Inter網(wǎng)上。但是50MB將會(huì)是非常大的下載,人們可能就不會(huì)愿意等上幾個(gè)小時(shí)去下載這么一個(gè)東西。

解決方案:壓縮。壓縮是指把一大堆數(shù)據(jù)用一種很小的格式表達(dá)出來。世界上有很多種壓縮算法,每一種都用不同的方法工作。而我們的MPQ使用的數(shù)據(jù)壓縮算法是PKWare的數(shù)據(jù)壓縮庫。而這個(gè)庫在這里解釋的話就太復(fù)雜了。所以,我在這里想解釋一種相對(duì)簡單的奪得壓縮算法。
此節(jié)因?yàn)樽髡叩哪芰υ?#xff0c;沒有完成。

?

加密

一個(gè)系統(tǒng)對(duì)于間諜之眼窺視的防護(hù)一直是永恒的話題。人們已經(jīng)努力傳送私人信息給別人了上百年。從古希臘信使步行傳送的手寫書信到2戰(zhàn)時(shí)納粹潛艇的無線電,再到今天網(wǎng)絡(luò)信用卡交易。保證別人不能得到你的信息的能力是非常必要的。這種復(fù)雜的保護(hù)方法叫做加密。雖然我們不知道第一個(gè)加密算法是誰發(fā)明的,但是我們知道世界上游多的數(shù)不過來的加密算法。任何事物,從簡單的數(shù)據(jù)編碼到解密算法都是被使用了一次又一次的。這篇文章,當(dāng)然沒有解釋,也不期望解釋一個(gè)加密算法,但是理解加密是你接觸MPQ工作的必須。

我們首先來看一個(gè)發(fā)布在 Basic Lab Notes上的加密算法:

voidEncryptBlock(void*lpvBlock,?intnBlockLen,?char*lpszPassword)
{?
????intnPWLen?=strlen(lpszPassword),?nCount?=0;
????char*lpsPassBuff?=(char*)_alloca(nPWLen);
????memcpy(lpsPassBuff,?lpszPassword,?nPWLen);
????for(intnChar?=0;?nCount?<nBlockLen;?nCount++)
????{?
????????charcPW?=lpsPassBuff[nCount];
????????lpvBlock[nChar]?^=cPW;
????????lpsPassBuff[nCount]?=cPW?+13;
????????nCount?=(nCount?+1)?%nPWLen;?
????}
????return;?
}?

正如展示的哈希代碼那樣,這段代碼也非常的簡單,當(dāng)然也就不能用在需要安全性的實(shí)際程序中。即便這段代碼看起來很神秘,它做的事情卻非常簡單。它將整個(gè)的輸入塊加密。異或密碼的每一個(gè)字節(jié)。然后把所得加上13(之所以選擇13是因?yàn)?3是質(zhì)數(shù))。這樣就能夠使代碼更加難以確認(rèn)。在這種情況下,字符串"encryption" (65 6E 63 72 79 70 74 69 6F 6E)在密碼"MPQ" (4D 50 51)下將會(huì)被加密成為(28 3E 32 28 24 2E 13 03 04 1A)現(xiàn)在,這段代碼是對(duì)稱的。對(duì)稱意味著加密的密鑰和解密的密鑰是相同的。實(shí)際上,因?yàn)楫惢蚴且粋€(gè)對(duì)稱的操作,所以同加密相同的算法可以被用來解密。注意到大部分對(duì)稱加密算法并非完全對(duì)稱,所以需要加密和解密的函數(shù)不相同。好,現(xiàn)在事情開始變得麻煩了。如果你希望直接的使用MPQ格式,那么你必須知道它的加密和解密算法。而我就來教你如何使用它.MPQ的加密算法是一些其他加密算法有趣的雜交。它創(chuàng)建一個(gè)加密表(也用在哈希函數(shù)里面),然后用一個(gè)文件的加密鑰去從加密表中去除某些數(shù)字,再把這些數(shù)字同加秘?cái)?shù)據(jù)進(jìn)行異或?,F(xiàn)在這種做事的方法是非常非常奇怪的,所以可能一些代碼看起來非常的復(fù)雜。以下的代碼生成一個(gè)長度為0x500的加密表。

?

voidprepareCryptTable()
{?
????unsigned?longseed?=0x00100001,?index1?=0,?index2?=0,?i;
????for(index1?=0;?index1?<0x100;?index1++)
????{?
????????for(index2?=index1,?i?=0;?i?<5;?i++,?index2?+=0x100)
????????{?
????????????unsigned?longtemp1,?temp2;
????????????seed?=(seed?*125+3)?%0x2AAAAB;
????????????temp1?=(seed?&0xFFFF)?<<0x10;
????????????seed?=(seed?*125+3)?%0x2AAAAB;
????????????temp2?=(seed?&0xFFFF);
????????????cryptTable[index2]?=(temp1?|temp2);?
????????}?
????}?
}

你是否有點(diǎn)感覺到暴雪雇傭了一個(gè)超級(jí)沒有人品的微積分教授撰寫了這個(gè)代碼?至少我是這么感覺的。還好即使你不能看懂這段代碼也沒有什么大問題。如果你希望能夠直接使用MPQ,那么你可能會(huì)需要這些函數(shù)。你沒有必要完全看明白他們。不管怎么樣,當(dāng)加密表初始化以后,我們就可以用下面的函數(shù)來解密MPQ數(shù)據(jù)(不要指望我會(huì)向你解釋這個(gè)代碼,因?yàn)槲乙矝]有看懂):

voidDecryptBlock(void*block,?longlength,?unsigned?longkey)
{?
????unsigned?longseed?=0xEEEEEEEE,?unsigned?longch;
????unsigned?long*castBlock?=(unsigned?long*)block;
????//Round?to?longs
length?>>=2;
????while(length-->0)
????{?
????????seed?+=stormBuffer[0x400+(key?&0xFF)];
????????ch?=*castBlock?^(key?+seed);
????????key?=((~key?<<0x15)?+0x11111111)?|(key?>>0x0B);
????????seed?=ch?+seed?+(seed?<<5)?+3;
????????*castBlock++=ch;?
????}?
}

翻譯后記:

這只是我閑來無事翻譯著玩的東西,都沒有認(rèn)真的推敲翻譯的語句,甚至有一些語句我是沒有看懂的,或者明明知道這樣翻譯是不好的但還是寫上去了。甚至我都沒有興趣自己從頭到尾把這篇文章再看1遍。之所以只翻譯道第2章是因?yàn)榈?,4章分別講述Storm和Starcraft Campaign Editor and the MPQ API Library是如何使用的,沒有什么翻譯的價(jià)值。而真正精彩的5,6兩章作者又沒有寫完。所以說作者實(shí)在不厚道。一下給出英文源出處,希望我的翻譯只是拋磚引玉,能激發(fā)大家越讀英文原版的激情。很多時(shí)候翻譯的過程中損失的信息還是相當(dāng)嚴(yán)重的。

轉(zhuǎn)載于:https://www.cnblogs.com/kex1n/archive/2011/12/30/2307812.html

總結(jié)

以上是生活随笔為你收集整理的MPQ技术内幕的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

中文av不卡| 伊人va| 久久久久在线观看 | 99在线观看视频网站 | 九九视频精品免费 | 97免费在线观看视频 | 久久99亚洲精品久久 | 国产99一区 | 免费中文字幕视频 | 992tv成人免费看片 | 国产精品一区免费看8c0m | 国产精品久久久久久久毛片 | 国产成人精品一区二区三区福利 | 激情综合电影网 | 欧美成亚洲 | 视频在线观看亚洲 | 亚洲精品免费视频 | 91在线视频在线 | 日韩 在线a | 18+视频网站链接 | 免费十分钟| 久久99久久99精品免观看粉嫩 | 婷婷在线网站 | 在线观看免费av网站 | 中文字幕在线观看三区 | 手机成人av| 中文字幕第一页在线 | 日本最大色倩网站www | 99久久精品一区二区成人 | 黄色大片av | 肉色欧美久久久久久久免费看 | 久久婷婷综合激情 | 又黄又刺激的视频 | 怡红院av | 成人黄色小视频 | 欧美日韩中文国产一区发布 | 久久精品香蕉视频 | 在线观看网站黄 | 特级毛片在线免费观看 | 99精品热 | 黄色特级一级片 | 成人九九视频 | 日本黄色免费电影网站 | 美女av在线免费 | 婷婷色 亚洲 | 四虎在线免费观看 | avwww在线 | 黄色免费网站大全 | 91高清不卡 | 97电影院在线观看 | 日本久久精品视频 | 九九九九热精品免费视频点播观看 | 亚洲黄电影 | 午夜 久久 tv | 91精品国产欧美一区二区 | 黄色一级大片免费看 | 精品国产大片 | 国产综合激情 | 在线观看视频一区二区 | 91免费观看视频在线 | 精品久久1| 99久久久久久国产精品 | 激情综合电影网 | www.色午夜,com| 亚洲精品国产视频 | 少妇搡bbb| 国产麻豆精品传媒av国产下载 | 免费视频二区 | 天天干天天插伊人网 | 免费看黄在线看 | 国产精品麻豆视频 | 手机成人av在线 | 91精品国产自产老师啪 | 奇米影视999 | 日韩精品一区二区三区不卡 | 一区二区欧美激情 | 国产精品久久久久久久久久久久 | 久久99久久精品国产 | 中文字幕日韩高清 | 婷婷色 亚洲 | av3级在线 | 99久久精品视频免费 | 久久久久久久影院 | 麻豆免费精品视频 | 狠狠色丁香久久婷婷综合_中 | 日批视频国产 | 国产精品成人免费 | 婷婷婷国产在线视频 | 精品人妖videos欧美人妖 | 色资源中文字幕 | 久久精品精品电影网 | 91亚色视频 | 天天操天天透 | 黄色一级免费网站 | 成人h电影在线观看 | 国产高清在线免费视频 | 免费精品人在线二线三线 | 久久婷婷丁香 | 亚洲九九| 综合av在线 | 国产小视频免费观看 | 日韩午夜在线 | 337p日本欧洲亚洲大胆裸体艺术 | 在线观看视频你懂的 | 麻豆精品视频在线 | 91热视频| 久久99偷拍视频 | 日韩爱爱网站 | 欧美aaaxxxx做受视频 | 中文字幕在线观看的网站 | 精品国产乱子伦一区二区 | 99久久这里只有精品 | 不卡在线一区 | 五月婷在线播放 | 中文字幕在线国产 | 亚洲va欧美va国产va黑人 | 国产欧美日韩视频 | 中国老女人日b | 亚洲www天堂com | 97免费视频在线 | 久久国产一二区 | 欧美日韩一区二区免费在线观看 | 午夜视频免费 | 日韩手机在线 | 国产一区网址 | 欧美性极品xxxx做受 | 亚洲综合欧美激情 | 最近免费观看的电影完整版 | 日韩专区在线 | 国产精品久久久久久久久久不蜜月 | 国产一区欧美在线 | 福利区在线观看 | 久久国产午夜精品理论片最新版本 | 69亚洲视频 | 在线播放亚洲激情 | 久久久久亚洲国产精品 | 黄色一级动作片 | 久久99精品国产99久久6尤 | 五月综合色婷婷 | 中文字幕成人在线观看 | 在线观看精品一区 | 亚洲天天看 | 国产一在线精品一区在线观看 | 精品在线视频一区二区三区 | 亚洲精品一区二区精华 | 欧美一区二区三区在线视频观看 | 久久综合色综合88 | 丁香婷婷激情国产高清秒播 | 最近最新中文字幕 | 精品一区二区影视 | 免费在线观看的av网站 | 涩涩成人在线 | 国产成人一级电影 | 日日夜夜人人天天 | 中文字幕在线国产精品 | 中文字幕欲求不满 | 国产精品一区二区三区免费看 | 亚洲九九影院 | aaa免费毛片 | 一区二区三区高清 | www亚洲视频 | 五月开心综合 | 久久久久久久久影视 | 一区 二区电影免费在线观看 | 欧美日韩国产成人 | 欧美午夜性生活 | 日韩大陆欧美高清视频区 | 国产录像在线观看 | 天堂av在线免费观看 | 婷婷综合激情 | 国产 日韩 在线 亚洲 字幕 中文 | www在线观看国产 | 欧美一级黄大片 | 成人国产精品久久久 | 国产伦精品一区二区三区… | 日本资源中文字幕在线 | 亚州日韩中文字幕 | 91久久国产露脸精品国产闺蜜 | 中文字幕在线观看一区 | 国产在线va | 91久久精品一区二区三区 | 九九九在线观看 | 国产二区视频在线 | 91最新网址在线观看 | 国产一级片网站 | 91精品国产一区二区三区 | 一级片免费在线 | 成人在线观看免费视频 | 久久免费黄色网址 | 国产字幕在线看 | 久久蜜臀av| 美女免费视频网站 | 国产一区二区在线免费 | 99tvdz@gmail.com| av品善网 | 黄色三级免费片 | 中文字幕日本在线观看 | 91免费看黄色 | 国产精品 久久 | 久久久精品国产免费观看一区二区 | 国产亚洲欧美日韩高清 | 日日夜夜天天人人 | 日韩高清在线一区二区三区 | 亚州精品在线视频 | 亚洲成人黄色 | 麻豆91视频 | 午夜狠狠干 | 日韩高清精品免费观看 | www.色婷婷.com | 在线v| 2022国产精品视频 | 亚洲综合色站 | 插久久 | 又紧又大又爽精品一区二区 | 免费aa大片 | av直接看 | 精品一区二区三区电影 | 亚洲精区二区三区四区麻豆 | 一区二区三区精品在线视频 | 亚洲高清在线观看视频 | 久久色在线播放 | 亚洲视频国产 | 欧美影院久久 | 天天综合色 | 51久久夜色精品国产麻豆 | 激情深爱.com | 久久久精品网站 | 国产高清99 | 97超视频免费观看 | 久香蕉| 麻豆国产视频 | 国产亚洲综合在线 | 欧美成人xxxxxxxx | 中文字幕观看在线 | 岛国片在线 | 日韩一区二区三区在线看 | 久久综合久久久 | 久久99在线 | 91视频中文字幕 | 奇米网777| 精品一区二区免费视频 | 九热在线 | 一区二区av | 最新av网站在线观看 | 免费黄在线观看 | 国产精品久久久久影院日本 | 久久国产美女 | 国产a精品 | 国产精品毛片网 | 久久久久久网址 | 久久在线观看视频 | 国产美女精品在线 | 91精品国产自产91精品 | 伊色综合久久之综合久久 | av动态图片 | 亚洲最大成人免费网站 | 国产亚洲精品久久久久久久久久 | av 一区二区三区 | 日韩午夜精品福利 | av黄色影院 | 久草剧场 | 97网在线观看 | 黄色在线成人 | 欧美日韩免费观看一区=区三区 | 国产在线色站 | 午夜视频免费播放 | 欧美成a人片在线观看久 | 国产在线观看你懂的 | 国产综合婷婷 | ,午夜性刺激免费看视频 | 天天色欧美 | 欧美va日韩va | www.伊人色.com| 91爱看片 | 91精品老司机久久一区啪 | 五月天av在线 | 天天操天天射天天添 | 日韩免费 | 中文永久字幕 | 狠狠干婷婷色 | 国模吧一区 | 国产在线免费av | 亚洲精品视频免费观看 | 成人免费av电影 | 99久久精品无码一区二区毛片 | 黄色精品国产 | 欧美精品乱码99久久影院 | 欧美日韩三区二区 | 亚洲精品美女在线观看播放 | 97超碰免费在线观看 | 日韩在线理论 | 永久免费的啪啪网站免费观看浪潮 | 成人avav | 婷婷在线精品视频 | 婷婷色资源| 亚洲少妇自拍 | 国产精品av久久久久久无 | 观看免费av | 五月婷婷一级片 | 在线91精品| 在线看片日韩 | 三级黄色在线观看 | 天堂av网址 | 亚洲久草视频 | 91色国产在线 | 久久男人免费视频 | 免费在线观看污 | 中文字幕在线一区观看 | 亚洲最新视频在线播放 | 国产精品一区二区视频 | 精品久久一区二区三区 | 日本在线观看一区 | a视频在线播放 | 91久久国产自产拍夜夜嗨 | 成人a在线 | 成x99人av在线www| 久久女同性恋中文字幕 | 波多野结衣网址 | 久久免费一 | 91九色视频观看 | 国产不卡在线观看视频 | 免费日p视频 | 探花视频在线观看免费版 | 日韩高清一二三区 | 一区二区成人国产精品 | av.com在线 | 又黄又刺激的网站 | 亚洲国产色一区 | 国产精品国产三级国产aⅴ入口 | 黄污在线看 | 91精品麻豆 | 精品久久一区二区三区 | 97色在线观看 | 91在线小视频 | 国产美女免费观看 | 在线观看av小说 | 中文字幕第一页在线 | 激情网在线视频 | 亚洲精品视频第一页 | 永久免费的啪啪网站免费观看浪潮 | 插综合网| 久久免费中文视频 | 久久久麻豆 | 国产视频在线观看免费 | 菠萝菠萝在线精品视频 | 成年人在线看视频 | av中文国产 | www久久99 | 久久久久色 | 亚洲人人爱 | 激情综合久久 | v片在线看| 日韩中文幕 | 国产精品mm | 91精品国产99久久久久久红楼 | 久久新 | av久久在线 | 中文字幕丝袜美腿 | 日韩免费 | 久久系列 | 午夜18视频在线观看 | 日韩天堂网 | 伊甸园永久入口www 99热 精品在线 | 亚洲高清精品在线 | a视频在线| 久久九九久久九九 | 久久国产电影院 | 亚洲欧美日韩精品一区二区 | 成人午夜电影在线观看 | 国产精品淫| 粉嫩一二三区 | 久久高清视频免费 | 波多野结衣一区二区三区中文字幕 | 97在线免费视频观看 | 毛片网免费 | 亚洲精品777 | 天天操天天操天天操天天操天天操 | 亚洲国产欧美在线看片xxoo | 成年人免费在线观看网站 | 久久综合五月天 | 亚洲高清在线 | 色噜噜日韩精品欧美一区二区 | 亚洲高清在线精品 | 色婷婷啪啪免费在线电影观看 | 91色在线观看 | 日韩特黄一级欧美毛片特黄 | 亚洲精品系列 | 精品久久免费看 | 亚洲好视频 | 中文字幕影片免费在线观看 | 日韩欧美高清不卡 | 久久 在线 | 免费看的黄色的网站 | 亚洲精品美女久久久 | 国产在线黄 | 麻豆 videos | 狠狠综合网| 黄色三级在线看 | 狠狠亚洲 | 国产尤物在线视频 | 日韩在线观看影院 | 西西4444www大胆无视频 | 天天艹日日干 | 国产精品永久免费在线 | 天天干中文字幕 | 国内视频 | 911国产精品 | 久久久久在线视频 | 黄色一级片视频 | 973理论片235影院9 | 国产精品99精品久久免费 | 欧洲av在线 | 日韩激情影院 | 国产高清在线免费 | 99精品欧美一区二区三区黑人哦 | 日本黄色大片免费看 | 国产精品美女毛片真酒店 | 久久亚洲欧美日韩精品专区 | 亚洲少妇久久 | 91精选| 西西人体4444www高清视频 | 亚洲精品天天 | 欧美精品中文在线免费观看 | 日韩资源在线观看 | 国产精品久久久久久久久搜平片 | 久久综合色综合88 | 日韩午夜大片 | 一区二区三区福利 | 91成人精品一区在线播放69 | 国产高清一 | 精品久久国产精品 | 97视频入口免费观看 | 日韩精品免费专区 | 久久天天躁狠狠躁亚洲综合公司 | 丁香久久综合 | 精品影院一区二区久久久 | av短片在线观看 | 天堂网中文在线 | 日韩在线观看第一页 | 成人9ⅰ免费影视网站 | 久久高清国产视频 | 欧美日韩中文视频 | 天天射综合网视频 | 精品国产亚洲一区二区麻豆 | 日韩视频中文字幕 | 久久中文视频 | 97超碰资源站 | 日韩在线观看你懂的 | 超碰成人av| 久久久久久在线观看 | 国产成人精品一区二区三区福利 | 亚洲综合国产精品 | 色多多污污 | 天天操天天干天天操天天干 | 中文字幕av在线免费 | 久热电影 | 精品在线视频一区二区三区 | 免费观看的黄色片 | 日韩高清一区二区 | 人人干人人干人人干 | 免费黄a大片 | 91传媒在线播放 | 天天爽天天射 | 男女激情麻豆 | 天天草天天干 | 欧美巨乳波霸 | 天天摸天天操天天舔 | 在线观看91精品视频 | 天天干天天搞天天射 | 成人av电影网址 | 久久久久国产成人免费精品免费 | 日本中文不卡 | 97视频播放 | 欧美精品一区二区蜜臀亚洲 | 免费aa大片 | 日韩av进入| 毛片1000部免费看 | 精品国产一区在线观看 | 午夜精品久久久久久久久久久久 | 97理论片 | 91日韩在线视频 | 国产精品久久人 | 黄色成品视频 | 日韩一级片网址 | 国产精品乱码一区二区视频 | 国产不卡视频在线 | 日韩欧美一区视频 | 二区三区中文字幕 | 欧美色图另类 | 久久1电影院 | 国产中年夫妇高潮精品视频 | 日韩高清不卡一区二区三区 | 久久久这里有精品 | 亚洲精品女 | 丁香六月国产 | 99九九免费视频 | 国产精品黄网站在线观看 | 久久天天操 | 亚洲理论电影网 | 欧美性色综合网站 | 97综合网| www久草| 日本巨乳在线 | 国产精品久久嫩一区二区免费 | 国产麻豆视频在线观看 | 一区二区三区四区精品视频 | 欧美性春潮 | 国产破处在线播放 | 国产黄色一级片在线 | 黄色三级视频片 | 日本精品中文字幕 | 成人9ⅰ免费影视网站 | 黄色a级片在线观看 | 久久精品亚洲一区二区三区观看模式 | 91视频 - 88av| www.在线看片.com | 91人人射| 视频国产精品 | 免费亚洲视频 | 久久久久久久久久久久久影院 | 激情五月***国产精品 | 国产色在线观看 | 色悠悠久久综合 | 日韩成人看片 | 天天舔天天射天天操 | 伊人久久精品久久亚洲一区 | 欧美一级性生活片 | 欧美午夜性 | 国产成人一区二区三区影院在线 | 国产看片免费 | 九九久久精品 | 色综合亚洲精品激情狠狠 | 国产成人精品国内自产拍免费看 | 久久久www成人免费精品 | 狂野欧美激情性xxxx欧美 | av午夜电影 | 涩涩成人在线 | 1000部18岁以下禁看视频 | 久久特级毛片 | 免费一级特黄录像 | 中文不卡视频 | 精品一二| 久久久精品欧美一区二区免费 | 日韩欧美一区二区三区视频 | 韩国av一区二区 | 久久久久高清毛片一级 | 国产福利91精品张津瑜 | 中文字幕网址 | www.国产高清| 婷婷丁香在线 | 搡bbbb搡bbb视频 | 国产精品原创 | 色综合综合 | 最新久久久 | 97福利视频 | 在线观看中文字幕一区 | 久久久久久久久国产 | 91免费观看视频在线 | 在线播放视频一区 | 国产精品女教师 | 国产精品96久久久久久吹潮 | 日韩精品视频在线观看免费 | 日本mv大片欧洲mv大片 | 国产高清中文字幕 | 亚洲伊人网在线观看 | 四川妇女搡bbbb搡bbbb搡 | 99久久精品久久久久久动态片 | 不卡的一区二区三区 | 国产日本亚洲 | 久久久午夜视频 | 久久久免费看视频 | 日韩精品免费一区 | 亚洲精品国产视频 | 99精品视频中文字幕 | 9在线观看免费高清完整版在线观看明 | 欧美精品乱码久久久久久 | 91mv.cool在线观看 | 天天操天天爽天天干 | 激情综合久久 | 天天激情站 | 精品国产一区二区三区男人吃奶 | 精品国产欧美一区二区三区不卡 | 国产精品久久久久一区二区 | 久久五月婷婷综合 | 日韩精品视频免费专区在线播放 | 亚洲视频久久 | 九九免费观看全部免费视频 | 天天色天天操天天爽 | 日韩精品一区二区不卡 | av黄色免费在线观看 | 97视频在线免费观看 | 日日爽天天爽 | 手机色在线 | 91精品成人久久 | 天堂视频中文在线 | 国产精品嫩草69影院 | 亚一亚二国产专区 | 成人av资源 | 蜜臀久久99静品久久久久久 | 99热精品在线观看 | 99免费在线播放99久久免费 | 97看片吧 | 综合婷婷| 黄色免费视频在线观看 | 久久爱导航 | 国内综合精品午夜久久资源 | 麻豆播放| 国产一区精品在线观看 | 在线观看片 | 在线三级av | 国产精品久久久网站 | 精品久久1| 国产精品永久免费在线 | 免费看污在线观看 | 日韩一级黄色片 | 久久视屏网 | 免费看国产黄色 | 精品国产伦一区二区三区观看说明 | 91成人免费在线视频 | a v在线视频 | 欧美日韩视频在线 | 亚洲美女在线一区 | 国产精品69久久久久 | 国产一级大片在线观看 | 欧美一级淫片videoshd | 国产精品伦一区二区三区视频 | 中文字幕韩在线第一页 | 国产亚洲精品久久19p | 国产高清免费在线观看 | 精品在线99 | 色综合咪咪久久网 | 国产三级精品在线 | 婷婷五月情 | 日韩一区在线免费观看 | 狠狠色丁香 | 久久女教师 | 夜添久久精品亚洲国产精品 | 国产高清网站 | bbw av| 久久久免费观看视频 | 色综合久久精品 | 久久在线 | 97精品免费视频 | 成人看片 | 在线视频1卡二卡三卡 | 黄色片免费看 | 亚洲国产资源 | 欧美日本不卡视频 | 在线观看黄色的网站 | 日韩高清在线一区二区 | 国产成人精品一区二三区 | 国产视频不卡一区 | 91资源在线视频 | 欧美日韩视频在线播放 | 免费久草视频 | 天天干,天天操 | 欧美精品久久久久久久久久丰满 | 日韩午夜av | 高清色免费 | 天天爱天天操天天爽 | 五月天色婷婷丁香 | 精品一区二区av | 久久综合九色欧美综合狠狠 | 中文字幕不卡在线88 | 国产精品福利小视频 | 蜜臀av性久久久久av蜜臀三区 | 国产成人黄色av | 国产中文字幕国产 | 福利电影久久 | 欧美精品国产精品 | 国产精品成人免费 | 韩国av免费在线观看 | 一本一道久久a久久综合蜜桃 | 色综合久久久 | 在线亚洲成人 | 日韩中文在线电影 | 欧美 激情在线 | 天天草综合 | 99免费精品 | 国产一区二区精品久久 | 精品在线观看一区二区 | 亚洲欧洲国产视频 | 亚洲五月激情 | 欧美一二区视频 | 亚洲欧美少妇 | 亚洲欧洲精品一区二区 | 欧美日韩在线第一页 | 91少妇精拍在线播放 | 国产成人黄色av | 黄色国产高清 | 在线影视 一区 二区 三区 | 国产高清在线精品 | 在线看毛片网站 | 亚洲一二三区精品 | 五月婷婷综 | 天天操 夜夜操 | 天天弄天天操 | 成人av影院在线观看 | 一区电影 | 久久永久免费 | 色网站国产精品 | 久久久亚洲麻豆日韩精品一区三区 | 日韩精品一区在线播放 | 在线观看色网站 | 激情欧美一区二区免费视频 | 一区二区精品久久 | 国产不卡视频在线播放 | 国产免费黄色 | 啪啪肉肉污av国网站 | 国产精品igao视频网网址 | 手机在线小视频 | 亚洲精品国产精品国自 | 免费一级片在线观看 | 亚洲精品小视频在线观看 | 国产精品久久久久一区二区国产 | 毛片永久新网址首页 | 欧美日韩精品在线免费观看 | 中国美女一级看片 | 天天曰夜夜操 | 色婷婷综合久久久中文字幕 | 日韩色视频在线观看 | 天天做天天爱天天综合网 | 97免费中文视频在线观看 | 五月天久久激情 | 色综合久久88色综合天天6 | 日本精品视频一区 | 在线亚洲成人 | 黄色亚洲片 | 久久视频这里有久久精品视频11 | 国产精品一区二区三区久久久 | 国产精品99页 | 日韩精品一区二区在线视频 | 91丨九色丨蝌蚪丨对白 | 98超碰在线 | 中文av网| 精品91在线 | 欧美二区视频 | 中文字幕日韩精品有码视频 | 一级黄色片在线免费看 | 国产精品免费观看网站 | 亚洲视频1区2区 | 欧美性大战| 免费av一级电影 | 99 精品 在线 | 国产成人免费观看 | 99热999| 精品国产视频在线观看 | 99久久精品午夜一区二区小说 | 亚洲成人精品在线 | 精品久久久久久久久久国产 | 久久久电影网站 | 国产美女精品视频免费观看 | 99精品国产在热久久下载 | 成人午夜性影院 | 国产小视频免费观看 | 日韩大片在线免费观看 | 在线不卡中文字幕播放 | 97在线看 | 人人爽人人爽人人片 | 狠狠躁夜夜躁人人爽视频 | 激情综合五月婷婷 | 美女久久 | 黄网站色成年免费观看 | 天天操天天操天天操天天 | 国产精品久久av | av大全在线| 成人在线视频免费观看 | 精品91视频 | 四虎免费在线观看视频 | 粉嫩av一区二区三区四区 | a天堂中文在线 | 91九色最新地址 | 精品在线视频一区 | 亚洲日日夜夜 | av网站免费线看精品 | 国产精品自拍在线 | 9999亚洲| 日韩三级在线观看 | 免费看黄色小说的网站 | 久久国产精品免费一区二区三区 | 久久久久北条麻妃免费看 | 日本久久中文字幕 | 亚洲国产福利视频 | 日本精品在线视频 | 亚洲精品国产精品国自 | 免费观看久久久 | 亚洲a在线观看 | 婷婷丁香五 | 伊人五月| 国产精品一区二区av | 日韩欧美综合在线视频 | 国产精品一区二区三区免费视频 | av网址最新 | 日韩成人精品一区二区三区 | 超碰在线97免费 | 高清视频一区二区三区 | 久久人人爽人人 | 亚洲涩涩涩涩涩涩 | 99国产在线视频 | 8x成人在线| 高清国产午夜精品久久久久久 | 免费看久久| 99精彩视频在线观看免费 | 日韩av不卡播放 | 深夜成人av | 丁香六月激情婷婷 | 亚洲国内精品在线 | 精品免费| 探花视频在线观看 | 日日爱av| 国产中文字幕一区二区 | 国产免费观看久久黄 | 久久蜜臀一区二区三区av | 最近日本中文字幕a | 丁香花中文字幕 | 国产不卡一 | 综合天堂av久久久久久久 | 国产另类av | 亚洲夜夜爽| 亚洲精品美女在线观看 | 亚洲精品在线一区二区 | 免费a网址| 成人黄色资源 | 一区三区视频 | 色婷婷电影网 | 精品视频www | 天天干天天干天天 | 久久99久久精品国产 | 国产亚洲视频系列 | 欧美性一级观看 | 免费国产在线精品 | 亚洲视屏| 激情丁香5月 | 色av网站 | 天天在线免费视频 | 国产在线观看免费观看 | 久久综合欧美精品亚洲一区 | 91香蕉亚洲精品 | 免费看黄色毛片 | 精品a视频| 国产一区二区三区午夜 | 免费日韩视 | 国产精品免费在线观看视频 | 91色一区二区三区 | 婷婷丁香六月天 | 亚洲精品视频中文字幕 | 人人舔人人爽 | 国产一级视频在线免费观看 | 国产黄色观看 | 综合久久婷婷 | 久久国产精品免费看 | 激情欧美xxxx | 欧美亚洲成人xxx | 日韩色视频在线观看 | 人人揉人人揉人人揉人人揉97 | 免费日韩| 国产精品毛片一区视频 | 久影院| 天天av天天 | 日韩欧美一区二区三区在线 | 亚洲成年人av | 日韩视频在线观看免费 | 97视频网站 | 免费h精品视频在线播放 | 免费看的黄色的网站 | 在线观看免费黄视频 | 2021av在线| 日本深夜福利视频 | 91成年人网站 | 不卡日韩av | 最新真实国产在线视频 | 久草视频在 | 草免费视频 | 日韩中文在线字幕 | 国产在线黄色 | 久久精品导航 | 免费激情在线电影 | 黄色精品在线看 | 免费看的黄色片 | 久久精品国产99 | www.夜夜爽 | 91欧美在线 | a视频免费在线观看 | 91精品一| 久久久久久久久久久久电影 | 91chinese在线 | 手机av在线免费观看 | 中文在线最新版天堂 | 色狠狠操 | 在线观看视频免费大全 | 九九在线播放 | 深爱激情五月综合 | 在线成人欧美 | 国产一区二区在线视频观看 | 久久99久久99精品免视看婷婷 | 午夜精品中文字幕 | 99在线精品视频观看 | 毛片视频电影 | 人人要人人澡人人爽人人dvd | 91香蕉亚洲精品 | 国产成人精品av在线观 | 久av在线 | 一级黄色片在线免费看 | 一区二区三区在线免费观看视频 | 欧美日韩高清不卡 | 九九热在线精品 | 在线国产91 | 天天操天天爱天天干 | 精品嫩模福利一区二区蜜臀 | 色婷婷福利 | 91久久人澡人人添人人爽欧美 | 天天操天操 | 亚洲第一中文网 | 国产激情久久久 | 91视频 - x99av| av视屏在线播放 | 黄色影院在线播放 | 国产手机免费视频 | 色欧美88888久久久久久影院 | 中文字幕第一 | 9幺看片| 国产va饥渴难耐女保洁员在线观看 | 久久超| 免费黄色一区 | 成人国产网址 | 欧美激情在线看 | 中文有码在线视频 | 国产成人久久av | 婷婷六月天综合 | 嫩草av影院| 丁香色婷 | 最近日本字幕mv免费观看在线 | 五月婷婷中文网 | 国产99久久 | 五月综合色 | 99久久精品国产一区二区成人 | 免费成人黄色片 | 久久久久成人精品免费播放动漫 | 久久福利剧场 | 黄色aaa级片 | 九色精品在线 | 久久久久久国产精品 | 国产黄色片免费 | 99热最新地址 | 黄在线| 少妇按摩av | 婷婷激情网站 | 91人人在线| 91资源在线免费观看 | 五月激情站| 国产精品久久久久久一区二区 | 亚洲国产精品va在线看黑人 | 不卡av电影在线 | 98精品国产自产在线观看 | 国产免费亚洲高清 | 国产日韩欧美在线看 | 伊人激情综合 | 久久不卡电影 | 在线观看免费版高清版 | 免费在线观看中文字幕 | 精品久久一区二区 | 免费高清在线一区 | 国产亚州精品视频 | 婷婷在线五月 | 91麻豆产精品久久久久久 | 在线看小早川怜子av | 日本久久综合视频 | 精品视频123区在线观看 | 国产精品普通话 | 免费av片在线 | 久久久国产精品久久久 | 九九热国产视频 | 玖玖玖影院 | 欧美狠狠色 | 少妇18xxxx性xxxx片 | 国产亚洲情侣一区二区无 | 又黄又网站 | 2024国产精品视频 | 日韩精品aaa| 久久久久久久久久久久亚洲 | 国产在线视频一区二区 | 午夜精品电影一区二区在线 | 蜜桃麻豆www久久囤产精品 | 香蕉视频亚洲 | 久久综合精品国产一区二区三区 | 日韩视频免费播放 | 国产精品一区二区62 | 欧美精品三级 | 国产日韩欧美中文 | 91成人精品一区在线播放69 | 探花视频网站 | 久久超碰97| 高清不卡免费视频 | 开心激情网五月天 | 国产精成人品免费观看 | av一区二区在线观看中文字幕 | 日韩免费中文 | 97色免费视频 |