久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

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

逆向工程實(shí)戰(zhàn):從字符串引用拆解存檔封裝中的XOR、校驗(yàn)與壓縮

逆向工程實(shí)戰(zhàn):從字符串引用拆解存檔封裝中的XOR、校驗(yàn)與壓縮 1. 從一個(gè)存檔文件說起為什么需要拆解封裝層手里拿到一個(gè)二進(jìn)制存檔文件雙擊打不開用十六進(jìn)制編輯器看是一堆亂碼但文件頭幾個(gè)字節(jié)又隱約有規(guī)律——這種場景在逆向分析、數(shù)據(jù)恢復(fù)、老舊系統(tǒng)遷移里太常見了。標(biāo)題里說的沿字符串引用還原存檔封裝本質(zhì)上就是一條逆向工程的分析路徑你手上只有一堆字節(jié)但通過觀察文件里出現(xiàn)的字符串引用比如某個(gè)字段名、某個(gè)路徑片段、某個(gè)固定標(biāo)記反推出這個(gè)存檔是怎么被封裝的然后一層層剝開XOR混淆、校驗(yàn)和、壓縮這三層外殼最終拿到原始數(shù)據(jù)。這件事能解決什么問題舉個(gè)實(shí)際場景某款老工具生成的工程存檔原程序已經(jīng)找不到了但你需要把里面的配置數(shù)據(jù)導(dǎo)出來遷移到新系統(tǒng)。或者你在做安全分析拿到一個(gè)可疑的二進(jìn)制文件需要判斷它內(nèi)部是否藏了壓縮數(shù)據(jù)。再或者你在做數(shù)據(jù)恢復(fù)一個(gè)損壞的存檔文件需要先搞清楚它的封裝結(jié)構(gòu)才能定位損壞位置。這些場景的共同點(diǎn)是你沒有源碼沒有文檔只有一個(gè)二進(jìn)制文件和你的分析能力。適合誰來參考有一定二進(jìn)制分析基礎(chǔ)、會用十六進(jìn)制編輯器、了解基本壓縮格式zlib、gzip、lz4之類和校驗(yàn)算法CRC32、Adler32、簡單累加和的人。如果你完全沒接觸過二進(jìn)制分析這篇文章也能看懂思路但實(shí)操部分需要你補(bǔ)一些基礎(chǔ)知識。我會盡量把每一步的為什么講清楚而不是只丟一堆命令。整篇文章圍繞一條主線從字符串引用入手識別封裝層次逐層拆解XOR、校驗(yàn)、壓縮最終還原出可讀的原始數(shù)據(jù)。這條主線在逆向分析里是通用方法論不局限于某一個(gè)具體格式。下面我按實(shí)際操作的順序把每個(gè)環(huán)節(jié)拆開講。2. 封裝結(jié)構(gòu)的整體設(shè)計(jì)思路與識別方法2.1 為什么存檔要加這三層先說清楚一個(gè)前提不是所有存檔都會同時(shí)用XOR、校驗(yàn)、壓縮這三層。但一旦你遇到一個(gè)看起來有規(guī)律但讀不懂的文件這三層是最常見的組合。它們的職責(zé)分工很明確。壓縮層解決的是體積問題。原始數(shù)據(jù)可能是JSON、XML、或者結(jié)構(gòu)化的二進(jìn)制記錄直接存體積大用zlib或lz4壓一下能省很多空間。壓縮后的數(shù)據(jù)有個(gè)特征熵值高字節(jié)分布接近隨機(jī)但通常開頭幾個(gè)字節(jié)是固定的魔數(shù)比如zlib的78 9C、78 01、78 DA。校驗(yàn)層解決的是完整性驗(yàn)證。存檔在傳輸或存儲過程中可能損壞加一個(gè)CRC32或Adler32讀取時(shí)先校驗(yàn)再解壓能提前發(fā)現(xiàn)損壞而不是解壓到一半報(bào)錯。校驗(yàn)值通常緊挨著被校驗(yàn)的數(shù)據(jù)存放長度固定CRC32是4字節(jié)Adler32也是4字節(jié)。XOR層解決的是不想讓你直接看懂的問題。它不算真正的加密因?yàn)槊荑€往往很短且固定但足以讓直接打開文件的人看到亂碼。XOR的特點(diǎn)是同一個(gè)密鑰異或兩次就還原所以加密解密是同一個(gè)操作。密鑰可能是一個(gè)字節(jié)、一個(gè)固定字符串、或者一段循環(huán)使用的字節(jié)序列。三層疊加的順序通常是原始數(shù)據(jù) → 壓縮 → 加校驗(yàn) → XOR混淆 → 寫入文件。讀取時(shí)反過來讀文件 → XOR還原 → 校驗(yàn)驗(yàn)證 → 解壓 → 原始數(shù)據(jù)。但實(shí)際順序可能變比如先XOR再壓縮或者校驗(yàn)放在XOR之前。這就是為什么不能想當(dāng)然必須通過分析確認(rèn)。2.2 字符串引用為什么是最好的切入點(diǎn)二進(jìn)制文件里如果全是壓縮或XOR后的數(shù)據(jù)你確實(shí)什么都看不出來。但封裝結(jié)構(gòu)本身往往留有線索——這些線索就是字符串引用。具體來說一個(gè)存檔文件通常包含文件頭標(biāo)識版本、類型、元數(shù)據(jù)區(qū)記錄各個(gè)數(shù)據(jù)塊的位置和長度、數(shù)據(jù)區(qū)實(shí)際內(nèi)容。文件頭和元數(shù)據(jù)區(qū)往往不壓縮也不XOR因?yàn)槌绦蛐枰焖僮x取它們來定位數(shù)據(jù)。這些區(qū)域里就可能出現(xiàn)字符串比如固定的魔數(shù)標(biāo)記如SAVE、ARCH、PK\x03\x04zip的標(biāo)記字段名如version、checksum、offset、length路徑片段如config/、data/、.json、.bin錯誤信息或提示文本用十六進(jìn)制編輯器打開文件切到ASCII視圖掃一眼有沒有可讀字符串。更高效的方法是用strings命令Linux/macOS自帶Windows可以用Sysinternals的strings或者Git Bash里的提取所有長度≥4的可打印字符串然后觀察哪些像是結(jié)構(gòu)標(biāo)記。strings -a -t x savefile.bin | head -50-a表示掃描整個(gè)文件不只是數(shù)據(jù)段-t x表示輸出字符串在文件中的十六進(jìn)制偏移。這樣你能看到每個(gè)字符串出現(xiàn)在文件的什么位置位置信息非常關(guān)鍵——如果某個(gè)字符串出現(xiàn)在文件開頭附近它很可能是文件頭的一部分如果出現(xiàn)在中間可能是某個(gè)數(shù)據(jù)塊的標(biāo)記。2.3 從字符串位置反推結(jié)構(gòu)布局拿到字符串列表和偏移后下一步是推斷結(jié)構(gòu)。假設(shè)你看到這樣的輸出00000000 SAVE 00000010 version 00000020 checksum 00000030 data_offset 00000040 data_length 00000050 ...后面是亂碼這說明文件頭至少到0x50左右包含了版本、校驗(yàn)值、數(shù)據(jù)偏移和長度這些字段。每個(gè)字段后面跟著的實(shí)際值需要你去看十六進(jìn)制。比如version后面4個(gè)字節(jié)可能是01 00 00 00小端序的1checksum后面4個(gè)字節(jié)是校驗(yàn)值data_offset后面4個(gè)字節(jié)是數(shù)據(jù)區(qū)起始位置data_length后面4個(gè)字節(jié)是數(shù)據(jù)區(qū)長度。這里有個(gè)關(guān)鍵技巧字符串本身往往不是數(shù)據(jù)而是標(biāo)簽。程序讀取時(shí)先匹配標(biāo)簽再讀標(biāo)簽后面的值。所以你在十六進(jìn)制里看到的是標(biāo)簽值的交替排列。標(biāo)簽是ASCII值是二進(jìn)制。找到這個(gè)規(guī)律結(jié)構(gòu)就清晰了一半。注意有些格式的字符串是定長字段比如固定16字節(jié)不足補(bǔ)零有些是長度前綴前面1或2字節(jié)表示字符串長度。觀察字符串后面跟的是00還是長度值能判斷是哪種。2.4 判斷是否存在XOR層的三個(gè)信號不是所有文件都有XOR層。怎么判斷看三個(gè)信號。信號一字符串區(qū)域之外的數(shù)據(jù)熵值異常高但又不是壓縮格式。壓縮數(shù)據(jù)的熵值也很高但壓縮數(shù)據(jù)通常有魔數(shù)。如果你看到一段數(shù)據(jù)熵值高、沒有已知壓縮魔數(shù)、而且長度和某個(gè)字段比如data_length對得上那可能是XOR后的數(shù)據(jù)。信號二文件里有兩段相似但不完全相同的數(shù)據(jù)。比如兩個(gè)數(shù)據(jù)塊長度一樣內(nèi)容看起來都是亂碼但逐字節(jié)對比發(fā)現(xiàn)差異很小。這可能是同一份數(shù)據(jù)用不同密鑰XOR或者一份是XOR后的、一份是原始的用于對比分析。信號三已知明文攻擊。如果你知道原始數(shù)據(jù)里應(yīng)該包含某個(gè)固定字符串比如JSON開頭的{或XML開頭的?xml而文件里對應(yīng)位置是亂碼把亂碼和已知明文XOR就能得到密鑰。這是最直接的確認(rèn)方法。舉個(gè)例子假設(shè)data_offset指向的位置文件里是9A 8B 8C 8D而你預(yù)期原始數(shù)據(jù)開頭是7B 22 0A 20{加換行加空格逐字節(jié)XOR9A ^ 7B E1 8B ^ 22 A9 8C ^ 0A 86 8D ^ 20 AD得到密鑰片段E1 A9 86 AD。如果這個(gè)密鑰在文件其他位置重復(fù)出現(xiàn)或者用它對其他數(shù)據(jù)塊XOR后能得到可讀內(nèi)容那XOR層就確認(rèn)了。3. 核心細(xì)節(jié)解析XOR、校驗(yàn)、壓縮的拆解要點(diǎn)3.1 XOR層的密鑰識別與還原實(shí)操XOR還原的核心是找到密鑰。密鑰的形態(tài)有幾種按難度從低到高排列。單字節(jié)密鑰是最簡單的。整個(gè)數(shù)據(jù)區(qū)所有字節(jié)都異或同一個(gè)值。怎么找如果數(shù)據(jù)區(qū)里有一段你已知的明文比如文件末尾可能有固定的結(jié)束標(biāo)記拿密文和明文XOR就能得到密鑰?;蛘哂妙l率分析如果原始數(shù)據(jù)是文本空格0x20出現(xiàn)頻率最高密文里出現(xiàn)頻率最高的字節(jié)異或0x20就是密鑰。固定多字節(jié)密鑰稍復(fù)雜。密鑰是一個(gè)固定長度的字節(jié)序列循環(huán)使用。比如密鑰是KEY1236字節(jié)那么數(shù)據(jù)第1字節(jié)異或K第2字節(jié)異或E第7字節(jié)又異或K以此類推。識別方法是如果數(shù)據(jù)里有兩段相同明文被加密密文的差異會呈現(xiàn)周期性?;蛘哂靡阎魑墓舻玫矫荑€片段后觀察周期。變長密鑰最麻煩密鑰可能根據(jù)位置變化比如密鑰是位置索引的函數(shù)。這種情況通常需要結(jié)合程序邏輯分析純靜態(tài)分析很難。但實(shí)際遇到的存檔格式里變長密鑰很少見因?yàn)閷?shí)現(xiàn)復(fù)雜且沒必要。實(shí)操還原的步驟確定數(shù)據(jù)區(qū)的起始偏移和長度從文件頭字段讀取。提取數(shù)據(jù)區(qū)字節(jié)到單獨(dú)文件。用猜測的密鑰做XOR輸出結(jié)果。檢查結(jié)果是否有已知壓縮魔數(shù)或可讀文本。如果沒有調(diào)整密鑰或密鑰周期重復(fù)。def xor_decrypt(data, key): key可以是bytes或int if isinstance(key, int): return bytes(b ^ key for b in data) else: key_len len(key) return bytes(data[i] ^ key[i % key_len] for i in range(len(data))) # 示例單字節(jié)密鑰0x5A with open(data_section.bin, rb) as f: encrypted f.read() decrypted xor_decrypt(encrypted, 0x5A) with open(decrypted.bin, wb) as f: f.write(decrypted)實(shí)操心得XOR還原后先別急著解壓用xxd或十六進(jìn)制編輯器看一眼開頭。如果看到78 9C、1F 8B、04 22 4D 18這些魔數(shù)說明壓縮層就在里面。如果看到PK那是zip。如果看到可讀文本可能沒有壓縮層直接就是原始數(shù)據(jù)。3.2 校驗(yàn)層的識別與驗(yàn)證方法校驗(yàn)層的識別相對直接因?yàn)樾r?yàn)算法就那么幾種而且校驗(yàn)值長度固定。CRC324字節(jié)多項(xiàng)式0xEDB88320反射或0x04C11DB7非反射。zlib、gzip、zip都用它。特征是校驗(yàn)值通常放在被校驗(yàn)數(shù)據(jù)的后面或前面小端序存儲。Adler324字節(jié)zlib的默認(rèn)校驗(yàn)和CRC32二選一。計(jì)算比CRC32快但碰撞概率稍高。特征是兩個(gè)16位部分低16位是累加和高16位是累加和的累加。簡單累加和1、2或4字節(jié)所有字節(jié)相加取模。老式格式常用。特征是值通常不大且改變一個(gè)字節(jié)對結(jié)果影響是線性的。MD5/SHA116或20字節(jié)用于強(qiáng)校驗(yàn)。特征是長度明顯比CRC長且看起來完全隨機(jī)。驗(yàn)證方法假設(shè)文件頭里有個(gè)checksum字段值是X。你把數(shù)據(jù)區(qū)提取出來用各種算法算一遍看哪個(gè)結(jié)果等于X。如果都不等可能校驗(yàn)范圍不是整個(gè)數(shù)據(jù)區(qū)而是數(shù)據(jù)區(qū)的一部分或者校驗(yàn)前先做了XOR。import zlib import hashlib data open(data_section.bin, rb).read() crc32_val zlib.crc32(data) 0xFFFFFFFF adler32_val zlib.adler32(data) 0xFFFFFFFF md5_val hashlib.md5(data).hexdigest() sha1_val hashlib.sha1(data).hexdigest() print(fCRC32: {crc32_val:08X}) print(fAdler32: {adler32_val:08X}) print(fMD5: {md5_val}) print(fSHA1: {sha1_val})注意校驗(yàn)值的字節(jié)序很關(guān)鍵。CRC32和Adler32在文件里通常是小端序存儲但有些格式用大端序。算出來的值要按兩種字節(jié)序都試一下。另外有些格式的校驗(yàn)值是對XOR之前的數(shù)據(jù)算的有些是對XOR之后的算的。如果直接算不對試試先XOR再算。3.3 壓縮層的格式判斷與解壓壓縮層的判斷主要靠魔數(shù)和試解壓。常見壓縮格式的魔數(shù)格式魔數(shù)十六進(jìn)制說明zlib78 01/78 9C/78 DA最常見78后面的字節(jié)表示壓縮級別gzip1F 8B帶文件頭和CRClz404 22 4D 18幀格式zstd28 B5 2F FD現(xiàn)代格式bzip242 5A 68BZhlzma/xzFD 37 7A 58 5A 00xz格式deflate raw無固定魔數(shù)需要試解壓如果看到78開頭的兩字節(jié)基本可以確定是zlib。zlib的第二個(gè)字節(jié)有規(guī)律01表示最快壓縮9C表示默認(rèn)DA表示最大壓縮。這三個(gè)值覆蓋了絕大多數(shù)情況。解壓實(shí)操import zlib import gzip import lz4.frame import zstandard as zstd data open(decrypted.bin, rb).read() # 試zlib try: result zlib.decompress(data) print(zlib解壓成功長度:, len(result)) except Exception as e: print(zlib失敗:, e) # 試gzip try: result gzip.decompress(data) print(gzip解壓成功長度:, len(result)) except Exception as e: print(gzip失敗:, e) # 試lz4 try: result lz4.frame.decompress(data) print(lz4解壓成功長度:, len(result)) except Exception as e: print(lz4失敗:, e) # 試zstd try: dctx zstd.ZstdDecompressor() result dctx.decompress(data) print(zstd解壓成功長度:, len(result)) except Exception as e: print(zstd失敗:, e)如果所有標(biāo)準(zhǔn)格式都失敗可能是raw deflate沒有zlib頭。用zlib.decompress(data, -15)試-15表示raw deflate。還不行的話可能是自定義壓縮或者數(shù)據(jù)還有一層XOR沒剝干凈。實(shí)操心得解壓失敗時(shí)先檢查數(shù)據(jù)長度。zlib解壓需要完整的流如果數(shù)據(jù)被截?cái)鄷?bào)Error -5不完整。這時(shí)候可以試試zlib.decompressobj()它能解壓部分?jǐn)?shù)據(jù)。另外有些格式在壓縮數(shù)據(jù)前后加了額外字節(jié)比如長度前綴需要先去掉。3.4 三層順序的判斷邏輯三層順序不是固定的但可以通過以下邏輯判斷如果XOR在壓縮之后XOR還原后能看到壓縮魔數(shù)。這是最常見的情況因?yàn)橄葔嚎s再XORXOR的密鑰可以很短甚至單字節(jié)因?yàn)閴嚎s數(shù)據(jù)本身已經(jīng)高熵了。如果XOR在壓縮之前XOR還原后看到的是原始數(shù)據(jù)可讀文本或結(jié)構(gòu)化二進(jìn)制沒有壓縮魔數(shù)。這種情況少見因?yàn)橄萖OR再壓縮壓縮率會下降XOR后的數(shù)據(jù)熵值高壓縮算法效果差。校驗(yàn)的位置校驗(yàn)通常在XOR之前計(jì)算對壓縮后的數(shù)據(jù)算然后校驗(yàn)值和XOR后的數(shù)據(jù)一起存儲。讀取時(shí)先XOR還原再校驗(yàn)再解壓。但也有格式先校驗(yàn)再XOR讀取時(shí)先XOR再校驗(yàn)。判斷方法用兩種順序各試一次看哪個(gè)能通過校驗(yàn)。判斷流程讀文件頭提取data_offset、data_length、checksum。提取數(shù)據(jù)區(qū)。嘗試XOR還原用已知或猜測的密鑰。對還原后的數(shù)據(jù)算校驗(yàn)和checksum對比。如果校驗(yàn)通過嘗試解壓。如果校驗(yàn)不通過嘗試對原始數(shù)據(jù)未XOR算校驗(yàn)。如果還不通過檢查校驗(yàn)范圍是否只是數(shù)據(jù)區(qū)的一部分。4. 完整實(shí)操流程從二進(jìn)制到原始數(shù)據(jù)4.1 環(huán)境準(zhǔn)備與工具清單工欲善其事必先利其器。這套流程需要的工具不多但每個(gè)都要用熟。十六進(jìn)制編輯器010 Editor有模板功能能自動解析結(jié)構(gòu)、HxDWindows免費(fèi)、ImHex開源支持模式語言。我個(gè)人常用010 Editor因?yàn)樗哪0骞δ芸梢詫懩_本自動解析文件頭。命令行工具xxd十六進(jìn)制dump、strings提取字符串、file識別文件類型、binwalk自動識別嵌套格式。binwalk特別有用它能自動掃描文件里的壓縮流和文件系統(tǒng)。Python環(huán)境需要zlib標(biāo)準(zhǔn)庫、gzip標(biāo)準(zhǔn)庫、lz4pip install lz4、zstandardpip install zstandard、crcmod可選用于自定義CRC。調(diào)試工具如果存檔有配套程序用x64dbg或gdb附加到程序上在讀取存檔的函數(shù)下斷點(diǎn)觀察它怎么處理數(shù)據(jù)。這是最直接的方法但需要程序還能運(yùn)行。# 安裝Python依賴 pip install lz4 zstandard crcmod # binwalk基本用法 binwalk savefile.bin # 提取binwalk識別的內(nèi)容 binwalk -e savefile.bin4.2 第一步文件頭解析與字段提取假設(shè)我們已經(jīng)用strings和十六進(jìn)制編輯器確認(rèn)了文件頭結(jié)構(gòu)?,F(xiàn)在寫一個(gè)Python腳本自動提取字段。import struct def parse_header(filepath): with open(filepath, rb) as f: data f.read() # 假設(shè)文件頭結(jié)構(gòu)根據(jù)實(shí)際分析調(diào)整 # 0x00: magic (4 bytes) SAVE # 0x04: version (4 bytes, uint32 LE) # 0x08: checksum (4 bytes, uint32 LE) # 0x0C: data_offset (4 bytes, uint32 LE) # 0x10: data_length (4 bytes, uint32 LE) # 0x14: flags (4 bytes) magic data[0x00:0x04] version struct.unpack(I, data[0x04:0x08])[0] checksum struct.unpack(I, data[0x08:0x0C])[0] data_offset struct.unpack(I, data[0x0C:0x10])[0] data_length struct.unpack(I, data[0x10:0x14])[0] flags struct.unpack(I, data[0x14:0x18])[0] print(fMagic: {magic}) print(fVersion: {version}) print(fChecksum: 0x{checksum:08X}) print(fData offset: 0x{data_offset:X}) print(fData length: {data_length}) print(fFlags: 0x{flags:08X}) # 提取數(shù)據(jù)區(qū) data_section data[data_offset:data_offset data_length] print(fData section extracted: {len(data_section)} bytes) return { magic: magic, version: version, checksum: checksum, data_offset: data_offset, data_length: data_length, flags: flags, data_section: data_section } result parse_header(savefile.bin)注意字段偏移和類型必須根據(jù)實(shí)際分析確定上面的代碼只是示例。實(shí)際分析時(shí)先用十六進(jìn)制編輯器手動確認(rèn)每個(gè)字段的位置和長度再寫腳本。不要一上來就寫腳本容易因?yàn)槠撇洛e而浪費(fèi)時(shí)間。4.3 第二步XOR還原與密鑰確認(rèn)假設(shè)通過已知明文攻擊我們猜測密鑰是單字節(jié)0x5A。寫腳本還原并驗(yàn)證。def try_xor_keys(data_section, candidate_keys): 嘗試多個(gè)候選密鑰輸出看起來最像壓縮數(shù)據(jù)的 results [] for key in candidate_keys: if isinstance(key, int): decrypted bytes(b ^ key for b in data_section) else: decrypted bytes(data_section[i] ^ key[i % len(key)] for i in range(len(data_section))) # 檢查是否有壓縮魔數(shù) magic_score 0 if decrypted[:2] in [b\x78\x01, b\x78\x9C, b\x78\xDA]: magic_score 10 elif decrypted[:2] b\x1F\x8B: magic_score 10 elif decrypted[:4] b\x04\x22\x4D\x18: magic_score 10 # 檢查可打印字符比例 printable sum(1 for b in decrypted[:100] if 32 b 127) printable_ratio printable / min(100, len(decrypted)) results.append({ key: key, magic_score: magic_score, printable_ratio: printable_ratio, decrypted: decrypted }) # 按magic_score和printable_ratio排序 results.sort(keylambda x: (x[magic_score], x[printable_ratio]), reverseTrue) return results # 候選密鑰單字節(jié)0x00-0xFF candidates list(range(256)) results try_xor_keys(result[data_section], candidates) for r in results[:5]: key_repr f0x{r[key]:02X} if isinstance(r[key], int) else r[key] print(fKey: {key_repr}, Magic score: {r[magic_score]}, Printable: {r[printable_ratio]:.2f}) print(f First 16 bytes: {r[decrypted][:16].hex()})如果單字節(jié)密鑰都不對試試多字節(jié)。多字節(jié)密鑰的候選可以來自文件里其他位置的字符串、程序二進(jìn)制里的常量、常見弱密鑰如12345678、password。4.4 第三步校驗(yàn)驗(yàn)證與數(shù)據(jù)完整性確認(rèn)XOR還原后用還原后的數(shù)據(jù)算校驗(yàn)和文件頭里的checksum對比。import zlib def verify_checksum(data, expected_checksum, algorithmcrc32): if algorithm crc32: calculated zlib.crc32(data) 0xFFFFFFFF elif algorithm adler32: calculated zlib.adler32(data) 0xFFFFFFFF else: raise ValueError(fUnknown algorithm: {algorithm}) # 嘗試兩種字節(jié)序 expected_le expected_checksum expected_be struct.unpack(I, struct.pack(I, expected_checksum))[0] match_le (calculated expected_le) match_be (calculated expected_be) print(fCalculated: 0x{calculated:08X}) print(fExpected (LE): 0x{expected_le:08X}, match: {match_le}) print(fExpected (BE): 0x{expected_be:08X}, match: {match_be}) return match_le or match_be # 用XOR還原后的數(shù)據(jù)驗(yàn)證 best_result results[0] decrypted_data best_result[decrypted] verify_checksum(decrypted_data, result[checksum], crc32)如果校驗(yàn)通過說明XOR密鑰正確數(shù)據(jù)完整。如果不通過可能密鑰不對、校驗(yàn)算法不對、校驗(yàn)范圍不對可能只校驗(yàn)數(shù)據(jù)區(qū)的一部分、或者校驗(yàn)是在XOR之前算的那就用原始數(shù)據(jù)區(qū)算。實(shí)操心得校驗(yàn)不通過時(shí)先別急著換密鑰。試試用原始數(shù)據(jù)未XOR算校驗(yàn)如果通過了說明校驗(yàn)是在XOR之前算的XOR層在校驗(yàn)層之后。這個(gè)順序判斷能省很多時(shí)間。4.5 第四步解壓與原始數(shù)據(jù)導(dǎo)出校驗(yàn)通過后解壓就是標(biāo)準(zhǔn)操作了。import zlib def decompress_data(data): # 先試zlib try: result zlib.decompress(data) print(fzlib解壓成功原始長度: {len(result)}) return result, zlib except zlib.error as e: print(fzlib失敗: {e}) # 試raw deflate try: result zlib.decompress(data, -15) print(fraw deflate解壓成功原始長度: {len(result)}) return result, deflate except zlib.error as e: print(fraw deflate失敗: {e}) # 試gzip import gzip try: result gzip.decompress(data) print(fgzip解壓成功原始長度: {len(result)}) return result, gzip except Exception as e: print(fgzip失敗: {e}) return None, None original_data, format_used decompress_data(decrypted_data) if original_data: with open(original_data.bin, wb) as f: f.write(original_data) print(f原始數(shù)據(jù)已導(dǎo)出格式: {format_used}) # 如果是文本打印前500字符 try: text original_data.decode(utf-8) print(前500字符:) print(text[:500]) except UnicodeDecodeError: print(二進(jìn)制數(shù)據(jù)前64字節(jié):) print(original_data[:64].hex())4.6 第五步結(jié)果驗(yàn)證與迭代導(dǎo)出原始數(shù)據(jù)后驗(yàn)證是否合理如果是JSON/XML用解析器試解析。如果是結(jié)構(gòu)化二進(jìn)制檢查字段是否符合預(yù)期。如果是圖片/音頻用對應(yīng)查看器打開。如果還是亂碼可能還有一層沒剝比如原始數(shù)據(jù)本身也XOR了或者壓縮格式是自定義的。迭代方向換XOR密鑰如果校驗(yàn)沒通過。換校驗(yàn)算法CRC32換Adler32或換自定義多項(xiàng)式。換壓縮格式試lz4、zstd、bzip2。檢查是否有長度前綴或后綴需要去掉。檢查數(shù)據(jù)區(qū)是否被分成了多個(gè)塊每塊單獨(dú)處理。5. 常見問題與排查技巧實(shí)錄5.1 問題速查表現(xiàn)象可能原因排查方法找不到可讀字符串文件整體被XOR或壓縮用binwalk掃描試常見XOR密鑰字符串位置不連續(xù)結(jié)構(gòu)中有變長字段或?qū)R填充檢查字符串間的字節(jié)可能是長度或偏移XOR還原后無壓縮魔數(shù)XOR密鑰不對或壓縮格式無魔數(shù)試更多密鑰試raw deflate校驗(yàn)總是不通過算法不對、字節(jié)序不對、范圍不對試CRC32/Adler32試大小端試部分范圍解壓報(bào)不完整數(shù)據(jù)被截?cái)嗷蛴卸嘤嘧止?jié)用decompressobj檢查長度字段解壓后還是亂碼還有一層XOR或自定義編碼檢查解壓后數(shù)據(jù)的熵值和字符串多個(gè)數(shù)據(jù)塊長度不一致每塊獨(dú)立壓縮或XOR分別處理每塊檢查塊頭文件頭字段值明顯不合理字段偏移猜錯或類型不對手動在十六進(jìn)制編輯器里核對5.2 獨(dú)家避坑技巧技巧一先靜態(tài)后動態(tài)別急著上調(diào)試器。很多人一上來就開調(diào)試器附加程序結(jié)果在幾千個(gè)函數(shù)里迷路。先用strings和十六進(jìn)制編輯器做靜態(tài)分析把結(jié)構(gòu)猜個(gè)大概再用調(diào)試器驗(yàn)證。靜態(tài)分析能告訴你是什么動態(tài)分析能告訴你怎么用。技巧二保存每一步的中間結(jié)果。XOR還原后的數(shù)據(jù)、解壓后的數(shù)據(jù)都存成單獨(dú)文件。這樣如果后面步驟出錯不用從頭再來。而且中間結(jié)果本身可能包含線索比如XOR還原后的數(shù)據(jù)里可能有新的字符串。技巧三注意字節(jié)對齊。很多格式的字段是4字節(jié)或8字節(jié)對齊的。如果你發(fā)現(xiàn)字段偏移總是差1-2字節(jié)可能是對齊填充。檢查字符串后面是否有00填充到4字節(jié)邊界。技巧四校驗(yàn)值可能是對部分?jǐn)?shù)據(jù)算的。有些格式只校驗(yàn)數(shù)據(jù)區(qū)的前N字節(jié)或者跳過某些字段。如果全量校驗(yàn)不通過試試排除文件頭、排除末尾的填充、或者只校驗(yàn)數(shù)據(jù)區(qū)的前半部分。技巧五XOR密鑰可能是文件里某個(gè)字段的值。比如文件頭里有個(gè)seed字段XOR密鑰就是seed的某種變換取反、加1、循環(huán)移位。檢查文件頭里所有看起來像隨機(jī)數(shù)的字段它們可能是密鑰來源。技巧六壓縮數(shù)據(jù)可能有多層。有些格式先zlib壓縮再整體XORXOR還原后是zlib解壓后又是另一層zlib。用binwalk能自動識別嵌套或者手動解壓后檢查結(jié)果是否還有壓縮魔數(shù)。技巧七別忽略文件末尾。有些格式在文件末尾追加了額外數(shù)據(jù)比如簽名、填充、第二個(gè)數(shù)據(jù)塊。文件頭里的data_length可能只覆蓋第一個(gè)塊末尾還有東西。用十六進(jìn)制編輯器跳到文件末尾看看。技巧八用已知樣本對比。如果你能生成一個(gè)已知內(nèi)容的存檔用原程序保存一個(gè)簡單配置然后和未知存檔對比差異部分就是數(shù)據(jù)區(qū)相同部分就是文件頭和固定結(jié)構(gòu)。這是最快的方法但前提是原程序還能用。5.3 一個(gè)完整的排查案例假設(shè)你拿到一個(gè)存檔strings輸出如下00000000 SAVE 00000010 v1.0 00000020 crc32 00000030 offset 00000040 size 00000050 ...亂碼開始十六進(jìn)制查看0x50之后的數(shù)據(jù)發(fā)現(xiàn)熵值很高。文件頭里offset字段值是0x00000050size字段值是0x00001000。crc32字段值是0x12345678。第一步提取0x50到0x1050的數(shù)據(jù)區(qū)。第二步試單字節(jié)XOR。用0x00到0xFF逐個(gè)試檢查還原后是否有78 9C。假設(shè)試到0x5A時(shí)還原后開頭是78 9C。第三步用0x5A還原整個(gè)數(shù)據(jù)區(qū)算CRC32。假設(shè)算出來是0x87654321和文件頭里的0x12345678不等。試大端序還是不等。試Adler32不等。第四步懷疑校驗(yàn)是在XOR之前算的。用原始數(shù)據(jù)區(qū)算CRC32得到0x12345678匹配說明校驗(yàn)層在XOR層之前。第五步用0x5A還原數(shù)據(jù)區(qū)然后zlib解壓。解壓成功得到JSON文本。第六步驗(yàn)證JSON格式正確字段符合預(yù)期。完成。這個(gè)案例的關(guān)鍵點(diǎn)是第四步——校驗(yàn)順序的判斷。如果沒想到這一點(diǎn)可能會在密鑰上反復(fù)試?yán)速M(fèi)大量時(shí)間。6. 工具選型與自動化腳本6.1 工具對比與選擇建議工具適用場景優(yōu)點(diǎn)缺點(diǎn)010 Editor手動分析結(jié)構(gòu)模板功能強(qiáng)可視化好收費(fèi)HxD快速查看免費(fèi)輕量功能少ImHex開源分析模式語言靈活插件多學(xué)習(xí)曲線陡binwalk自動掃描識別嵌套格式快誤報(bào)多x64dbg動態(tài)調(diào)試能看程序?qū)嶋H行為需要程序可運(yùn)行Python腳本批量處理靈活可自動化需要編程基礎(chǔ)我的建議手動分析用010 Editor或ImHex自動掃描用binwalk批量處理用Python。動態(tài)調(diào)試作為最后手段因?yàn)楹芏嗬铣绦蛞呀?jīng)跑不起來了。6.2 自動化腳本框架把前面的步驟整合成一個(gè)腳本輸入文件路徑輸出原始數(shù)據(jù)。#!/usr/bin/env python3 存檔封裝拆解工具 自動嘗試XOR、校驗(yàn)、壓縮的常見組合 import struct import zlib import gzip import sys import os class SaveFileUnpacker: def __init__(self, filepath): self.filepath filepath with open(filepath, rb) as f: self.raw f.read() self.header {} self.data_section None self.decrypted None self.original None def parse_header(self, magic_offset0, fieldsNone): 根據(jù)提供的字段定義解析文件頭 if fields is None: # 默認(rèn)字段定義需根據(jù)實(shí)際調(diào)整 fields [ (magic, 0x00, 4, bytes), (version, 0x04, 4, uint32), (checksum, 0x08, 4, uint32), (data_offset, 0x0C, 4, uint32), (data_length, 0x10, 4, uint32), ] for name, offset, size, ftype in fields: raw self.raw[offset:offsetsize] if ftype bytes: value raw elif ftype uint32: value struct.unpack(I, raw)[0] elif ftype uint16: value struct.unpack(H, raw)[0] else: value raw self.header[name] value # 提取數(shù)據(jù)區(qū) offset self.header.get(data_offset, 0) length self.header.get(data_length, len(self.raw) - offset) self.data_section self.raw[offset:offsetlength] return self.header def try_xor(self, keysNone): 嘗試XOR密鑰 if keys is None: keys list(range(256)) best None best_score -1 for key in keys: if isinstance(key, int): decrypted bytes(b ^ key for b in self.data_section) else: decrypted bytes(self.data_section[i] ^ key[i % len(key)] for i in range(len(self.data_section))) score self._score_data(decrypted) if score best_score: best_score score best (key, decrypted) if best: self.decrypted best[1] return best[0], best_score return None, -1 def _score_data(self, data): 給數(shù)據(jù)打分壓縮魔數(shù)可打印字符比例 score 0 if len(data) 2: if data[:2] in [b\x78\x01, b\x78\x9C, b\x78\xDA]: score 100 elif data[:2] b\x1F\x8B: score 100 if len(data) 4: if data[:4] b\x04\x22\x4D\x18: score 100 elif data[:4] b\x28\xB5\x2F\xFD: score 100 # 可打印字符比例 sample data[:200] printable sum(1 for b in sample if 32 b 127) score (printable / len(sample)) * 50 return score def verify_checksum(self, data, expected, algorithmcrc32): 驗(yàn)證校驗(yàn)和 if algorithm crc32: calculated zlib.crc32(data) 0xFFFFFFFF elif algorithm adler32: calculated zlib.adler32(data) 0xFFFFFFFF else: return False # 嘗試兩種字節(jié)序 expected_le expected expected_be struct.unpack(I, struct.pack(I, expected))[0] return calculated expected_le or calculated expected_be def decompress(self, data): 嘗試多種解壓格式 # zlib try: return zlib.decompress(data), zlib except: pass # raw deflate try: return zlib.decompress(data, -15), deflate except: pass # gzip try: return gzip.decompress(data), gzip except: pass # lz4 try: import lz4.frame return lz4.frame.decompress(data), lz4 except: pass # zstd try: import zstandard as zstd dctx zstd.ZstdDecompressor() return dctx.decompress(data), zstd except: pass return None, None def run(self): 完整流程 print(f處理文件: {self.filepath}) print(f文件大小: {len(self.raw)} bytes) # 1. 解析文件頭 print(\n[1] 解析文件頭...) self.parse_header() for k, v in self.header.items(): if isinstance(v, bytes): print(f {k}: {v}) elif isinstance(v, int): print(f {k}: 0x{v:X} ({v})) # 2. 嘗試XOR print(\n[2] 嘗試XOR還原...) key, score self.try_xor() if key is not None: key_repr f0x{key:02X} if isinstance(key, int) else key print(f 最佳密鑰: {key_repr}, 得分: {score:.2f}) print(f 還原后前16字節(jié): {self.decrypted[:16].hex()}) else: print( 未找到合適的XOR密鑰) self.decrypted self.data_section # 3. 驗(yàn)證校驗(yàn) print(\n[3] 驗(yàn)證校驗(yàn)和...) expected self.header.get(checksum, 0) for algo in [crc32, adler32]: for data_name, data in [(XOR后, self.decrypted), (原始, self.data_section)]: if self.verify_checksum(data, expected, algo): print(f 校驗(yàn)通過: {algo} on {data_name}數(shù)據(jù)) break # 4. 解壓 print(\n[4] 嘗試解壓...) original, fmt self.decompress(self.decrypted) if original: self.original original print(f 解壓成功: {fmt}, 原始長度: {len(original)}) # 導(dǎo)出 output_path self.filepath .unpacked with open(output_path, wb) as f: f.write(original) print(f 已導(dǎo)出到: {output_path}) # 嘗試顯示文本 try: text original.decode(utf-8) print(f 前200字符:\n{text[:200]}) except: print(f 前32字節(jié): {original[:32].hex()}) else: print( 解壓失敗可能還有未識別的層) # 導(dǎo)出XOR還原后的數(shù)據(jù)供手動分析 output_path self.filepath .decrypted with open(output_path, wb) as f: f.write(self.decrypted) print(f 已導(dǎo)出XOR還原數(shù)據(jù)到: {output_path}) if __name__ __main__: if len(sys.argv) 2: print(用法: python unpacker.py savefile) sys.exit(1) unpacker SaveFileUnpacker(sys.argv[1]) unpacker.run()這個(gè)腳本是一個(gè)框架實(shí)際使用時(shí)需要根據(jù)具體格式調(diào)整parse_header里的字段定義。它的價(jià)值在于把試錯過程自動化了——自動試256個(gè)單字節(jié)XOR密鑰、自動試多種校驗(yàn)算法、自動試多種解壓格式。你只需要提供文件頭結(jié)構(gòu)剩下的交給腳本。實(shí)操心得腳本跑完后如果解壓失敗別急著改腳本。先看導(dǎo)出的.decrypted文件用十六進(jìn)制編輯器手動檢查。有時(shí)候腳本的評分函數(shù)沒選對最佳密鑰但手動看能發(fā)現(xiàn)線索。自動化是輔助最終判斷還是要靠人。7. 影響范圍與擴(kuò)展思考這套拆解方法不只適用于存檔文件。任何二進(jìn)制封裝的場景都能用網(wǎng)絡(luò)協(xié)議的數(shù)據(jù)包、嵌入式設(shè)備的固件、游戲資源包、數(shù)據(jù)庫的導(dǎo)出文件。核心思路是一樣的——找字符串引用、識別封裝層、逐層剝離。從影響范圍看掌握這套方法意味著你能處理一類問題而不是一個(gè)具體問題。今天拆的是存檔明天遇到一個(gè)未知格式的配置文件同樣的流程走一遍strings看線索、十六進(jìn)制看結(jié)構(gòu)、試XOR、試校驗(yàn)、試解壓。大部分格式都逃不出這幾層。擴(kuò)展方向有幾個(gè)。一是自動化程度可以更高比如用符號執(zhí)行或模糊測試自動推斷字段邊界。二是支持更多壓縮格式比如brotli、lzo、snappy。三是結(jié)合動態(tài)分析如果程序能運(yùn)行用調(diào)試器直接看它怎么讀文件比靜態(tài)猜快得多。四是處理加密而非XOR如果遇到AES或RSA就需要密鑰提取或側(cè)信道分析那是另一個(gè)領(lǐng)域了。我個(gè)人在實(shí)際操作中的體會是耐心比技術(shù)更重要。很多時(shí)候不是不會而是試了幾次沒成功就放棄了。XOR密鑰有256種可能校驗(yàn)算法有幾十種壓縮格式有十幾種組合起來確實(shí)多。但通過字符串引用和結(jié)構(gòu)分析能把可能性縮小到幾個(gè)剩下的就是逐個(gè)驗(yàn)證。每次成功拆開一個(gè)格式那種原來如此的感覺就是做這行的樂趣所在。最后分享一個(gè)小技巧建一個(gè)自己的格式庫。每次拆開一個(gè)新格式把文件頭結(jié)構(gòu)、XOR密鑰規(guī)律、校驗(yàn)算法、壓縮格式記下來。下次遇到類似的直接查庫能省大量時(shí)間。我自己的庫里已經(jīng)存了幾十種格式很多是同一個(gè)軟件的不同版本結(jié)構(gòu)大同小異。這個(gè)習(xí)慣讓我處理新格式的速度越來越快。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国产精品交换一区二区| 大奶啊啊好爽 | 日本人妻中文字幕精品| 久久婷婷苹果| 69丨亚洲丨精品丨入口免费播放| 久久黄黄| 激情五月天社区| 26uuu最新| 超碰97在线色男人??| 小草精彩毛片| 丁香六月综合激情| 婷婷色影院| 1769国内精品视频| 色欲天天综合久久久无码网中文| 97超碰碰| 九九九九九精品视频| 97国产天堂岛| 精品制服美女中文一区二区三区| 九九九九九九成人| 欧美国产视频| 九九九久| 激情文学小说一区二区| 五月开心久久AV官网| 口爆综合网| 午夜黄色免费在线观看| 97精品熟女少妇一区| 天美传媒婬乱在| 综合大香蕉美。| 亚洲天堂自拍| 色综合超碰超| 中国熟女91| 天天α片| 和协影院中文字幕三区| 97欧美综合网| 国产剧情在线| 在线综合网| 91九九| 国产日韩怡红院| 99最新日韩偷拍视频| 东京热精品97综合网| 清纯唯美激情四射| 精品视频专区| 啊啊啊操死我了| 肉丝中文无码高清| 97久久久网站| 国产精品久久蜜乳av| 欧美92| 伦理第一页| 天天做天天爱| 色欲无码人妻日韩欧美精品| 干日本人少妇午夜寂寞影院| 亚洲综合春色| 麻豆精品天美| 日韩欧美~中文字| 超碰久超碰久| 国产91影院| 啪啪视频亚洲第一| 亚洲色欲天天人妻无码系列专区| 亚洲激情网一二三四区| 欧美综合第一| 一区二区不卡免费| 91麻豆天美传媒在线| 中文字幕乱亚洲美女精品一区| 中文字幕熟女人妻丝袜| 1769国内精品视频| 亚洲国产一区二区三区四区国产| 97色在线观看| 国产精品在线一区二区| 九九九九九九九九九国产精品 | 99日韩| 97WW精品| 亚洲精品蜜桃久久久| 97爱综合| 国产精品久久伊人| 国产精品 亚洲情色| 情色五月天久久久| 久久精品熟女亚洲AV麻豆软件| 夜夜操美女| 欧美成人一区二区三区在线播放| 蜜臀AV一区二区三区激情综合| 欧美 传媒 麻豆 日韩 偷拍| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 精品白丝一区| 麻豆国产97在线| 亚洲成熟国产精品美女| 麻豆区99999| 香蕉大久久久| 国产野战露脸在线播放| 亚洲性综合9| 丁香婷婷激情五月天无毒不卡| 白嫩妹子国产骚| 国产家庭乱伦表演| 婷婷色网| 91操熟妇| 全球成人中文在线| 影音资源男人日韩| 99久久久久久久久| 亚州高清色综合| 麻豆天美91| 插欧洲美女欧美精品| 久艹伊人精品综合在线| 国产亚洲欧美每日在线| 96AV精品| 九九热九九| 性一交一乱一交A片久久四色| 你草精品在线视频| 久久专区| 密桃99999| 久久久久久九九九九九九| 国产福利一区二| 久久伊人五月天| 欧洲亚洲人人爽爽视频| 操逼逼中文字幕| 九九英色视频| 天天看夜夜看日日干| 超碰在线成人| 97在线播放| 欧美日韩操逼嗦吊| 男人的天堂久久| 国产大学生高潮在线播放| 国产一区二区三区,在线观看观看| 麻豆亚洲AV成人无码久久精品| 五月丁香啪啪| 精品九九九| 国产一区二区三区中文字幕| 精品九九九九九| 久/久精品99看9| 欧美综合色图片| 97久久视频| 九t超碰| 99啪啪| 综合亚洲网| 国内毛片无码一级毛片| 国产精品网址| 18一区二区三区| 男女啪啪网站免费视频| 加勒比综合九九99视频在线播放| 草草影院日本第一页| 性性久久| 任你草| 久久久久亚洲熟妇熟女| 嗯嗯啊啊好疼| 99热免费| 啪啪免费| 国产视频第二页| 久热69九色熟妇97| 在线播放一级无码视频| 日韩黄色小说| 日韩一级二级| 日韩av不卡在线看| 东京热毛片177b2viP| 人妻天天爽夜夜爽爽| 黄色片A级一区二区三区| 九九九久久久久| 欧美专区日本专区| 啪啪综合网| 1204金沙人妻懂旧版免费| 强奸乱伦中文字幕AV| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 久久首页| 国产嫩草精品A88AV| 国产成人亚洲精品自产在线| 久久亚洲欧美中文字幕国语 | 女人高潮抽搐喷水视频网站| 综合夜夜| 国产精品操| 久久少妇人妻| 96AV久久久| 中文字幕aⅴ在线视频| 欧美资源| 密臀成人视频久久久| 久久a久久| 桃花色涩综合影院| 亚洲一区二区三区播放在线| 成人精品在线免费视频| 五月天伊人网| 丰满少妇精品一区二区| 超碰性爱97| 黄色av片三级三级三级免费看| 国产91 丝袜在线播放00-百度| 欧美影音在线| 嗯嗯嗯嗯啊啊啊好紧好大| 黄在线| 97操| 凌辱美少妇久久aV| 日韩干B| 涩涩久久精品| 69精品人人人人| www.夜夜操| 国产美女mm131爽爽爽爽| 无码一区免费在线不卡| 欧美高清第一页| 亚洲中文字幕av| 粉嫩久久久久| 天操老女人| 欧洲射精91| 国产又粗又又黄又猛| 国产又爽又黄| 欧美精品1区2区3区| 国产精品黑人一区二区三区| 国产精品久久久三级无码| 精品国产Av无码久久久亚洲| 一区二区乱码福利| 天天综合网网欲色| 亚洲欧美色图小说| 国产操逼视频在线观看| 国产最火爆久久国产网站网站| 在线不欧美| 91色花堂| 亚洲欧美综合区自拍另类| 91丝袜在线观看| 超碰在线一区| 中国操逼无码| 欧美日韩精品一区二区三区高清| 成年女人黄网站| 四虎影视永久在线免费| 国产精品一二三在线看| 乱伦AVxx| 涩五月婷婷| 91超级碰| 嗯啊啊啊轻点视频 | 老女人碰碰在线碰碰视频| 97露脸精品丝袜| 97精品视频免费| 欧美91在线+|+欧美| 国产传媒一区日韩| 老熟妇一区二区三区| 欧美色道啊| 人人妻人人色一区二区三区| 妇女一区二区三区| 国产操逼网站亚洲一级黄色| 中国一区二区亚洲人妻| 男人天堂久久精品不卡| 少妇贴图| 日韩一区二区精彩视频| 一区二区三区精品久久| www.狠狠操| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 国产九九久久久精品| 欧美国产视频| 97伊人超碰| 青娱乐休闲视频在线观看| 五月天久久综合网| 久久久久久久人妻| 日韩天天本| 99re99在线视频| 综合伊人激情| 亚洲图片欧美在线视频| 欧美亚洲日韩16色| 亚洲风情在线观看| 日本亚洲熟女视频| wwe 天天干.com| 亚洲AV色图一区| 久久精品国产Aⅴ| 成人无码影片视频在线| 高清不卡国产| 亚州精品人妻一二三区| 欧美性爱精品七区| 色一情一乱一乱一区91Av| 91色噜噜狠狠| 日本潮催一卡操| 激情五月天色色网| 一区二区三区成人| 国产成人 综合亚洲 天堂| 九九香蕉网| 999综合色| 狠狠狠狠狠干| 久久久九九| 久久精品国产亚洲妲己影视| 女一区二区| 亚洲97资源| 日本操色导航| 亚洲欧洲精品成人| 欧美黄片免费在线观看视频| xxx亚洲午夜天堂| 97中文综合| 精品一区二区综合熟妇| 久久综合女优| 一级特级aaaa毛片免费观看 | 国产婷婷综合在线观看| 啪啪视频mP4| 上床啊啊啊| av无码av无码专区| 日本啊啊啊啊啊视频| 亚洲丝袜二区在线| 韩国一区二区精品亚洲| 亚洲三级。日韩三级| 亚洲av国产av综合av卡| 丝袜制服字幕在线| 久操免费在线| 按摩中文字幕| 97干在线| 亚洲色图激情小说| 国产深喉视频一区二区| 又摸又舔在线观看网站| TS人妖另类精品视频系列| 亚洲国产无码精品首页久久久| 亚洲综合九| 日本αv| 岛国AV一区二区电影| 极品色综合| 999国产精品999| 97爱碰| 91精品亚洲内射孕妇| 亚洲一二三精品久久网 | 久久精品国产免费观看99| 国产熟妇一区二区| 天天躁日日躁成人字幕aⅴ| 亚洲成a人在线观看久| 久草网站免费在线观看| 欧美做爰无码A片视频| 天天看综合网| #NAME?| 超碰美女97| 亚洲一本大道中文字幕无码在线| 五月综合视频| 公司1区2区3区精产精| 日本成人在线不卡一区二区三区| 啪啪综合网| 国产精品久久久久久9999| 91一区二区三区蜜桃| 欧洲熟妇xxXx欧美老妇裸体 | 亚洲成aⅴ人片不卡无码| 久久草在线综合视频| 久久一留热品黄| 久久欧美激情| 激情第四色| 男人久久天堂| 欧美一二在线| 日韩av不卡在线看| 97精品国产精品免费观看| 国产人妖视频一区在线观看| 久久一二三四五六七八九区| 偷拍欧美综合| 国产兽交视频在线播放| 人妻一区二区三区| 超碰国产精品久| 国产熟码AV| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 国产超碰人人操| 在线观看啊啊啊啊啊| 欧美一级三级| 天天色天天干天天射| 欧美久久人体| 91女网站| 97色五月天完| 99热网站| 国产精品自在线发布| 18精品一二区| 欧美日韩少妇色情| 免费久久精品麻豆一区二区av| 男人的天堂 在线一区| 亚洲综合情色| 天天欧美色| 日本国产高清色www视频在线| 久久精品国产97欧美精品亚洲| 亚洲AV资源| 伊人99热| 色欲天天综合网| 可以免费观看的日韩av毛片| 欧美日韩大香蕉| 青青草原成人| 久久久无码精品人妻二区| 成人熟女区| 啊啊啊啊嗯嗯嗯用力好爽 | 婷婷干黄色| 男人的天堂VA| 东京热AV男人的天堂| 青青伊人这里只有精品| 亚洲无限观看| 欧美啪啪天堂| 亚洲风情在线观看| 啊啊啊啊网站| 翔田千里无码一区| 天天影视色香欲综合网小说| 欧美999| 老鸭窝成人免费毛片视频| 深夜激情| 91老熟妇| av资源在线观看少妇| 一区二区影院| 久热久| 国产少妇与亚洲av| 四虎视频在线观看| 天天肏夜夜肏| 久久无码一区二区二三区性色| 91色色网站| 亚洲一区二区三区在线激情| av天堂天堂av日韩| 婷婷在线精品| 青青草伊人久久| 天堂在线一区二区| 国产97在线播放| 亚洲欧美不卡线| 亚洲阿v天堂无码z2018| 日韩无码专区| 亚洲精品蜜桃久久久久久久| 啊啊啊 在线| 国产夫妻性生活视频| 91国模| 青椒国产97在线熟女| 国产熟女免费观看久久| 五月天偷拍| 欧美Ⅴ性爱| 青青国产在线拍揄自揄拍| 日产123区精品免费观看| 蜜臀久久99'精品久久久| 在线视频 亚洲精品| 亚洲九月丁香| 亚州 综合 色图| www欧美91| 强奸乱伦日韩AV| 学生妹天天看| 午夜无码精品免费看性色| 91天天日| 日韩中文字幕精品一区在线| 蜜伊人色综合97| 久久久久久人体| 欧美性爱1080p| 艳尻美人妻| 久久五月天婷婷丁香中文字幕| 91嫩草欧美| 欧美激情性久久久久久| 天天天天做夜夜夜夜做| 久久五十路熟女人妻| AV色图| 91逼逼女人91| 国产精品乱码久久久久久久久| 黄片无码在线制服| 国产97免费视频| 91粉芽高清在线一区二区| 97人人夜| 97久久久精品| 五月色网| 东京热视频网| 欧亚 另类 久| 中文字日本乱码| 欧美黄色大片在线观看| 揉揉揉夜夜| 亚洲情色91| 国产美女裸体秘 永久无遮挡| 99色在线| 偷拍亚洲高清图片| 日本激情免费大片| 综合五月天| 久久綜合很很很| 婷婷五月天影院| 国产1024在线播放| 男人天堂无码| 欧美视频激情久久久久久| 精品在线观看视频在线| 男女猛烈无遮掩视频免费软件| 91欧美丨精品丨入口| 丁香激情网| 亚洲久热| 丁香激情五月天| 欧美疯狂做爰xxxx| 国产精品久久久久久久电影渣男| 亚洲精品97久久| 成人性交免费视屏| 色五月69夫妻| 97综合在线观看| 97色五月天完| 亚洲另类在线观看| 热99这里只有精品| 色婷婷亚洲婷婷| 日韩激情啪啪| 伊人久久艹| 日韩国产乱子伦App| 国产女人高潮嗷嗷嗷叫小说 | 亚洲密乳AV| 国产精品高潮久久久无码| 国产精品夜夜夜| 久久久噜噜噜久久人妻| 超碰久久综合| A片三级无码| 一级aaaaa欧美中文字幕录像片| 秋霞色色影院| 91搞逼视频| 自拍偷拍 日韩欧美| 97天天| 麻豆成人AV| 3PAV乱伦视频| 妺妺跟我一起洗澡没忍住| 五月婷婷激情综合| 人妻天天爽夜夜爽精品2| 三级网站超变态精品| 在线播放欧洲免费av| jazzjazz国产精品麻豆| 色五月激情AV在线| 九九九九日本 | 熟女熟妇伦久久影院毛片一区二区| 欧美色图私拍91| 欧美国产成人在线| 一区二区三区看视频| 被男人吃奶很爽的毛片| 欧美综合区| 另类图片五月| 日韩电影免费网站麻豆视频| 激情天天视频| 91色艳| 久久久久久久久久黄色网| 男人天堂网手机版婷婷| 强奸乱伦亚洲第一页| 夜夜嗨一区二区| 精品妇操一区二区三区| 内射老妇BBWX0C0CK| 九九久久精品| 熟女露脸激情自拍视频| 不卡中文字幕aⅴ在线| 午夜免费视频1000| 国产深夜福利| 女优视频第10页| 呻吟 欧美 日本 中出| 国产无码高清操逼视频| 手机av亚洲丝袜美腿日韩第一页二页| 国产三级资源在线观看| 中文字幕乱碼在线| 精品亚洲成人免费在线| 人妻 制服 日韩 中文 在线| 无码精品久久| 粉嫩小泬久久久一区二区| 日韩精品在线放| 欧美在线视频播放| 日日操丁香五月天| 亚洲男人天堂视频| 精品一区二区三区蜜桃臀赵总| 久久黄片国产一区二区| 日韩精品9999| 中文字幕 码精品视频网站| 夜夜夜爽www精品视频| 六月婷婷综合| 蜜乳AV免费观看| 国精综合一二三区影视| 六月婷婷激情| 高潮毛片无遮挡高清免费| 日本欧美m v精品网站加| 免费的黄片wwwwww| 国产精品麻豆成人av| 91艹| 第45页一区二区| 717影院理论午夜伦八戒| 84YTCOM性无码| 激情文学小说一区二区 | 97人人中文网| 久久久草成人网站久久久草成人久久久草久久久 | 在线观看AV片| 蜜臀99久久精品久久久久| 亚洲人码13| 婷婷五月成人| 亚洲国产综合图区中文字幕 | 人妻久热在线| 热久久国产| 欧美制服网站美腿丝袜| 日韩激情毛片一级久久久| 2019亚洲男人天堂| 人人搡人人肉久久精品| 大香蕉伊利av| 日本大片日本一区二区免费高清| 欧美一区二区三区四区综合| 精品午夜福利| 精品国产乱码久久久久久久久久毛片| 久久久久78| 干B| 人妻天天爽夜夜爽爽| 狠狠干综合| 亚洲精品第一| 强奸a片网| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 9999久久久久| 一二三四视频在线社区中文字幕| 亚洲成人妻日韩在线| 91骚妇| 夜夜騷av、一區二區| 久久精品免费| 一区二区蜜臀| 日本孕妇孕交| 学生妹天天看| 日比av无码| 久久久久久久久9| 精品国产乱码久久久| 视频在线97| 人人妻人人澡人人爽久久av| 少妇熟女一区二区三区| 999久久久国产精品| 欧美性爽xyxOOOO| 国产真实子伦对白| 老外又粗又长一晚做五次| 91精品久久久久久| 伊人影院日本| 欧美的性爱网站免费| 秋霞久久亚洲精品成人| 爱我干综合| 殴美牲| 日日AV加勒比| 日本幼女18+| 女人天堂av在线播放| 亚洲人成网站7777| 一区操逼日比视频| 国内毛片免费h片在线| 一二三区在线| 色超碰综合| 国产在线激情| 日韩av在线精品观看| 18禁网站在线播放| 天天欧美色| 亚洲欧洲无码97久久精品| 色九九综合AV| 国产无吗在线播放| 婬女免费一二三区A片| 花野真衣| 天天躁狠狠躁av| a级免费在线观看| 日韩精品免费高清视频在线| 啪啪一区| 天天综合网合集91| 黑人免费福利视频| 99热这里只有精品地址 | 日日骚一区二区三区| 东京热一区二区中文字幕| 丰满人妻av一区二区三区| 色综合91| 超碰偷拍| 黄色毛片A片| 青青草在线成人视频| 天天干夜夜肏| 亚洲欧美高清无码| 99热这里只有精| 伊人网在线视频| 天天综合网视频91| 日本高清有码网址视频| 欧美色图片91| 国产精品视频在线观看| 超碰国产在线| 另类视频在线| 亚洲性爱电影| 97超碰资源网| 日本操逼无码| 首页亚洲国产高跟丝袜诱惑视频| 五月天精品| 国产熟女完整版中字| 中文一区二区婷婷视频| 伊人国产成人av网站| 性一交一乱一交A片久久四色| 久久夜夜夜| 91性片| 后入美女国产| 91性感在线| 秋霞一级视频在线观看免费| 老鸭窝日丰县女人| 404操逼福利视频| 秋霞一区二区三区四区五区六区七区| 久久精品人人做人人看| 精品久久青青草| 视频二区美腿制服人妻欧美| 五月激情小说| 亚洲少妇视频| 好吊妞转入那个网| 尤物网站91| 久久手机视直播| 亚州综合色| 欧美激情视频一区二区三区不卡| 亚洲天堂资源网| 天天插天天插| 性videos欧美熟妇hdx| 黑丝91视频| 亚洲国产精品无码AV久久| 无码一区二区三区四区五区六区七区八区九区十区视频 | 欧美综合综合| 东京日日夜夜| AA级电影三区| 久神马| 嫩草一区二区在线观看| 色原狠狠天天天| 无码国产精品午夜不卡(| 亚洲天堂一二| 日本一区二区三区欧美日韩中文字幕| 精品免费视频国产一区| 亚洲最大的黄色电影网站。| 国产三级在线现体验区| 另类视频在线| 国产超碰| 好吊色综合| 综合久欧洲| 蜜乳av一区二区| 欧美玖玖爱免费玖玖| 国模精品娜娜一二三区| 春色综合网| 久久最新视频免费观看| 国产熟女完整版中字| 久久久久幕乱码| 欧洲射精91| 上海一级黄片| 欧美男人的天堂| 三级网站超变态精品| 全免费a敌肛交毛片免费| 啊啊啊骚| 亚洲涩涩| 亚洲欧洲偷拍一区| 亚洲精品国产无码高清| 欧美成人精品一区| 超硑97精品| 蜜乳av首页| 蜜乳Av成人片网站| 日本熟妇人妻一区二区三区| 一区二区三区四区五区高清无码永久视频 | 91久久国外网| 中文久久爆乳| 亚洲免费成人在线高清无码视频 | 97干97色| 四虎精品亚洲| 亚州再线| 婷婷激情啪啪| 亚洲乱熟女一区二区三区大香蕉| 97爱爱爱| 老鸭窝成人| 国产一区二区久久| 后X久久| 在免费jIzzjIzz在线视频| 最新无码国产| 97亚洲中文| 无码男人天堂| 日日夜夜青青草母狗| 五月婷婷综合网| 台湾成人无码AV| 美欧色综合| 国产又长又大又粗的视频| 久久精品视频28| 91 刺激在线| 国产欧美日韩精品中文| 丰满岳乱妇一区二区三区| 欧洲综合色图| 五月天精品| 一区二区播放| 激情小说亚洲图片| 97色爱| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 免费A片三p视频| 十八禁电影伊人网| 97精品国产手机| 夜夜嗨av午夜成人| 综合 青草 伊久久 影院 综合| 日韩精品人妻一| 级做a爱无码性色永久免费| 蜜乳中文字幕a在线| 成人性交免费视屏| 天堂亚洲精品| 狠狠爱大香蕉| 97亚洲综合在线| 日夜尻逼网| 欧美黑人168页欧美黑人167| 精品国产一区二区三区久久久蜜臀 | 吖在线不卡一区二区国产剧情 | 91足交| 狠日操| 日本三级网页| 日本丝袜人妻内射| WWW黄片COM| 国产成人在线观看综合| 999久久久精品国产| 99精品网| 你操综合| 樱花草社区www中国| 亚洲91亚洲| 中文字幕88av在线| 台湾佬中文娱乐网久久久久久久久久com | 99re在线观看| 超碰一区二区| 男人的天堂kva| 青娱乐黄色录像| 91网站18+| 欧美亚洲se91| 五月天AV资源| 国产精品一区二区三区四区五区| 亚州,欧美在线| 亚洲深夜福利| 超碰成人人人爽人人爽| 亚洲麻豆av一区二区| 国产免费黄色一级大片| 黄色激情电影在线观看| 九九无码视频| 台湾佬激情综合| 久久做97| 久久香蕉国产线看观看亚洲女人 | 日韩精品人妻中文字幕久久久| 欧美97视频| 操熟女91| 99久国产精品午夜性色福利| 91精品国产麻豆国产自产在| 素人播放一区| 欧洲小说色图视频另类| 91精品国产一区三一| 亚洲欧美一区二区网址| 久久久精品无码亚免费| 91超碰人人| 老司机午夜福利视频一区二区| AV丝袜东京热| 96麻豆精品一区二区三区| 国产理论视频在线播放| 六月色色| 成人天天看站长推荐| 欧色性第一页| 9久9久9久9久视频网站| 思思热在线视频免费| 香蕉综合网| 久久99精品国产| 久久精品店| 欧美疯狂做爰xxxx| 狠插 制服 自拍| 天久久久噜噜噜久久国产精品爽爽| 天天做天天爱夜夜爽毛片试看| 日本精品一区二区中文字幕| 丁香婷婷激情五月天无毒不卡| 91中出视频| 无码人妻一区二区三区色欲aⅴ | 久久 国产 无码| 中文字幕老熟妇黄色视频| 人妻少妇精品久久久| 女性喷水高潮在线观看| 人人色人人操在线| 亚热日本熟女| 欧美真人抽搐一进一出gif| 婷色五月| 日本高清视频在线观看黄已三辽| AV天堂国产| 99热免费| 啪啪啪亚欧美视频| 亚洲精品日韩国产欧美| 欧美激情亚洲情色| 91午夜无码| 久久9久9久99久9久9| 亚洲日韩电影| 91超级碰| 日本男人天堂| 99熟女| 午夜久久久| 男男H黄动漫啪啪无遮挡网站| 美欧老女人97| 高清国产成人无码| 久久久久久久78| 国产色图乱伦| 麻豆婷婷成人一二三| 亚洲天堂2020| 久久不卡一区二区| 天美91| 无码欧美有限公司| 天天噜| 香蕉在线一区二区三区| 1区2区3区视频| 久久精彩视频| 翔田千里AV无码秘 三区| oumeisetu综合| 2020中文字幕在线观看| 九九九九九九九九九九九免费国产| 亚洲一区二区中文字幕| 午夜精品久久久久久久男人的天堂 | 欧美的精品的视频| 开心五月婷婷激情| 蜜臀va69| 密桃99999| 欧美性爽xyxOOOO| 色天使大香蕉| 国产a片操逼| 伊人久久亚洲色欲综合网站 | 精品久一区免费| 精品午夜福利导航| 干B| 国产操偷| 亚洲久久久| www.四虎在线| 大香蕉免费3| 搡老女人老91妇女熟女| 大香蕉黄色一区| 精品视频一区二区| 综合 青草 伊久久 影院 综合| 亚洲天堂在线怕怕视频| 精品然女一区二区| 亚洲九月丁香| 日韩在线国产字幕| 欧美性爱网97| 啪啪91| 黄色香蕉视频网站一区| 18一区二区三区| AV无码久久久精品| 欧美 亚洲 在线| 素人无码中文字幕| 亚洲第一在线视频| 探花视频免费观看国产专区| 日韩精品怡红院| 亚洲AV无码AV吞精久久久久| 日本不卡在线二区三区| 五月天伊人| 色色五月天激情| 13小男生GAY自慰脱裤子| nuu12国产麻豆精品| 亚洲图片欧美91N| 国模无码一区二区三区在线| 97在线免费看视频| 啊啊啊啊啊啊好湿好爽视频| 色婷婷av在线观看| 欧美日韩色综合网| 性猛交| 免费97视频| 欧美 传媒 麻豆 日韩 偷拍| 国产精品久久伊人| 91成人精品| 4虎在线视频| 99re3这里只有精品| 你懂得91| 欧美日韩黄片精品在线| 密乳视频在线| 尤物AV免费网站| 加勒比五月天| 好淫网一二三视区| 国产成人无码啪| 日韩欧美亚欧在线视频| 玖色av| 久欲AV| 久久精品老司| 四季AV综合网址| 激情婷婷五月天| 精品一区二区亚洲国产| 色翁荡息又大又硬又粗又爽| 国产操逼网站亚洲一级黄色| 婷婷精品久久av影视| 国产精品高潮久久AV| 99999精品成人| 久久精品国产精品亚洲艾通辽熟妇| 免费在线黄片视频| 澳门黄片一香蕉视频| 综合 亚洲 欧美| 制服中出中文人人精品| 伊人色综合超碰| 日韩乱伦视频| 囯产乱伦一区二区三女 | 97中文综合| 久久是精品| 蘋果手機免費看成人Av| 天天看高清麻豆| 高树玛利亚无码流出| 日本色色色视频| 国模无码一区二区三区在线| WWW啪啪的com| 蜜桃视频成a人v在线| 日B操| 欧美日韩另类在线播放| 日本黄色精品专区网站| 人人看人人插| 亚洲无无码αⅴ每日更新| 操逼视频色| 强奸乱伦 亚洲一区| www.亚洲黄色| 日韩99精品视频综合区| 激情小说在线视频| 亚洲**2021在线观看| 日本阿v天堂在线观看| 日韩精品字幕| 少妇一级婬片免费放一级a性色.| 色欲无码人妻日韩欧美精品| 国产精品亚洲天堂网址| 在线无码操| 国产伦乱91| 夂久色| 裸体美女国产免费久久久网站| 亚洲日韩肥臀视频在线观看| 中文字幕视频2区| 国产精品久久久久久久久久久久久久久久 | 欧美精品23| 亚洲黄色网址视频| 曰韩成人免费视频| 亚洲色偷偷色噜噜狠狠99网| 久久婷婷色综合一区二区三区| 丁香六月激情| 97久久精品国产| 亚洲国内精品成人不卡| 婷婷8月天青娱乐| 偷拍盗拍亚洲色图图片 | 好舒服视频| 天堂网亚洲区手机版| 78超碰| 日本一级婬片试看三分钟| 夜嗨影院| 嗯嗯嗯嗯啊啊啊好紧好大| 亚洲码和欧洲精品激情系列| 亚洲se电影| 色噜噜狠狠色综无码久久合欧美| 中文字幕一区二区免费在线| 久久av一级av少妇av高潮| 五月婷婷深深爱| 久久色激情一区二区三区| 少妇内射视频| 亚洲女人91| 中文字幕精品日韩中文字幕| 99操视频| 日韩电影天堂视频二区三区| 日本一二三免费久久| 在线综合 亚洲 欧美中文字幕| 精品亚洲黄色片 国产精品导航一区二区| 久久婷婷五月天| 日本一片一区| 蜜臀久久99精品久久久久久婷婷| 人妻干天天| 欧美夜夜狠| 中文字幕诱惑制服人妻丝袜美丝袜美| 国产精品久久久久久久久久二区三区| 97超碰大| 丝袜美腿射精91| 色网色网色网色网色网色| 国产精品国产亚洲区艳妇糸列| 亚洲日韩成人性爱视频| 美女黄页| 超碰九区| 国产尤物AV尤物在线观看不卡| 日本午夜福利视频| 人妻少妇精品久久久| 久久综合九色综合欧洲98| 国产精品视频自拍在线| 日夜啪电影| 亚洲情色在线| 国产精品直播在线观看直播| 黄片免费看的| 熟女中出视频| 人人操人人精品影片| 色网在线视频观看免费| 成人看片网站| 欧美97av| 国产www色在线观看| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 日产操逼| 色吧五月| 另类欧美综合| 日韩欧美中文日韩欧美色| 秋霞一区二区三区四区五区六区七区| 美女91| 99热精品在线| 久久噜噜噜精品国产亚洲综合| 国产精品久久久久久久黄无码 | 97超碰精品图片| 大学生美女口爆| 中日无幕一二三四区| 漂亮人妻被强中文字幕hd| 亚洲AV无码AV吞精久久久久| 中文字幕文字幕无码一区二区三区电影99| 女人天堂av在线播放| 中文高清一区二区的| 9I1性色影院| 五月丁香六月婷| 欧美色图99| 色五月婷婷麻豆在| 天躁夜夜躁2021| 亚洲有码 欧美精品| 欧美日韩制服| 男人的天堂在线有码| 欧美日韩欧美| 天天看片天天爽| 九九九九热| 操人妻逼91| 国产亚洲日韩欧| 日日嗨AV一区二区夜夜| 欧美一级久久久丰满| 欧美青青草视频| 中日韩欧美精品无码AⅤ一区二区| 偷拍综合亚洲| 欧美日韩91| 日韩有码中文字幕女同性恋| 天天色悠悠激情| 香蕉欧美| 欧美精品三区| 中文字幕在线观看二区三区| 青青在线视频免费| 日本三级中国三级99人妇网站| 翔田千里AV无码秘 三区| 九九久久首页| 日本国产高清色www视频在线| 粉嫩少妇自慰在线| 国产精品青草综合久久| 激情小说在线视频| 超碰性爱97| 欧美日韩国内不卡| 日天天九九天堂666| 欧美日韩淫加| 久久首页| 91亚洲欧美激情| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 91天天综合网,天天综合网| 人人操人人摸人人看人人插| 中出20p| 无码人妻一区二区一牛影视| 园内精品自拍视频在线播放| 久久久久婷婷精品av电影| 欧州色图区| 日本一级婬片试看三分钟| 熟女精品日韩一区二区三区| 九久9热| 国产97色在线| 人人妻人人爱人人玩| 天天综合网1| 亚洲男人天堂2019| 中字幕人妻一区二区三区| 亚洲中文字幕久久无码精品| 日韩另类色图| 在线观看精品国产免费| 天堂男人网| 人妻天天爽夜夜爽2| 人妻少妇久久久| 99e久久国产精品| 日日操夜夜操天天操免费观看麻豆| 青青草吊丝| 亚洲熟妇极品| 久久91视频| 欧美不卡在线一区二区| 亚洲天堂一区二区| 久婷婷一区| 亚洲精品一二三四区| 久久精品店| 探花一区二区三| 麻豆天美一区二区| 96超碰网| 大香网伊人久久综合网eew| 国产一区二区三区中文字幕| 四虎影院成年人片| 中字幕人妻一区二区三区| 啊啊啊网站| 97中文字幕一区| 韩国毛片一区二区三区| 人妻出轨一区二区三区| 混色激情av| 97超级色碰碰| 熟女人妻一区二区三区免费看| 欧美黑人91| 狠狠干精品一二三四五六2022| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 日韩成人性爱电影在线播放| 亚洲自拍偷拍视频在线 | 蜜臀久久99精品久久久老,,| 性做久久久久久免费观看软件| 狠狠久久手机视频精品| 亚洲欧美天堂| 伊色久人大在线| 懂色AV网| 日日干日日操五月天伦理视频| 亚州情色j区| 午夜精品一区二区三区三上悠亚| 国产一区二区三区导航| 26uuu国产日韩综合在线观看| 黄色免费一级在线毛片| 天天干人人看综合| 2024年最新色情网站在线观看| 日天天九九天堂666| 亚洲色婷婷综合久久久久中文| 亚洲资源网| 大但人体久久久久| 日本道日本道中文字幕日本道最新日本道在线观看 | 欧美老熟另类| 少妇诱惑视频| 久久精品免费| 美骚妇av高清在线| 大香蕉碰| 青青草视频久久久久| 美欧老女人97|