色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

GDF文件資源解包打包與版本差分實(shí)戰(zhàn)

GDF文件資源解包打包與版本差分實(shí)戰(zhàn) 簡(jiǎn)介面向想深入研究《夢(mèng)幻古龍》游戲數(shù)據(jù)格式與資源管理的開發(fā)者這份源代碼包聚焦 GDF 文件的解包、打包與流式讀寫適合具備 C 與面向?qū)ο蠡A(chǔ)、希望理解游戲資源壓縮存儲(chǔ)機(jī)制的讀者參考。壓縮包共 8 個(gè)文件由 5 個(gè)頭文件和 3 個(gè) cpp 源文件組成整體約 21KB涵蓋文件對(duì)象封裝、批量資源管理及數(shù)據(jù)流處理等核心模塊便于按類梳理接口與調(diào)用關(guān)系。已有 585 人學(xué)習(xí)說明該主題在游戲資源修改與工具開發(fā)圈中具備一定關(guān)注度。通過閱讀可實(shí)現(xiàn)單個(gè) GDF 文件的打開、數(shù)據(jù)塊讀取與解壓也能借助管理類完成多文件批量處理并從中體會(huì)壓縮算法與 I/O 設(shè)計(jì)的結(jié)合方式代碼未附圖形界面更適合作為二次開發(fā)與自制解包工具的基礎(chǔ)素材。1. 一個(gè)幾百 MB 的資源包為什么不能直接改里面的圖拿到夢(mèng)幻古龍的客戶端資源目錄里躺著一堆.gdf貼圖、模型、配置表、腳本全被塞進(jìn)同一個(gè)文件文件名躲在索引里數(shù)據(jù)區(qū)是壓縮過的二進(jìn)制。想換一張 UI 圖或者改一條數(shù)值在十六進(jìn)制編輯器里動(dòng)一個(gè)字節(jié)后面所有偏移就全錯(cuò)位客戶端輕則白屏重則閃退。GDF 文件資源解包打包這套源碼要解決的就是這件事按索引把 GDF 解包成正常的目錄樹改完再按原格式打包回去客戶端照樣認(rèn)。適合做資源替換、界面漢化、數(shù)值調(diào)試、格式研究的人也適合想弄明白“打包文件到底怎么組織”的初學(xué)者。門檻不高會(huì)一點(diǎn) Python、能看懂struct和文件偏移就行。2. 摸清 GDF 的三段式結(jié)構(gòu)文件頭、索引表、數(shù)據(jù)區(qū)在寫循環(huán)之前先干一件看起來很笨但省時(shí)間的事把.gdf拖進(jìn) HxD 或者 010 Editor看前 64 個(gè)字節(jié)。GDF 這類打包格式絕大多數(shù)是同一個(gè)套路——定長(zhǎng)文件頭、變長(zhǎng)索引表、連續(xù)數(shù)據(jù)區(qū)三段首尾相接。你把這三種段的邊界找對(duì)了解包腳本半小時(shí)能跑通邊界找錯(cuò)后面調(diào)一天都是亂碼。我一般會(huì)先看頭部四個(gè)字節(jié)是不是可打印字符再看第 5 到第 8 字節(jié)像不像一個(gè)小整數(shù)版本號(hào)通常是個(gè)位數(shù)到幾十第 9 到第 12 字節(jié)往往是條目數(shù)量緊跟著一個(gè)偏移值指向索引起點(diǎn)。這幾個(gè)數(shù)能對(duì)上格式基本就摸到了。2.1 文件頭里哪幾個(gè)字段必須先確認(rèn)下面這套頭部布局在同類 GDF 資源里出現(xiàn)頻率很高我手上這份源碼也是按它實(shí)現(xiàn)的。字段順序不一定完全一致但四個(gè)核心信息跑不掉魔數(shù)、版本、條目數(shù)、索引偏移。偏移長(zhǎng)度字段說明0x004magic常見為GDF\0或GDF1用來快速識(shí)別格式0x044version版本號(hào)決定索引項(xiàng)是否帶額外字段0x084count文件條目總數(shù)0x0C4index_offset索引表在文件中的起始位置先用一段最小的代碼把頭部讀出來確認(rèn)字段是否講得通import struct # 小端序魔數(shù)4字節(jié)、版本4字節(jié)、條目數(shù)4字節(jié)、索引偏移4字節(jié) HEADER_FMT 4sIII HEADER_SIZE struct.calcsize(HEADER_FMT) # 16 def peek_header(path): with open(path, rb) as f: raw f.read(HEADER_SIZE) magic, version, count, index_off struct.unpack(HEADER_FMT, raw) print(magic , magic) print(version , version) print(count , count) print(index_offset , index_off) return magic, version, count, index_off peek_header(sample.gdf)如果打印出來的count是幾萬甚至上百萬或者index_offset大于文件本身大小說明字段順序或者字節(jié)序不對(duì)先把換成再試一次。大端序在老資源里不是沒有。這里的每個(gè)常量都不是拍腦袋定的HEADER_FMT一旦確認(rèn)下來后面解包和打包必須共用同一份定義不要在兩處各寫一遍改了一處忘了另一處是最常見的事故來源。2.2 索引項(xiàng)是變長(zhǎng)的文件名長(zhǎng)度決定了怎么跳索引表不是定長(zhǎng)數(shù)組絕大部分 GDF 的索引項(xiàng)是“長(zhǎng)度 內(nèi)容”的變長(zhǎng)結(jié)構(gòu)先一個(gè) 2 字節(jié)的文件名長(zhǎng)度接著是文件名本身然后是數(shù)據(jù)偏移、壓縮后大小、原始大小、壓縮標(biāo)志。因?yàn)槲募L(zhǎng)度不固定你不能用count * 固定長(zhǎng)度去算索引總長(zhǎng)只能一條一條順序讀。# 索引項(xiàng)文件名長(zhǎng)度(H) 數(shù)據(jù)偏移(I) 壓縮后大小(I) 原始大小(I) 標(biāo)志位(B) ENTRY_FMT HIIIB ENTRY_SIZE struct.calcsize(ENTRY_FMT) # 15這里最容易翻車的是文件名編碼。國(guó)產(chǎn)老資源十有八九是 GBK直接decode(utf-8)會(huì)在某個(gè)帶漢字的路徑上拋異常而且往往不是第一條是跑到幾千條的時(shí)候突然炸。穩(wěn)妥寫法是給一個(gè)編碼回退鏈優(yōu)先 GBK失敗再試 UTF-8最后用 latin-1 兜底保證不中斷def decode_name(raw: bytes) - str: for enc in (gbk, utf-8, latin-1): try: return raw.decode(enc) except UnicodeDecodeError: continue return raw.decode(latin-1, errorsreplace)還有一類 GDF 不用變長(zhǎng)文件名而是每條索引固定留 64 字節(jié)或 128 字節(jié)的文件名區(qū)不足補(bǔ)\0。這種結(jié)構(gòu)讀起來更簡(jiǎn)單但寫回去時(shí)必須把整塊清零再寫否則殘留的舊字符會(huì)串到新文件名后面。判斷方法很直接看索引區(qū)總長(zhǎng)度是不是count的整數(shù)倍。2.3 數(shù)據(jù)偏移的基準(zhǔn)點(diǎn)決定了你解出來的是圖還是亂碼索引里那個(gè)偏移值可能是相對(duì)于文件開頭的絕對(duì)偏移也可能是相對(duì)于數(shù)據(jù)區(qū)起點(diǎn)的相對(duì)偏移。這兩種情況在十六進(jìn)制里長(zhǎng)得一模一樣但解包結(jié)果天差地別。判斷辦法是拿第一條記錄的偏移和index_offset比一下如果偏移值明顯大于索引起點(diǎn)基本是絕對(duì)偏移如果偏移值從 0 或幾十開始那就是相對(duì)數(shù)據(jù)區(qū)起點(diǎn)的。def resolve_base(first_offset, index_offset, header_size): # 偏移大于索引起點(diǎn)視為絕對(duì)偏移基準(zhǔn)為 0 if first_offset index_offset: return 0 # 否則視為相對(duì)數(shù)據(jù)區(qū)起點(diǎn) return index_offset # 也有格式以 header_size 為基準(zhǔn)需實(shí)測(cè)對(duì)齊也值得看一眼。有些包要求每個(gè)文件的數(shù)據(jù)區(qū)起點(diǎn)按 4 字節(jié)或 16 字節(jié)對(duì)齊中間填\0。解包時(shí)對(duì)齊無所謂打包時(shí)不補(bǔ)對(duì)齊客戶端讀出來的貼圖會(huì)花屏——它按對(duì)齊后的偏移去取你少填了幾個(gè)字節(jié)后面全錯(cuò)位。判斷有沒有對(duì)齊看相鄰兩條記錄的offset packed_size和下一個(gè)offset之間有沒有固定的小間隙有就是對(duì)齊填充。3. 解包腳本落地從索引還原出完整目錄樹結(jié)構(gòu)確認(rèn)完解包腳本本身不復(fù)雜核心就三步讀頭、遍歷索引、按偏移取數(shù)據(jù)寫盤。但要把這三步寫扎實(shí)得處理幾個(gè)邊界索引讀完之后文件指針在哪、壓縮標(biāo)志為 0 時(shí)要不要跳過解壓、路徑里帶..或者絕對(duì)路徑時(shí)怎么清洗。下面這份是能直接跑的實(shí)現(xiàn)把前面確認(rèn)過的常量接進(jìn)去即可。3.1 讀頭部并做一次基本校驗(yàn)校驗(yàn)不是形式主義。資源包被截?cái)?、下載不完整、或者你拿錯(cuò)了版本都會(huì)在這里暴露而不是等到寫了幾千個(gè)文件之后才發(fā)現(xiàn)全是壞的。import os import struct import zlib HEADER_FMT 4sIII HEADER_SIZE struct.calcsize(HEADER_FMT) ENTRY_FMT HIIIB ENTRY_SIZE struct.calcsize(ENTRY_FMT) def read_header(f): raw f.read(HEADER_SIZE) if len(raw) ! HEADER_SIZE: raise ValueError(文件頭不完整可能被截?cái)? magic, version, count, index_off struct.unpack(HEADER_FMT, raw) if magic[:3] ! bGDF: raise ValueError(f魔數(shù)不匹配: {magic!r}) return version, count, index_offmagic[:3] ! bGDF這里只比前三個(gè)字節(jié)是因?yàn)榈谒奈辉诓煌姹纠锟赡苁荺0、1、2。如果你手上的包魔數(shù)完全不是這幾個(gè)字符那就把這行判斷去掉改成打印出來人工確認(rèn)別硬套。3.2 遍歷索引逐條讀出元信息索引區(qū)一次性讀進(jìn)內(nèi)存比逐條seek快得多幾萬條記錄的索引通常也就幾 MB。讀進(jìn)來之后用一個(gè)游標(biāo)pos往前走每次讀完固定部分再按name_len跳過文件名。def read_index(f, count, index_off): f.seek(index_off) buf f.read() entries [] pos 0 for _ in range(count): name_len, offset, packed_size, raw_size, flag struct.unpack_from( ENTRY_FMT, buf, pos ) pos ENTRY_SIZE name decode_name(buf[pos:pos name_len]) pos name_len entries.append({ name: name, offset: offset, packed_size: packed_size, raw_size: raw_size, flag: flag, }) return entriespacked_size和raw_size的關(guān)系能幫你判斷壓縮標(biāo)志是否可信兩者相等時(shí)大概率沒壓縮packed_size明顯小于raw_size才是壓縮過的。有些包的flag字段根本不準(zhǔn)這時(shí)候以大小關(guān)系為準(zhǔn)更穩(wěn)。3.3 寫盤路徑清洗、目錄創(chuàng)建、重名處理寫盤這一步看著簡(jiǎn)單坑都在路徑上。資源包里可能混著\和/兩種分隔符可能有大小寫只差一個(gè)字母的兩個(gè)文件在 Windows 上會(huì)互相覆蓋也可能有..這種試圖跳出輸出目錄的路徑。統(tǒng)一處理成/、按段拆分、過濾掉..和空段是必須做的。def safe_join(out_dir, name): parts [p for p in name.replace(\\, /).split(/) if p and p ! ..] return os.path.join(out_dir, *parts) def unpack(src_path, out_dir): with open(src_path, rb) as f: version, count, index_off read_header(f) entries read_index(f, count, index_off) # 用第一條記錄判斷偏移基準(zhǔn) base resolve_base(entries[0][offset], index_off, HEADER_SIZE) for e in entries: f.seek(base e[offset]) data f.read(e[packed_size]) if e[flag] 1 and e[packed_size] ! e[raw_size]: try: data zlib.decompress(data) except zlib.error: pass # 標(biāo)志位不準(zhǔn)時(shí)保留原始數(shù)據(jù)避免整批失敗 dst safe_join(out_dir, e[name]) os.makedirs(os.path.dirname(dst), exist_okTrue) with open(dst, wb) as w: w.write(data) print(f解包完成: {count} 個(gè)條目 - {out_dir})resolve_base用的是 2.3 節(jié)的判斷邏輯。try/except zlib.error那層兜底很關(guān)鍵——我遇到過整包里flag字段全是 1、但實(shí)際只有一半數(shù)據(jù)壓縮過的情況沒有這層兜底腳本跑到一半就停了。3.4 解包完做一次完整性核對(duì)解包腳本跑完不報(bào)錯(cuò)不代表解出來的東西是對(duì)的。核對(duì)三件事文件數(shù)量是否等于count、每個(gè)文件的實(shí)際大小是否等于raw_size、隨機(jī)抽幾個(gè)文件看文件頭是不是正常的圖片或文本格式。def verify(out_dir, entries): bad [] for e in entries: p safe_join(out_dir, e[name]) if not os.path.exists(p): bad.append((e[name], missing)) continue size os.path.getsize(p) if e[raw_size] and size ! e[raw_size]: bad.append((e[name], fsize {size} ! {e[raw_size]})) print(f異常條目: {len(bad)}) for name, reason in bad[:20]: print( , name, reason)raw_size為 0 的條目要跳過大小比較有些包對(duì)空文件不寫這個(gè)字段。這一步跑完還是零異常基本可以認(rèn)為解包是干凈的可以進(jìn)入改資源、替換、再打包的流程了。4. 打包回寫偏移計(jì)算、壓縮策略和頭部回填打包比解包難難在順序。文件頭里要寫索引偏移索引里要寫每個(gè)文件的數(shù)據(jù)偏移而這兩個(gè)值都得等數(shù)據(jù)寫完才知道。常見做法是兩遍寫第一遍先占位寫頭部、再寫數(shù)據(jù)區(qū)、最后寫索引第二遍seek(0)回去把頭部真實(shí)值填上。這套流程只要偏移算對(duì)一次就能成功。4.1 先收集再排序保證偏移可復(fù)現(xiàn)打包前先把源目錄里所有文件收集成一個(gè)列表按相對(duì)路徑排序。排序不是為了好看是為了讓同樣的輸入每次都產(chǎn)出字節(jié)完全一致的包方便做版本對(duì)比和差分。def collect_files(src_dir): items [] for root, _, files in os.walk(src_dir): for fn in files: full os.path.join(root, fn) rel os.path.relpath(full, src_dir).replace(os.sep, /) items.append((rel, full)) items.sort(keylambda x: x[0]) return itemsos.path.relpath拿到的分隔符在 Windows 上是\統(tǒng)一替換成/存進(jìn)索引跟原包保持一致。這一步不做打出來的包在客戶端里可能整個(gè)目錄樹都找不到。4.2 壓縮策略什么時(shí)候壓、級(jí)別定多少不是所有文件都值得壓縮。貼圖、音頻這類本身已經(jīng)壓過的格式再用 zlib 壓一遍體積可能不降反升還白搭 CPU。常見做法是設(shè)一個(gè)閾值原始大小小于 1KB 的直接不壓壓完比原文件還大的也回退成不壓。def maybe_compress(raw: bytes, level6, min_size1024): if len(raw) min_size: return raw, 0 packed zlib.compress(raw, level) if len(packed) len(raw): return raw, 0 return packed, 1level6是速度和壓縮比的平衡點(diǎn)。如果你只是改了幾個(gè)文件做測(cè)試用level1更快如果是發(fā)布用的完整包level9能再省一點(diǎn)體積但打包時(shí)間會(huì)翻倍。返回值第二個(gè)元素直接就是索引里的flag壓縮標(biāo)志和數(shù)據(jù)必須同源產(chǎn)生不能一處判斷一處寫死。4.3 先寫數(shù)據(jù)、再寫索引、最后回填頭部這是整個(gè)打包流程的主干。注意文件指針的位置數(shù)據(jù)區(qū)從HEADER_SIZE開始寫每個(gè)文件前用f.tell()取當(dāng)前偏移寫完后這個(gè)偏移就是索引里要填的值。def pack(src_dir, dst_path, level6): items collect_files(src_dir) entries [] with open(dst_path, wb) as f: f.write(b\x00 * HEADER_SIZE) # 頭部先占位 for rel, full in items: with open(full, rb) as r: raw r.read() packed, flag maybe_compress(raw, level) offset f.tell() f.write(packed) entries.append({ name: rel, offset: offset, packed_size: len(packed), raw_size: len(raw), flag: flag, }) index_off f.tell() for e in entries: name_bytes e[name].encode(gbk) f.write(struct.pack( ENTRY_FMT, len(name_bytes), e[offset], e[packed_size], e[raw_size], e[flag], )) f.write(name_bytes) f.seek(0) f.write(struct.pack( HEADER_FMT, bGDF\x00, 1, len(entries), index_off )) print(f打包完成: {len(entries)} 個(gè)條目 - {dst_path})幾個(gè)參數(shù)要盯住bGDF\x00必須跟原包一致客戶端可能校驗(yàn)?zāi)?shù)版本號(hào)1如果原包是別的值照抄原包的值文件名編碼gbk要跟解包時(shí)探測(cè)到的編碼一致。這三處任何一個(gè)對(duì)不上客戶端都會(huì)判定文件損壞。4.4 拿解包腳本當(dāng)反向測(cè)試用例打包完最省事的驗(yàn)證方式就是用第 3 章的unpack把剛打出來的包重新解開再跟源目錄逐文件比對(duì)哈希。這一步跑通說明頭部、索引、數(shù)據(jù)區(qū)三段自洽。import hashlib def sha1(path): h hashlib.sha1() with open(path, rb) as f: for chunk in iter(lambda: f.read(65536), b): h.update(chunk) return h.hexdigest() def diff_dirs(a, b): bad [] for rel, full in collect_files(a): other safe_join(b, rel) if not os.path.exists(other) or sha1(full) ! sha1(other): bad.append(rel) return bad先unpack(new.gdf, verify_out)再diff_dirs(src_dir, verify_out)返回空列表才算通過。這個(gè)測(cè)試用例的價(jià)值在于它不依賴客戶端純本地就能判斷包結(jié)構(gòu)是否正確改代碼之后的回歸成本幾乎為零。5. 避坑與排查五個(gè)讓腳本當(dāng)場(chǎng)翻車的細(xì)節(jié)5.1 解出來全是亂碼多半是偏移基準(zhǔn)搞反了現(xiàn)象很典型文件數(shù)量對(duì)得上文件名也對(duì)得上但打開每個(gè)文件都是亂碼或者圖片頭PNG變成了別的字符。原因基本是索引里的偏移是相對(duì)數(shù)據(jù)區(qū)起點(diǎn)的腳本卻按絕對(duì)偏移去seek讀到的位置整體偏了index_offset那么多字節(jié)。解決辦法是把resolve_base的兩個(gè)分支各跑一次看哪一次解出來的文件頭正常。判斷依據(jù)很直接正常 PNG 前四字節(jié)是\x89PNG正常 XML 開頭是?xml一眼就能認(rèn)出來。5.2 中文路徑在幾千條之后才炸現(xiàn)象是腳本前面跑得好好的突然在某一條上拋UnicodeDecodeError而且每次炸的位置還不一樣。原因是包里文件名編碼混用大部分是 GBK個(gè)別是 UTF-8甚至同一個(gè)包里兩種都有。硬編碼一個(gè)編碼必然翻車。解決辦法是用 2.2 節(jié)的decode_name回退鏈先把所有文件解出來再統(tǒng)計(jì)哪些名字命中了 UTF-8 分支心里有個(gè)數(shù)。打包回去時(shí)如果改了文件名編碼也要跟著原包走別解包用 GBK、打包用 UTF-8。5.3 壓縮標(biāo)志位不可信解壓失敗要能降級(jí)現(xiàn)象是zlib.decompress拋Error -3 while decompressing data腳本中斷后面的文件一個(gè)都沒解出來。原因是索引里的壓縮標(biāo)志寫的是 1但數(shù)據(jù)區(qū)那一段其實(shí)沒壓。這類包通常是工具鏈不同版本混著打出來的。解決辦法是解壓外面包一層try/except失敗就原樣輸出同時(shí)在日志里記一筆解完之后再人工看那幾個(gè)文件是不是正常。整批任務(wù)不能因?yàn)橐粭l記錄異常就全停這是批量處理的基本原則。5.4 包能打出來客戶端就是不認(rèn)現(xiàn)象是自制的包用解包腳本能完整解開但客戶端加載時(shí)直接報(bào)資源損壞或者黑屏。原因通常有三個(gè)魔數(shù)或版本號(hào)寫錯(cuò)、索引項(xiàng)沒有按原包順序排列、文件名大小寫跟原包不一致。前兩個(gè)查頭部和索引就能發(fā)現(xiàn)第三個(gè)最隱蔽——Windows 上不區(qū)分大小寫解包時(shí)文件名被規(guī)范化了打包回去就變了而客戶端在別的平臺(tái)上按精確匹配找文件。解決辦法是解包時(shí)保留原始字節(jié)別經(jīng)過任何大小寫轉(zhuǎn)換打包時(shí)用的就是解出來的原始名字。5.5 覆蓋原包之前沒留后悔藥現(xiàn)象是打包腳本參數(shù)寫反輸出路徑指向了源包幾百 MB 的原文件瞬間被覆蓋客戶端直接報(bào)廢。原因不是技術(shù)問題是流程問題但沒有這個(gè)習(xí)慣遲早出事。我的做法是打包函數(shù)入口強(qiáng)制檢查目標(biāo)文件已存在時(shí)先重命名成.bak再寫或者干脆要求輸出目錄必須跟輸入目錄不同。多花兩行代碼省一次重下客戶端的麻煩。6. 批量解包加版本差分找出兩個(gè)包里到底改了什么單包解包跑通之后真正省時(shí)間的用法是做版本對(duì)比。手上同時(shí)有新老兩個(gè)客戶端是常事想知道某次更新動(dòng)了哪些資源靠人工翻目錄不現(xiàn)實(shí)。把兩個(gè)包分別解到old/和new/按相對(duì)路徑做并集逐個(gè)算 SHA1輸出一張變更表就行。狀態(tài)含義后續(xù)動(dòng)作added只在 new 里存在新增資源重點(diǎn)關(guān)注配置和腳本removed只在 old 里存在被刪資源檢查是否有引用殘留modified兩邊都有但哈希不同改動(dòng)內(nèi)容優(yōu)先看配置表和 UI 圖same哈希一致忽略def diff_packs(old_dir, new_dir, out_csvdiff.csv): old_map {rel: full for rel, full in collect_files(old_dir)} new_map {rel: full for rel, full in collect_files(new_dir)} names sorted(set(old_map) | set(new_map)) rows [] for rel in names: if rel not in old_map: rows.append((rel, added)) elif rel not in new_map: rows.append((rel, removed)) elif sha1(old_map[rel]) ! sha1(new_map[rel]): rows.append((rel, modified)) else: rows.append((rel, same)) with open(out_csv, w, encodingutf-8-sig) as f: f.write(path,status\n) for rel, status in rows: f.write(f{rel},{status}\n) return rowsencodingutf-8-sig是為了讓表格軟件直接打開不亂碼這點(diǎn)小細(xì)節(jié)在交付給別人時(shí)很加分。collect_files復(fù)用第 4 章那份路徑分隔符已經(jīng)統(tǒng)一過兩邊能直接對(duì)上。跑完之后按status過濾modified里優(yōu)先看.ini、.txt、.lua這類文本資源改動(dòng)往往就藏在那里added里如果有新目錄基本能推斷出這次更新加了什么系統(tǒng)。更進(jìn)一步的做法是增量打包只把modified和added的條目重新壓進(jìn)去其余條目從原包里按偏移直接拷貝字節(jié)不做解壓再壓縮。這樣打一個(gè)幾百 MB 的包只需要幾秒而不是幾分鐘。實(shí)現(xiàn)上就是在寫數(shù)據(jù)區(qū)時(shí)判斷該條目是否在變更集合里在的話走maybe_compress不在的話seek到原包對(duì)應(yīng)偏移讀packed_size字節(jié)原樣寫出索引里的字段也照抄原值。這套邏輯我第一次寫的時(shí)候沒做偏移基準(zhǔn)的統(tǒng)一結(jié)果拷過來的數(shù)據(jù)整體錯(cuò)位解出來一半文件是壞的——從那以后我每次寫增量打包都強(qiáng)制先用差分腳本跑一遍全量對(duì)比確認(rèn)變更集合和字節(jié)偏移都對(duì)得上再動(dòng)手改包。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
久久精品国产精品亚洲艾通辽熟妇 | 色噜噜人妻av中文字幕| 97色碰| 亚洲男人久久综合天堂| 国产久9| 伊人亚洲国产一成人久久精品,久久| 乱性AV| 国产丝袜一区二区三区| 歐美性天天| 色色国产| 免费黄色A片| 97干97色| 性高潮久久久久久久久久久| 欧美曰韩国产精品| 久久久com| 成人麻豆av电影网站| 一级AV性爱| 九九九九九九免费视频| 无码久| 中文高清一区二区的| 欧美黄片欧美黄片xxx| 精品无码秘 人妻一区二区| 久操在97| 亚州精品丝袜-不卡成人免费| 亚洲Av无码成人精品国产| 91性高朝久久久久久久久| 亚洲深夜福利| 国产白丝av| 91n处女在线观看| 熟女AV一区| 日韩紧密久久| 67194无码不卡| 欧美美女自慰一区二区三区| 立川理惠无码一区二区| 亚洲国产麻豆一区二区三区| 91强热人妻| 日韩操p| 欧美视频一| 丁香七月婷婷| 香伊人在线| 久久午夜鲁丝片| 97色碰| 97色色色| 色综合久久88色综合久久天天| 久久久国产av美女私房| 国产a片操逼| 欧美一级黄片视频在线| 亚洲精品久久久久久久蜜桃臀| 国产强奸91| 国内精品嫩模A∨私拍小视频| 自拍偷拍 日韩欧美| 麻豆国产视频精品观看| 国产亚洲精品av一区| 国产免a费看黄片在线| 久久久久久久伊人精品| 国产热RE99久久6国产精品首| 色就色综合| 国产真乱mangent| 狠狠操狠狠操操| 欧美在线91| 久久久99免费| 90后性网国产欧美| 亚洲欧美校园另类春色| 亚欧国产无码精品在线| 日韩人妻资源在线看| 激情文学网伊人| 日韩内射视频| 国产精品白领在线观看 | 18禁中文字幕| 精品视频在线观看精品| 亚洲综合精品国产一区| 岛国AV一区二区电影| 中出789在线视频| 无码人妻系列少妇| 91美| 久久双插| 五月丁香啪啪啪| 女同性恋一区二区三区精品视频| 欧亚日韩三区| 久久78| 岛国毛片在线观看免费| 安徽熟妇视频| 欧美极品美女aaaaaa级黄片| 国产伦乱91| 熟妇人妻一区二区三区| 91精品国产91久久久久久久久久久久| 亚洲AV成人精品网站在AV| 免费人成在线观看网站品爱网| 3D污黄视频在线观看| 天天摸,夜夜摸| 久久天天躁日日躁狠狠躁 | 高清成年美女黄网站免费大全| 中文字幕在线观看二区三区| 美骚妇av高清在线| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 91美女丝袜诱惑视频| 久久视网78| 热久久无毒不卡| 2017av无码免费无线播| 九九99精品| 熟女网站最新| 国产传媒午夜理伦精品| julia高潮后不停追击中出| 97一本大道亚洲一区| 色与欲影视| 亚洲超碰AV| 欧美中文字幕一区| 2020天天色综合| 欧美国产精品| 九X超碰| 野狼福利社区| 婷婷激情五月| 青青草大香蕉视频| 婷婷五月激情综合| 中日992视频| 巨爆乳一区二区爆乳区| 99re6国产精品99re在线| 鸥美极品| 两性综合网| 天天摸夜夜操视频| 97在线视频观看网站| 成人资源中文字幕在线观看天天| 外国免费性情大片| 长长久久免费视频| 久久久久久综合久久伊人蜜月| 国产精品宅男免费| 欧美亚州综合网图片| 欧亚成人| 尤物AV免费网站| 久久高清欧美国产| 亚洲少妇自拍中文字幕懂色| 黄片免费看黄片免费看| 亚州高清AV| 久久久免费一级黄片| 好舒服视频| 亚洲1区2区三区高清中文字幕| 91路www| 国产操偷| 南澳成人一级片在线播放| 久操大香蕉| 亚洲97网站| 亚乱色| 中文字幕在线第二页| 色成人Www精品永久观看| 免看60秒涩涩视频| 91N欧美| 精品人妻一区二区三区日产乱码| 2025亚洲男人天堂| 亚洲国产精品有声| 啊啊啊啊啊舒服| 免费一级毛片在线视频观看| 欧美天天综合在线| 大香蕉碰| 亚洲,日韩,欧美,成人播放 | 亚洲AV噜噜狠狠网址蜜桃动漫| 国产精品久久久999| 偷拍自拍在线视频观看| 97干97色| 中文字幕精品亚洲熟女| 日韩乱码av| 伊人九九九| 超碰综合色| 男人天堂网手机版婷婷| 人人爱夜夜爱| 91c色| 精品人妻久久久久一区二区三区| 少妇高潮喷水无套久久久久久| 国产精品久久久亚洲一区| 日本东京热久久久电影| 一块操欧美| juliaann丝袜大战黑鬼| 日韩精品9999| 巨爆乳肉感一区二区三区竹菊影视| 91久久久久| 久久极品一区二区| 欧美 日韩 亚洲 春色| 日本理论在线| 少妇内射www在线观看视频| 97天天操天天干| 99999久久精| 欧美一区二区一级岛国大片| 嗯啊啊啊轻点视频| 日韩精品 欧美激情| 台湾一区国产高清在线| 国产精品麻豆成人AV艾秋| 青青草视频导航官网| 91模特在线观看| 超碰精品日韩欧美国产| 欧美91久久久久| 在线视频日韩欧美国产| 亚洲欧洲成人在线电影| 精品无av| 久久久久久久9最新免费视频观看| 成人午夜无码视频| 日美免费黄片| 在线国产福利网址导航| 人妻中文字幕精品无码| 日韩免费一级性爱视频| 呦呦一区| 麻豆 美女 丝袜 人妻 中文| 91日韩网站| 我中文字幕6区 | 成人影院永久免费观看网址| 精品欧美乱码久| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 日本三级一区二区 在线| 肥佬影院91| 嗯嗯嗯啊啊啊干死我吧| 久久综合超碰| 夜夜嗨av午夜成人| 91狠婷| 国产精点久久久成人| 亚洲 自拍偷拍 欧美| 一区二区视频在看| 野狼福利社区| 99999精品| 欲香欲色综合天天伊人| 97中文热色| 日韩青久久| 9ⅰ久久久天天| 久久久久国产| 亚洲男人天堂2016| 久久精品高清无码一区| 久久久草草精品| 91 国产丝袜在线播放-百度| 久热99999| 青青草AV色| 超碰97综合网| 婷婷爽人人婷婷爽视频| 国产精品麻豆免费视频| xxxx网站亚洲精品| 偷窥自拍亚洲天堂网爆| 成功精品影院| 99自拍B亚洲 | 97超色| 日夜尻逼网| 上床啊啊啊| 国产精品自拍视频| 欧日韩一二三f区| 亚洲 一区二区 自拍| 亚洲久草AV色图| 欧美色九九九| 天天干天天日天天射黄色大片| 97精品一二区| 嫩草影院永久在线制服丝袜| 日本道日本道中文字幕日本道最新日本道在线观看| 日本不卡免费二区| 中文字幕,人妻,日韩| 久久久久少妇| 欧美熟女操屄| 国产天天骚| 国产精品午夜成人福利| 九九久精品| 亚洲综合20p| 日韩极品无码B| 国产三级电影免费观看| 欧美日日夜夜| 91网站在线播放| 91精品久久久久| 日本一区二区中文字幕久久| 大象AV在线| 性爱视频免费网址| 日本精品高清一二区一本到| 国产久久视频| 日韩图色| 思思性爱| 天天天乱色综合全| 日本少妇va7777| 一本大道久| Av手机版天堂网| 看日韩操逼| 色噜噜国产在线| 中文一区二区| 国产精品99精品视频网站| 99久久综合| 亚洲国产欧美日韩人妻日中文| 日韩美女高潮喷水视频| 东北少妇高潮zzzz| 国产67194| 999九九精品| 测评在线观看AV| 五月婷婷色色| 偷拍新久久| 色天使亚洲综合在线观看| 色99视频| 人妻铁牛TV| 日韩精品一区的| 有码人妻系列| 91精品人| 91女人的网站| 国产精品不卡一区二区三区av| 欧美精品999| 激情小说亚洲视频| 欧美日韩性爱无码| 大香蕉琪琪日本女优不卡| 这里都是精品| a在线观看| 中文字幕国产| 国产精品老师| 综合熟妇一区二区三区| 欧美性爱十八禁| 99精品高潮| 岛国大片在线观看网站入口| 999 久久久| 一类av片在线看| 一区二区视频你懂的| 2019精品国产无码成人| 麻豆av一区二区三区| 国产激情视频一区区三区| 天天干天天插| 97欧美综合| 97超碰色五月| 又大又长又粗又爽又黄| 日本孕妇孕交| 伊人婷婷五月天| 精品玖九九久| 成人五月香网在线| 久久久久亚洲Av无码专区老牛影视| 2011国产精品| 欧美亚洲| 国产精品久久泡妞网站| 狼人久草| 婷婷色色五月天福利| 宅男午夜在线视频| 95自拍视频在线观看| 加勒比东京热五月天天堂网| 久久超碰久| www.色吧5.com| 久久日本熟妇熟色高清| wwwcaobibi| 超碰九7免费| 久久久久无码| 1人人看人人摸人人操| 99精品伊人| 精品毛片久久久精品毛片| 国产日韩人人| 人人摸人人干| 亚洲国产精品9999在线观看| 精品国产乱码久久久影院| 亚洲精品色| 日B操| 欧美日韩97在线| 丁香五月成人| 曰本人妻人人澡人人夹| 伊人久久蜜月| 毛片视频白嫩| 亚乱色| 香蕉综合网| 91挑色欧美| 精品一区二区三区蜜桃臀赵总 | 亚洲欧美日韩精品久| 国产区在线| 日han少妇无码| 色五月综合网| 日韩欧美国产一区二区三区四区| 男人天堂欧美| 熟女91网站| 自拍二页| 99性爱视频| 北约熟女超碰| 又粗又长又大国产不卡| 男人天堂2030| 热热色青青草| 另类专区加勒比| 色爱欲亚洲| 免费精品99| 国产精品久久久久久久毛片1| a啊啊啊啊啊啊啊啊一区二区| 色噜噜人妻丝袜AV资源| 丝袜 亚洲 偷拍| 久久的免费性爱视频| 综合色久欲| 麻豆国产成人精品| 久久的网站啊啊啊啊啊| www.婷婷六月天| 国精精品无码一二三区水多多| 热99这里有精品综合久久 | 亚洲精品国产熟女| 九九AV| 女人香蕉久久毛毛片精品| 精品999日本| 久久99综合| 精品国产av一区二区三区四区入口| 青青操在线视频| 97国产伦理| 日逼五月天| 秋霞男人网| 久久黄黄| 亚洲精品一二三四区| 色色综合网站| 一品道视频一区二区三区| 一级黄色性爱A级片| 日本天天人人狠狠在线日美女 | 五月婷在线| 久久久久96| 国产人伦a片信息免费片| 欧美黄色图片| 日本人妻最新在线中| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 亚洲一区二区中文字幕| 女人天堂网| av日韩国产一区二区| 欧美性爱一区二区三区四区| WWW操逼| 久艹伊人精品综合在线| 操屄日韩| 欧美日本天堂| 日韩精品人妻一| 91美女视频在线免费观看| 国产黄色在线播放观看| 中文字幕97色| 粉嫩绯色AV一区二区在线| 97天天在线| 亚洲操逼无码| 久久久久99999| 国产蜜臀精品一区免费尤物| 久久性爱视频免费看| japan日本高清乱xxxx| 91无码人妻| 国产精品久久久久久久免牛肉蒲团| 色妹子A V| 99操| 午夜AV污污污| 天天爽天天| 男人天堂一区二区| 思思热在线视频精品| 九九九九九九九九九九九免费国产| 一区二区 日韩 欧美 国产 传媒| 青青草玖玖爱| 五月天伊人网| 八人操人人摸人人看| 亚洲成人久久美女| 人妻无码后入| 中文字幕成人乱码熟女精品国50| 香蕉国产精品麻豆亚洲欧美日韩 | 蜜臀99精品国产高清在线观看| 这里都是精品| 欧美偷拍区| 丁香婷婷大香蕉| 久久久久久久久久久人妻| 欧美 综合 亚洲| 草久在线| 亚洲午夜福利在线影院| 亚洲最大的黄色电影网站。| 九九热午夜欧亚国产视频| 人人操人人色网| 欧亚性爱视频免费看| 婷婷香蕉欧美在线一区二区三区| 色97国产69香蕉| 无遮挡又黄又刺激的视频| 国产强奸无码乱伦| 超碰精品在线| oumeisetu综合| 福利天天都操| 人妻人人做人人澡人人爽欧美一区| 国产CHASE男男GAYGA 毛多色婷婷| 亚洲中文制服诱惑| 欧美欧美少妇| 精品黑人一区二区| 久99热| 操逼操2| 色69大色97香蕉| 亚洲AV无码天美传媒一区| 国产综合网站在线播放 | 亚洲 日韩 欧美 国产综合体| 国产强奸91| 一区二区不卡视| 嗯嗯啊啊日韩精品| 78久久久| 日本三级人妻a人妻一在线| 国产 v乱码一区二| 99老司机精品视频在线观看| 日少妇视频| 蜜桃午夜视频一区二区 | 精品二999| 99久re热视频精品98| 蜜臀AV秘一区翔田千里| 日韩免费a级毛片无码a∨| 超碰欧美COM| 久久精品老司| 久久久久密| 日日干夜夜骑| 99热| 另类av天堂| 久操国产在线| 超碰亚洲欧美日韩无| 综合色一区三区二区| 99久久久99久久91熟女| 精品对白久久不卡| 男人亚洲91首页在线| 中文字幕乱码在线观看| 亚洲第一页色| 91综合色| 亚洲欧美精品一区天堂久久| 亚洲欧美不卡线| 亚洲国产一区二区三区在线| 免费观看成人www精品视频| 日本淫色网| 人妻二区| 亚洲AV在线资源| 五月综合婷婷久久网站| 欧美色97| 亚洲综合有玛| xxx0国产在线播放| 国产白丝网站| 超碰午夜在线| 亚洲国产麻豆一区二区三区| 亚洲中文sv| 日本性爱不卡视频| 嗯嗯啊啊好爽| 久久日本熟女精品一区| 熟女一区二区三区| 图片区小说区| 亚洲风情在线观看| 少妇500双飞99| 最新日产中文在线麻豆| 大香蕉色欲AV| 一区二区偷拍拍视频| 性饥渴少妇av无码毛片| 少好三P| 黄色AV影视| av网站在线观看了| 激情欧美97| 亚洲少妇色图自慰直播| 国产高潮AA片免费看| 一区二区三区国产在线播放| x97av| 美女超碰978| 久久久久亚洲?V片无码V| 熟妇人妻一区二区| 久久人人爽人人爽人人片Ⅴ| 国内精品嫩模A∨私拍小视频| 天天操天天日青青草超碰av| 男人的天堂在线有码| 久久黄色视频一区二区三区| 国色综合天| 国产视频大全| 色色99| 91快色色色色色| 色吧91| 久9爱精品| 亚洲人妖网| 婷婷四五区| 睡产熟女乱伦| 在线a v| 看免费一级在线播放毛片| 国产美女高潮视频| 亚洲十八禁止| 歐美性天天| 午夜福利久久久噜久噜久久综合 | 双插性欧美一二三区| 国产免费内射视频| 后入日本1234| 亚洲自拍欧美国产首页网曝| 女人被添高潮免费视频| 日本欧美一区二区三区免费| 一本一道久久综合久久| 欧美色色色| 99久久久久久久久| 色婷婷激一区二区三区| av最新免费中文字幕| 欧美猛交黑寡妇中文字幕| 黄色视频特级毛片| 开心激情站| 青青青在线高清视频在线一二三四区| 日韩AV一区二区三区三州三州| 欧美综合色综合| 国产中文日韩欧美一区二区三区人妻丝袜美腿| 日日骚一区二区三区| 丰满美女一级毛片在线播放| 亚洲精品国产无码高清| 亚洲国产成人精品无码专区| 国产精品久久久久综合| 亚洲精品九九九| 四虎 精品 WWW| 超碰九区| 久久AV无码网址| 素人无码中文字幕| 日韩人妻少妇中文字幕| 99色综合| 日本污ww视频网站| 最新国产亚洲精品精品国产亚洲综合| 人人操人人插人www| 一区二区三区黄色片a| 亚洲精品久久久久毛片A片拉屎 | 懂色av色欲av蜜臀av| 2001天天操| 国产麻豆91欧美一区二区久久婷婷国产精品 | 丰满人妻一区二区三区免费| 97日亚洲欧美| 亚洲熟妇一,二,三期| 欧美亚洲中文| 国产日逼视频| 天美麻花大全视频| 国产精品久久久亚洲一区| 亚洲色图久久成人| caopeng97人妻| 久草草一二三四区久久| 中文字幕熟女人妻丝袜丝| 国产9熟妇视频网站| 91爱| 久久性爱精品一区| 91精品伊人久久久大香线蕉91| 日韩中文字幕二区| 超碰79人人乐| 久草草一二三四区久久| 亚洲资源吧| 成年无码动漫av片无尽在线| 97欧美| 亚洲精品乱码线路中文字幕 | 操我无码| 欧美日韩色图片| 色婷婷蜜臀av| 视频在线97| 在线观看不卡一区二区三区| 日韩中文字幕在线视频观看| 91N欧美| 亚洲国产一级中文综合久久天堂在线免费观看| 久久精品视频一区三区小泽玛利亚| 九九九九亚洲| 性暴力欧美猛交在线直播| 久久婷婷精品| 色天堂综合| 蜜臀99久久精品久久久久久| 国产精品爱欲| 青草视频在线看看看看看看看看看| 欧美综合骚| 亚洲丰满很很操| 欧美性天天| 午夜一区| 在线中文AV| 超碰偷拍| 强奸乱伦资源| 久久e6只有精品| 一二三区视频在线观看| 久久久国产三级黄色片| 色婷婷狠狠| 10000部十八禁看电影| 日韩精品一区二区人人人| 国产在线激情视频| 天天淫人人妻日日色| 在线播放中文字幕| 少妇高潮九九九九| 色婷网| 青青伊人加勒比海| 欧美 精品国产制服第一页| a在线观看| 操死我了啊啊啊| 欧美成人免费在线观看| 丁香六月天| 久久天堂网| 日韩性爱视频在线免费观看| 激情丁香五月| 人妻日日夜夜精品| 男人的天堂1024| 国产剧情AV不卡在线观看| 97人人草| 日日夜夜骑| 91精品无码人妻系列| 九九热男人天堂| 久草这里只有精品| 99无码视频| 日韩无码第3页| 99色在线视频| 亚洲综合网91| 日韩AV一区二区三区四四| 蜜汁欧美| 日本91白丝| 干超碰碰熟女| 午夜呻吟欧美| 国产美女销魂在线观看不卡| 3571色综合一区二区二区| 啊啊啊在线看| 久热这里| A 天堂| 10000部十八禁看电影| 在线观看高清AV| 日本不卡码黄色 | 五月天偷拍| 外国91| 人人操人人大香蕉| 美女熟妇色| 国产成年精品高清在线观看91| 啊好爽受不了无码| 国产AV久久野战精品| 99最新日韩偷拍视频| 色牛牛AV| 久久精品国产亚洲av水密被窝| 日韩欧美视频青青| 欧美一级黄色免费专区| 亚洲欧美日韩电影网站一区| 久久男女激情视频网站| 无码人妻精品酒店| 奸色色 男人天堂 天天射| 日本韩国国产精品一区| 一区二区不卡免费| 啊啊啊操一区| 国产精品一区二区校花| 少妇大屁屁| 一区麻豆 高清中文字幕| 欧美黑人精品一区二区| 精品对白久久不卡| 91真人天天在线| 2020国产精品| 1769国内精品视频| 久久女女| 五十路熟女工口 | 久久久91| 久久久亚洲精品电影免费看| 亚洲天堂7777| 国产精品ww久久| 国产91专区| 日韩99999色| 一区二区三区免费岛国片| 97超碰色色| 天美一区在线| 啊啊啊啊嗯嗯嗯用力好爽 | 26uuu国产成人综合| 熟妇女伦乱视频| 麻豆精品三区视频| 日本 成 人 小说 电影 一区二区| 91精品久久久久五月天精品| aV中文麻| 吊色| 久久久久久久久久久久黄色| 婷婷丁香六月| 亚洲第一成人影院色播| 人人操,人人插| 国产精品久久久久久久久久久久久久吹| 日韩人妻精品中文字幕| 欧美熟妇视频 | 91欧美高清| www.av在线观看| 国产精品久久久久久久AV大片| 999精品乱码| 精品成人久久久人人亚洲| 亚洲色图超碰在线| 久久婷婷影院| 国产激情av女片自拍| 天天日天天干天天色| 97精品免费视频网站| 亚洲成人精品在线一区| 好涩综合| 一本一道久久综合久久| 欧美91精彩| 久久av色| 超碰激情808| 91ise欧美| 99这里有精品| 丁香五月影院| 99热婷婷| 99热这里只有精品8| 亚州AV无码国产精品| 视频国产精品未满十八禁止在线观看| 9国产超碰| 呦呦影院| 无码丰满熟妇一区二区浪潮AV| www男人天堂| 亚洲天堂电影网99999| 啊啊啊啊在线播放| 亚洲中文字幕一区| 国产丝袜一区二区三区| 97中文字幕一区| 亚洲成人AB| 男人的天堂三级| 色婷婷淫色网| 成人久久久精品| 玖日综合网| 日韩久射综合| 亚洲欧美首页| 综合影院永久入口国产| 性91| 成人毛片免费| 成人av在线播放| 亚洲日韩美女中文字幕乱| 亚洲精品亚洲人成在线麻豆| 全球成人中文在线| 超碰在线香蕉| 九九综合色| 国产精品干干干| A级在线视频| 国产精品日韩在线一区| 亚洲毛片一级带毛片基地| 人妻中文字幕日韩电影| 精品久热| 国产农村妇女精品一二区| 国产人妻一区二区三区欧美毛片| 经典丝袜一区| 东京热,男人的天堂| 天天综合网91| 国产91av在线播放| 殴美在线AⅤ| 黄污污污污| 97色诱| 人妻少妇久久| a片自拍直播视频| 大黄片做爱的大的| 综合熟女| 日韩少妇丰满亚洲| 韩国三级三级BD在线| 欲色啪| 欧美天天| 久久这里只精品99re66图| 天天肏美女| 黑人与人妻| 亚州欧美在线| 欧美性爱第一页久久| 精品伊人久久久大香线蕉小说| 5月婷婷6月六月丁香| 欧美日韩国产中文精品字幕自在自线,| 丁香婷婷激情五月天无毒不卡| 啊啊啊啊啊啊啊好爽不要| 午夜操操操| 久久激情婷婷| 久草免费在线一区二区| 精品人妻1237| 91日韩网站| 加勒比在线观看一区二区| 色婷婷亚洲婷婷| 久久人爽| 国产精品午夜AV完会免费| 96久久精品一二三区色欲| 91黑丝少妇| av2014 日韩在线中文字幕| 91视频伊人| 婷婷四五区| 超碰吊日色| 中文字幕aⅴ在线视频| 久久久久久性爱视频| 黄色成年| 久久久久国产精品片区无码直播| 中文字幕艹艹| 亚洲 欧美 日本 国内 首页| 最新三级网址| 欧美情色男人的天堂| 精品国产乱码久久| 久久久激情| 蜜桃久久久久久久| 91亚洲欧洲| 亚洲成人福利电影免费| juliaann丝袜大战黑鬼| 日本在线观看网址| 婷婷五月天影院| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 色嘟嘟人妻天堂网| 欧美性夜| 日本熟妇人妻中出视频| 都市激情人妻一区二区青青操视频 | 国产AAAAAABBBBB| 热天堂一区二区| 精品少妇一区二区| 精品性爱无码在线播放| 91精品人妻五十路| 国产福利精品98视频| 91 在线亚洲| 97在线看| 黄色乱论网站| 家庭乱伦麻豆| 色眯眯射| 欧美天天干| 青青色综合| 成人免费看吃奶视频网站| 91久久18禁| 国产福利在线视频网站| 国产AV人人夜夜澡人人爽麻豆| 久操网视频| 91美女视频电影| h在线看免费版在线看| 久久啊啊| 夜夜狠狠躁日日躁色视频| 乱伦一区二区三区‘| 久草成人影片| 五月天社区| 偷拍三区| 国产自偷| 中文字幕在线观看AV| 久久久久亚洲AV无码专区少妇| 欧美精品欧美精品系列| 97碰在线视频| 久久 国产 无码| 久久精品国产精品| 粉嫩av在线| 91五十路| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 超碰中文字幕人妻草一区| 这里只有精品视频在线观看麻豆| 欧美日韩国产人人| 91狠狠色丁香婷婷综合久久| 大香蕉懂9| 极品粉嫩少妇视频| 强奸乱伦亚洲第一页| 黑人性欧美| 久久久久久久久久久久久久久乱码 | 国产女人高潮视频| 中文字幕91页| 9久热这里只有精品| av东京热男人的天堂| 丁香五月偷拍| 人人操,操人人| 欧美综合自拍| 欧洲视频在线| 亚州色国| 顶级少妇BT天堂| 成人日本视频人妻在线| 日韩综合成人免费视频| 欧美高清16| 夜夜嗨老熟女AV一区二区三区| 精品无码久久久| 91Chinese在线| 新久久AV| 牛牛操视频逼| 欧美色图电影| 亚洲自拍小说| 和协影院中文字幕三区| 中文字幕一区二区三区蜜臀| 日韩一级片在线看| 亚洲国产尤物yw在线观看| 香蕉欧美| 国产精品香蕉| 久草久日| 四虎国产成人精品免费一女五男| 无套内射性感少妇视频| 一区二区三区四区免费视频| 秋霞网无码| 国产精品香蕉| 中文字幕免费在线观看| 操曰本熟女| 欧美激情久| 99在线视频播放| 国产在线视视频有精品| 色乱二区| 欧美日本一区二区a人| 亚洲暴力强奸AV| 久草免费福利在线播放| 亚洲激情综合另类男同| 亚洲AV秘无码一区..| 国内毛片欧美香蕉精品| 亚洲人妻精品一区二区| 久久女女| 国产97在线播放| 国产情色第一第二页在线观看| 性爱AV天堂| 久久夜色一区二区| 亚洲综合97中文网| 狠狠久久四虎| 国产馆极品诱惑| 97超碰热线| 中文字幕视频2区| 亚洲91亚洲| 丝袜狠狠草尤物人妻av91| juliaann精品熟女一区| 九九夜精品九九在线| 夜精品久无码| 熟女久久| 欧美第一页| 国产又黄又粗的视频| 欧美aaaaaaa| 国产福利精品最新在线| 九月色婷婷| 97鸡把在线视频| 校园春色AV天堂| 天美91| 国产三级在线现体验区| 久久久久亚洲av综合波多野制衣| 亚洲乱伦图片视频| 伊人五月天| 色一射色一射| 9超碰免费| 青青青草伊人精品| 国产一区二区在线看| 国产深夜福利| 操b在线观看| 成人三一级一片aaa| 伦理片秋霞免费影院| 久久亚洲AV无码专区首页| 三级日韩一区二区三区| av在线观看不卡网站| 婷婷AV一区二区三区| 偷看洗澡一二三区美女| 久久午夜伦| 国产女同性恋视频| 自拍亚洲综合| 国产91美女视频| 久久久久久免费电影| 91性感在线| av一区二区三区不卡| 国产亚洲精品自在线亚洲情侣| 国产999精品久久久久久| 免费网色网站| 精品少妇一区二区三区| 亚洲最新Av| 久久婷婷影院| 91在线限制级| 99AV| 国产福利视频精品视频| 丰满的三级少妇欧美久久久| 精品熟女一区=区三区| 久久久精品中文字幕麻豆| 精品免费囯产一区二区三区| 2018天天日天天日| 天天干天天燥| www.99在线| 欧美 亚洲 综合 制服 另类| 色97欧美| 欧美老妇曰批的视频| 91扒丝袜综合在线| 亚洲天天精品| 成年人三级黄色片视频| 操91| 97超色| 日本二三四区| 日本性爱少妇| 9久精品视频在线观看| 亚洲欧美不卡线| 五月天社区| 久久伦理视频久久大香蕉视频| 肏逼视频日本| 男人的天堂2010| 五月天人妻综合| 亚洲 一区二区 自拍| 欧美页片| 狠狠操使劲操| 九九热精品免费视频| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 熟女露脸激情自拍视频| 久久久久人妻二区精品叶可怜| 国产精品久久久视频| 色与欲影视天天看综合网| 欧美丝袜制服久久| 国产精品色哟哟| 久久在线观看免费视频| 日日干夜夜干| 无人区高清电影免费观看一区二区三 www.qmcai2.com | 丝袜狠狠草尤物 91| www激情| 中欧人妻丝袜中文字幕| 欧美白嫩女HD| 亚洲国产精品9999在线观看| 亚洲爱爱视频一区二区| 六月婷婷色综合| 欧美第二页| 人妻免费观看| 97人人模人人爽人人| 国产又黄又爽| 狠狠2050在线观看| 不卡啪啪视频| 一级片视频啪啪| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 精品国产乱码久久久久A| av网站免费线看| 久久99干一本高清| 九九热精品免费视频| 青青久久手机线视频| 777超碰| 美女主播色欲91抠b在线播放| 国产激情视频在线观看| 亚洲国产成人精品999| 69久久| 久久伊人青青草| 男人天堂一区二区| 神马久久久久久伦理片| 欧美96精品在线| 久久久久极品| 亚洲少妇诱惑| 亚洲无码99| 一级A片女人高潮叫床| 亚洲一区日韩精品中文字幕 | 99re8超碰| 色婷久久| 日韩av免费一级电影| 高精欧美色| 欧美亚洲激情小说| 一级@啪啪视频| 少妇高潮九九九九| 久久久九| 蜜臀色乳| 人妻天天夜夜爽一区二区| 激情看片网站| 婷婷午夜成人色中色| 在线日韩精品一区二区三区| 天天综合麻豆视频| 欧美另类自拍 | 国模精品一区二区三区苹果色戒| 操操操五月天婷婷丁香影院| 亚州性色| 性欧美999| 久热大香蕉网站| 噜噜噜久久亚洲精品色情| 精品久久久av| 国产成人网址| 无码日韩网站| A V视频日本| 91午夜无码| 老司机深夜18禁污污网站| 一区二区不卡视| 欧美亚洲首页| 蜜臀Av一区二区三区| 九九九九九九九九九九九九九九九女| 欧洲中文字幕| 天天插天天插| 婷婷激情五月| av九九| 亚洲无码久久久久久久| 亚洲导航深夜福利| 国产成人一级av88| 日韩无码视频黄色| 国模无码人体一区二区三| 超碰在线人妻中文字幕| 一级二级在线观看| 激情综合网亚洲| 91欧美综合| 嗯嗯啊啊好爽| 色在线视频导航| 麻豆天美91| 综合网欧美在线| 五月激情天| 丁香五月影院| 久久侵犯人妻爽爽爽| 人妻在线中出视频| 97舔舔| 97超碰无码网| 日本最新免费韩国1区2区视频播放| 亚洲91网。| 色网综合网| 中文字幕国产| 久久久精选| 又大又大又大又粗爽高潮观看 | 天天日天天操VV| 超碰视97中文| 东京热大香焦| 久久久啊啊啊| 97色碰| 亚洲一区中文精品| 超碰国产精品久| 男人的天堂一区三区| 亚洲国产日韩欧美熟妇在线| 色色综合网站| 毛片视频白嫩| 超碰99热中文字幕| 97超色| 久久精品熟妇丰满人妻99| 91亚洲综合| 91丨九色丨国产丨人妻在线 | 色黄色美女大长腿午夜视频| 嫩草影院在线观看精品 | 中文字幕乱码人妻二区三区| 午夜啪啪片| AV九九| 青青草伊人久久| 成人十八禁日韩欧美一二三| yazhououmeizongya| 超碰78| 一级毛片久久久久久久女人18| 欧美黑人精品一区二区| 天天操夜夜操| 久草资源欧美在线视频| 2020中文字幕在线| 日本色色色网站免费看不卡| 欧美偷拍区| 婷婷大香蕉|