欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

ARTICLE DETAIL

資訊詳情

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

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

逆向工程實戰(zhàn):從字符串引用拆解存檔封裝中的XOR、校驗與壓縮 1. 從一個存檔文件說起為什么需要拆解封裝層手里拿到一個二進制存檔文件雙擊打不開用十六進制編輯器看是一堆亂碼但文件頭幾個字節(jié)又隱約有規(guī)律——這種場景在逆向分析、數(shù)據(jù)恢復、老舊系統(tǒng)遷移里太常見了。標題里說的沿字符串引用還原存檔封裝本質上就是一條逆向工程的分析路徑你手上只有一堆字節(jié)但通過觀察文件里出現(xiàn)的字符串引用比如某個字段名、某個路徑片段、某個固定標記反推出這個存檔是怎么被封裝的然后一層層剝開XOR混淆、校驗和、壓縮這三層外殼最終拿到原始數(shù)據(jù)。這件事能解決什么問題舉個實際場景某款老工具生成的工程存檔原程序已經(jīng)找不到了但你需要把里面的配置數(shù)據(jù)導出來遷移到新系統(tǒng)?;蛘吣阍谧霭踩治瞿玫揭粋€可疑的二進制文件需要判斷它內部是否藏了壓縮數(shù)據(jù)。再或者你在做數(shù)據(jù)恢復一個損壞的存檔文件需要先搞清楚它的封裝結構才能定位損壞位置。這些場景的共同點是你沒有源碼沒有文檔只有一個二進制文件和你的分析能力。適合誰來參考有一定二進制分析基礎、會用十六進制編輯器、了解基本壓縮格式zlib、gzip、lz4之類和校驗算法CRC32、Adler32、簡單累加和的人。如果你完全沒接觸過二進制分析這篇文章也能看懂思路但實操部分需要你補一些基礎知識。我會盡量把每一步的為什么講清楚而不是只丟一堆命令。整篇文章圍繞一條主線從字符串引用入手識別封裝層次逐層拆解XOR、校驗、壓縮最終還原出可讀的原始數(shù)據(jù)。這條主線在逆向分析里是通用方法論不局限于某一個具體格式。下面我按實際操作的順序把每個環(huán)節(jié)拆開講。2. 封裝結構的整體設計思路與識別方法2.1 為什么存檔要加這三層先說清楚一個前提不是所有存檔都會同時用XOR、校驗、壓縮這三層。但一旦你遇到一個看起來有規(guī)律但讀不懂的文件這三層是最常見的組合。它們的職責分工很明確。壓縮層解決的是體積問題。原始數(shù)據(jù)可能是JSON、XML、或者結構化的二進制記錄直接存體積大用zlib或lz4壓一下能省很多空間。壓縮后的數(shù)據(jù)有個特征熵值高字節(jié)分布接近隨機但通常開頭幾個字節(jié)是固定的魔數(shù)比如zlib的78 9C、78 01、78 DA。校驗層解決的是完整性驗證。存檔在傳輸或存儲過程中可能損壞加一個CRC32或Adler32讀取時先校驗再解壓能提前發(fā)現(xiàn)損壞而不是解壓到一半報錯。校驗值通常緊挨著被校驗的數(shù)據(jù)存放長度固定CRC32是4字節(jié)Adler32也是4字節(jié)。XOR層解決的是不想讓你直接看懂的問題。它不算真正的加密因為密鑰往往很短且固定但足以讓直接打開文件的人看到亂碼。XOR的特點是同一個密鑰異或兩次就還原所以加密解密是同一個操作。密鑰可能是一個字節(jié)、一個固定字符串、或者一段循環(huán)使用的字節(jié)序列。三層疊加的順序通常是原始數(shù)據(jù) → 壓縮 → 加校驗 → XOR混淆 → 寫入文件。讀取時反過來讀文件 → XOR還原 → 校驗驗證 → 解壓 → 原始數(shù)據(jù)。但實際順序可能變比如先XOR再壓縮或者校驗放在XOR之前。這就是為什么不能想當然必須通過分析確認。2.2 字符串引用為什么是最好的切入點二進制文件里如果全是壓縮或XOR后的數(shù)據(jù)你確實什么都看不出來。但封裝結構本身往往留有線索——這些線索就是字符串引用。具體來說一個存檔文件通常包含文件頭標識版本、類型、元數(shù)據(jù)區(qū)記錄各個數(shù)據(jù)塊的位置和長度、數(shù)據(jù)區(qū)實際內容。文件頭和元數(shù)據(jù)區(qū)往往不壓縮也不XOR因為程序需要快速讀取它們來定位數(shù)據(jù)。這些區(qū)域里就可能出現(xiàn)字符串比如固定的魔數(shù)標記如SAVE、ARCH、PK\x03\x04zip的標記字段名如version、checksum、offset、length路徑片段如config/、data/、.json、.bin錯誤信息或提示文本用十六進制編輯器打開文件切到ASCII視圖掃一眼有沒有可讀字符串。更高效的方法是用strings命令Linux/macOS自帶Windows可以用Sysinternals的strings或者Git Bash里的提取所有長度≥4的可打印字符串然后觀察哪些像是結構標記。strings -a -t x savefile.bin | head -50-a表示掃描整個文件不只是數(shù)據(jù)段-t x表示輸出字符串在文件中的十六進制偏移。這樣你能看到每個字符串出現(xiàn)在文件的什么位置位置信息非常關鍵——如果某個字符串出現(xiàn)在文件開頭附近它很可能是文件頭的一部分如果出現(xiàn)在中間可能是某個數(shù)據(jù)塊的標記。2.3 從字符串位置反推結構布局拿到字符串列表和偏移后下一步是推斷結構。假設你看到這樣的輸出00000000 SAVE 00000010 version 00000020 checksum 00000030 data_offset 00000040 data_length 00000050 ...后面是亂碼這說明文件頭至少到0x50左右包含了版本、校驗值、數(shù)據(jù)偏移和長度這些字段。每個字段后面跟著的實際值需要你去看十六進制。比如version后面4個字節(jié)可能是01 00 00 00小端序的1checksum后面4個字節(jié)是校驗值data_offset后面4個字節(jié)是數(shù)據(jù)區(qū)起始位置data_length后面4個字節(jié)是數(shù)據(jù)區(qū)長度。這里有個關鍵技巧字符串本身往往不是數(shù)據(jù)而是標簽。程序讀取時先匹配標簽再讀標簽后面的值。所以你在十六進制里看到的是標簽值的交替排列。標簽是ASCII值是二進制。找到這個規(guī)律結構就清晰了一半。注意有些格式的字符串是定長字段比如固定16字節(jié)不足補零有些是長度前綴前面1或2字節(jié)表示字符串長度。觀察字符串后面跟的是00還是長度值能判斷是哪種。2.4 判斷是否存在XOR層的三個信號不是所有文件都有XOR層。怎么判斷看三個信號。信號一字符串區(qū)域之外的數(shù)據(jù)熵值異常高但又不是壓縮格式。壓縮數(shù)據(jù)的熵值也很高但壓縮數(shù)據(jù)通常有魔數(shù)。如果你看到一段數(shù)據(jù)熵值高、沒有已知壓縮魔數(shù)、而且長度和某個字段比如data_length對得上那可能是XOR后的數(shù)據(jù)。信號二文件里有兩段相似但不完全相同的數(shù)據(jù)。比如兩個數(shù)據(jù)塊長度一樣內容看起來都是亂碼但逐字節(jié)對比發(fā)現(xiàn)差異很小。這可能是同一份數(shù)據(jù)用不同密鑰XOR或者一份是XOR后的、一份是原始的用于對比分析。信號三已知明文攻擊。如果你知道原始數(shù)據(jù)里應該包含某個固定字符串比如JSON開頭的{或XML開頭的?xml而文件里對應位置是亂碼把亂碼和已知明文XOR就能得到密鑰。這是最直接的確認方法。舉個例子假設data_offset指向的位置文件里是9A 8B 8C 8D而你預期原始數(shù)據(jù)開頭是7B 22 0A 20{加換行加空格逐字節(jié)XOR9A ^ 7B E1 8B ^ 22 A9 8C ^ 0A 86 8D ^ 20 AD得到密鑰片段E1 A9 86 AD。如果這個密鑰在文件其他位置重復出現(xiàn)或者用它對其他數(shù)據(jù)塊XOR后能得到可讀內容那XOR層就確認了。3. 核心細節(jié)解析XOR、校驗、壓縮的拆解要點3.1 XOR層的密鑰識別與還原實操XOR還原的核心是找到密鑰。密鑰的形態(tài)有幾種按難度從低到高排列。單字節(jié)密鑰是最簡單的。整個數(shù)據(jù)區(qū)所有字節(jié)都異或同一個值。怎么找如果數(shù)據(jù)區(qū)里有一段你已知的明文比如文件末尾可能有固定的結束標記拿密文和明文XOR就能得到密鑰。或者用頻率分析如果原始數(shù)據(jù)是文本空格0x20出現(xiàn)頻率最高密文里出現(xiàn)頻率最高的字節(jié)異或0x20就是密鑰。固定多字節(jié)密鑰稍復雜。密鑰是一個固定長度的字節(jié)序列循環(huán)使用。比如密鑰是KEY1236字節(jié)那么數(shù)據(jù)第1字節(jié)異或K第2字節(jié)異或E第7字節(jié)又異或K以此類推。識別方法是如果數(shù)據(jù)里有兩段相同明文被加密密文的差異會呈現(xiàn)周期性。或者用已知明文攻擊得到密鑰片段后觀察周期。變長密鑰最麻煩密鑰可能根據(jù)位置變化比如密鑰是位置索引的函數(shù)。這種情況通常需要結合程序邏輯分析純靜態(tài)分析很難。但實際遇到的存檔格式里變長密鑰很少見因為實現(xiàn)復雜且沒必要。實操還原的步驟確定數(shù)據(jù)區(qū)的起始偏移和長度從文件頭字段讀取。提取數(shù)據(jù)區(qū)字節(jié)到單獨文件。用猜測的密鑰做XOR輸出結果。檢查結果是否有已知壓縮魔數(shù)或可讀文本。如果沒有調整密鑰或密鑰周期重復。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)實操心得XOR還原后先別急著解壓用xxd或十六進制編輯器看一眼開頭。如果看到78 9C、1F 8B、04 22 4D 18這些魔數(shù)說明壓縮層就在里面。如果看到PK那是zip。如果看到可讀文本可能沒有壓縮層直接就是原始數(shù)據(jù)。3.2 校驗層的識別與驗證方法校驗層的識別相對直接因為校驗算法就那么幾種而且校驗值長度固定。CRC324字節(jié)多項式0xEDB88320反射或0x04C11DB7非反射。zlib、gzip、zip都用它。特征是校驗值通常放在被校驗數(shù)據(jù)的后面或前面小端序存儲。Adler324字節(jié)zlib的默認校驗和CRC32二選一。計算比CRC32快但碰撞概率稍高。特征是兩個16位部分低16位是累加和高16位是累加和的累加。簡單累加和1、2或4字節(jié)所有字節(jié)相加取模。老式格式常用。特征是值通常不大且改變一個字節(jié)對結果影響是線性的。MD5/SHA116或20字節(jié)用于強校驗。特征是長度明顯比CRC長且看起來完全隨機。驗證方法假設文件頭里有個checksum字段值是X。你把數(shù)據(jù)區(qū)提取出來用各種算法算一遍看哪個結果等于X。如果都不等可能校驗范圍不是整個數(shù)據(jù)區(qū)而是數(shù)據(jù)區(qū)的一部分或者校驗前先做了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})注意校驗值的字節(jié)序很關鍵。CRC32和Adler32在文件里通常是小端序存儲但有些格式用大端序。算出來的值要按兩種字節(jié)序都試一下。另外有些格式的校驗值是對XOR之前的數(shù)據(jù)算的有些是對XOR之后的算的。如果直接算不對試試先XOR再算。3.3 壓縮層的格式判斷與解壓壓縮層的判斷主要靠魔數(shù)和試解壓。常見壓縮格式的魔數(shù)格式魔數(shù)十六進制說明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的第二個字節(jié)有規(guī)律01表示最快壓縮9C表示默認DA表示最大壓縮。這三個值覆蓋了絕大多數(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)如果所有標準格式都失敗可能是raw deflate沒有zlib頭。用zlib.decompress(data, -15)試-15表示raw deflate。還不行的話可能是自定義壓縮或者數(shù)據(jù)還有一層XOR沒剝干凈。實操心得解壓失敗時先檢查數(shù)據(jù)長度。zlib解壓需要完整的流如果數(shù)據(jù)被截斷會報Error -5不完整。這時候可以試試zlib.decompressobj()它能解壓部分數(shù)據(jù)。另外有些格式在壓縮數(shù)據(jù)前后加了額外字節(jié)比如長度前綴需要先去掉。3.4 三層順序的判斷邏輯三層順序不是固定的但可以通過以下邏輯判斷如果XOR在壓縮之后XOR還原后能看到壓縮魔數(shù)。這是最常見的情況因為先壓縮再XORXOR的密鑰可以很短甚至單字節(jié)因為壓縮數(shù)據(jù)本身已經(jīng)高熵了。如果XOR在壓縮之前XOR還原后看到的是原始數(shù)據(jù)可讀文本或結構化二進制沒有壓縮魔數(shù)。這種情況少見因為先XOR再壓縮壓縮率會下降XOR后的數(shù)據(jù)熵值高壓縮算法效果差。校驗的位置校驗通常在XOR之前計算對壓縮后的數(shù)據(jù)算然后校驗值和XOR后的數(shù)據(jù)一起存儲。讀取時先XOR還原再校驗再解壓。但也有格式先校驗再XOR讀取時先XOR再校驗。判斷方法用兩種順序各試一次看哪個能通過校驗。判斷流程讀文件頭提取data_offset、data_length、checksum。提取數(shù)據(jù)區(qū)。嘗試XOR還原用已知或猜測的密鑰。對還原后的數(shù)據(jù)算校驗和checksum對比。如果校驗通過嘗試解壓。如果校驗不通過嘗試對原始數(shù)據(jù)未XOR算校驗。如果還不通過檢查校驗范圍是否只是數(shù)據(jù)區(qū)的一部分。4. 完整實操流程從二進制到原始數(shù)據(jù)4.1 環(huán)境準備與工具清單工欲善其事必先利其器。這套流程需要的工具不多但每個都要用熟。十六進制編輯器010 Editor有模板功能能自動解析結構、HxDWindows免費、ImHex開源支持模式語言。我個人常用010 Editor因為它的模板功能可以寫腳本自動解析文件頭。命令行工具xxd十六進制dump、strings提取字符串、file識別文件類型、binwalk自動識別嵌套格式。binwalk特別有用它能自動掃描文件里的壓縮流和文件系統(tǒng)。Python環(huán)境需要zlib標準庫、gzip標準庫、lz4pip install lz4、zstandardpip install zstandard、crcmod可選用于自定義CRC。調試工具如果存檔有配套程序用x64dbg或gdb附加到程序上在讀取存檔的函數(shù)下斷點觀察它怎么處理數(shù)據(jù)。這是最直接的方法但需要程序還能運行。# 安裝Python依賴 pip install lz4 zstandard crcmod # binwalk基本用法 binwalk savefile.bin # 提取binwalk識別的內容 binwalk -e savefile.bin4.2 第一步文件頭解析與字段提取假設我們已經(jīng)用strings和十六進制編輯器確認了文件頭結構?,F(xiàn)在寫一個Python腳本自動提取字段。import struct def parse_header(filepath): with open(filepath, rb) as f: data f.read() # 假設文件頭結構根據(jù)實際分析調整 # 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ù)實際分析確定上面的代碼只是示例。實際分析時先用十六進制編輯器手動確認每個字段的位置和長度再寫腳本。不要一上來就寫腳本容易因為偏移猜錯而浪費時間。4.3 第二步XOR還原與密鑰確認假設通過已知明文攻擊我們猜測密鑰是單字節(jié)0x5A。寫腳本還原并驗證。def try_xor_keys(data_section, candidate_keys): 嘗試多個候選密鑰輸出看起來最像壓縮數(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é)密鑰的候選可以來自文件里其他位置的字符串、程序二進制里的常量、常見弱密鑰如12345678、password。4.4 第三步校驗驗證與數(shù)據(jù)完整性確認XOR還原后用還原后的數(shù)據(jù)算校驗和文件頭里的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ù)驗證 best_result results[0] decrypted_data best_result[decrypted] verify_checksum(decrypted_data, result[checksum], crc32)如果校驗通過說明XOR密鑰正確數(shù)據(jù)完整。如果不通過可能密鑰不對、校驗算法不對、校驗范圍不對可能只校驗數(shù)據(jù)區(qū)的一部分、或者校驗是在XOR之前算的那就用原始數(shù)據(jù)區(qū)算。實操心得校驗不通過時先別急著換密鑰。試試用原始數(shù)據(jù)未XOR算校驗如果通過了說明校驗是在XOR之前算的XOR層在校驗層之后。這個順序判斷能省很多時間。4.5 第四步解壓與原始數(shù)據(jù)導出校驗通過后解壓就是標準操作了。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ù)已導出格式: {format_used}) # 如果是文本打印前500字符 try: text original_data.decode(utf-8) print(前500字符:) print(text[:500]) except UnicodeDecodeError: print(二進制數(shù)據(jù)前64字節(jié):) print(original_data[:64].hex())4.6 第五步結果驗證與迭代導出原始數(shù)據(jù)后驗證是否合理如果是JSON/XML用解析器試解析。如果是結構化二進制檢查字段是否符合預期。如果是圖片/音頻用對應查看器打開。如果還是亂碼可能還有一層沒剝比如原始數(shù)據(jù)本身也XOR了或者壓縮格式是自定義的。迭代方向換XOR密鑰如果校驗沒通過。換校驗算法CRC32換Adler32或換自定義多項式。換壓縮格式試lz4、zstd、bzip2。檢查是否有長度前綴或后綴需要去掉。檢查數(shù)據(jù)區(qū)是否被分成了多個塊每塊單獨處理。5. 常見問題與排查技巧實錄5.1 問題速查表現(xiàn)象可能原因排查方法找不到可讀字符串文件整體被XOR或壓縮用binwalk掃描試常見XOR密鑰字符串位置不連續(xù)結構中有變長字段或對齊填充檢查字符串間的字節(jié)可能是長度或偏移XOR還原后無壓縮魔數(shù)XOR密鑰不對或壓縮格式無魔數(shù)試更多密鑰試raw deflate校驗總是不通過算法不對、字節(jié)序不對、范圍不對試CRC32/Adler32試大小端試部分范圍解壓報不完整數(shù)據(jù)被截斷或有多余字節(jié)用decompressobj檢查長度字段解壓后還是亂碼還有一層XOR或自定義編碼檢查解壓后數(shù)據(jù)的熵值和字符串多個數(shù)據(jù)塊長度不一致每塊獨立壓縮或XOR分別處理每塊檢查塊頭文件頭字段值明顯不合理字段偏移猜錯或類型不對手動在十六進制編輯器里核對5.2 獨家避坑技巧技巧一先靜態(tài)后動態(tài)別急著上調試器。很多人一上來就開調試器附加程序結果在幾千個函數(shù)里迷路。先用strings和十六進制編輯器做靜態(tài)分析把結構猜個大概再用調試器驗證。靜態(tài)分析能告訴你是什么動態(tài)分析能告訴你怎么用。技巧二保存每一步的中間結果。XOR還原后的數(shù)據(jù)、解壓后的數(shù)據(jù)都存成單獨文件。這樣如果后面步驟出錯不用從頭再來。而且中間結果本身可能包含線索比如XOR還原后的數(shù)據(jù)里可能有新的字符串。技巧三注意字節(jié)對齊。很多格式的字段是4字節(jié)或8字節(jié)對齊的。如果你發(fā)現(xiàn)字段偏移總是差1-2字節(jié)可能是對齊填充。檢查字符串后面是否有00填充到4字節(jié)邊界。技巧四校驗值可能是對部分數(shù)據(jù)算的。有些格式只校驗數(shù)據(jù)區(qū)的前N字節(jié)或者跳過某些字段。如果全量校驗不通過試試排除文件頭、排除末尾的填充、或者只校驗數(shù)據(jù)區(qū)的前半部分。技巧五XOR密鑰可能是文件里某個字段的值。比如文件頭里有個seed字段XOR密鑰就是seed的某種變換取反、加1、循環(huán)移位。檢查文件頭里所有看起來像隨機數(shù)的字段它們可能是密鑰來源。技巧六壓縮數(shù)據(jù)可能有多層。有些格式先zlib壓縮再整體XORXOR還原后是zlib解壓后又是另一層zlib。用binwalk能自動識別嵌套或者手動解壓后檢查結果是否還有壓縮魔數(shù)。技巧七別忽略文件末尾。有些格式在文件末尾追加了額外數(shù)據(jù)比如簽名、填充、第二個數(shù)據(jù)塊。文件頭里的data_length可能只覆蓋第一個塊末尾還有東西。用十六進制編輯器跳到文件末尾看看。技巧八用已知樣本對比。如果你能生成一個已知內容的存檔用原程序保存一個簡單配置然后和未知存檔對比差異部分就是數(shù)據(jù)區(qū)相同部分就是文件頭和固定結構。這是最快的方法但前提是原程序還能用。5.3 一個完整的排查案例假設你拿到一個存檔strings輸出如下00000000 SAVE 00000010 v1.0 00000020 crc32 00000030 offset 00000040 size 00000050 ...亂碼開始十六進制查看0x50之后的數(shù)據(jù)發(fā)現(xiàn)熵值很高。文件頭里offset字段值是0x00000050size字段值是0x00001000。crc32字段值是0x12345678。第一步提取0x50到0x1050的數(shù)據(jù)區(qū)。第二步試單字節(jié)XOR。用0x00到0xFF逐個試檢查還原后是否有78 9C。假設試到0x5A時還原后開頭是78 9C。第三步用0x5A還原整個數(shù)據(jù)區(qū)算CRC32。假設算出來是0x87654321和文件頭里的0x12345678不等。試大端序還是不等。試Adler32不等。第四步懷疑校驗是在XOR之前算的。用原始數(shù)據(jù)區(qū)算CRC32得到0x12345678匹配說明校驗層在XOR層之前。第五步用0x5A還原數(shù)據(jù)區(qū)然后zlib解壓。解壓成功得到JSON文本。第六步驗證JSON格式正確字段符合預期。完成。這個案例的關鍵點是第四步——校驗順序的判斷。如果沒想到這一點可能會在密鑰上反復試浪費大量時間。6. 工具選型與自動化腳本6.1 工具對比與選擇建議工具適用場景優(yōu)點缺點010 Editor手動分析結構模板功能強可視化好收費HxD快速查看免費輕量功能少ImHex開源分析模式語言靈活插件多學習曲線陡binwalk自動掃描識別嵌套格式快誤報多x64dbg動態(tài)調試能看程序實際行為需要程序可運行Python腳本批量處理靈活可自動化需要編程基礎我的建議手動分析用010 Editor或ImHex自動掃描用binwalk批量處理用Python。動態(tài)調試作為最后手段因為很多老程序已經(jīng)跑不起來了。6.2 自動化腳本框架把前面的步驟整合成一個腳本輸入文件路徑輸出原始數(shù)據(jù)。#!/usr/bin/env python3 存檔封裝拆解工具 自動嘗試XOR、校驗、壓縮的常見組合 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: # 默認字段定義需根據(jù)實際調整 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): 驗證校驗和 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. 驗證校驗 print(\n[3] 驗證校驗和...) 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 校驗通過: {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)}) # 導出 output_path self.filepath .unpacked with open(output_path, wb) as f: f.write(original) print(f 已導出到: {output_path}) # 嘗試顯示文本 try: text original.decode(utf-8) print(f 前200字符:\n{text[:200]}) except: print(f 前32字節(jié): {original[:32].hex()}) else: print( 解壓失敗可能還有未識別的層) # 導出XOR還原后的數(shù)據(jù)供手動分析 output_path self.filepath .decrypted with open(output_path, wb) as f: f.write(self.decrypted) print(f 已導出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()這個腳本是一個框架實際使用時需要根據(jù)具體格式調整parse_header里的字段定義。它的價值在于把試錯過程自動化了——自動試256個單字節(jié)XOR密鑰、自動試多種校驗算法、自動試多種解壓格式。你只需要提供文件頭結構剩下的交給腳本。實操心得腳本跑完后如果解壓失敗別急著改腳本。先看導出的.decrypted文件用十六進制編輯器手動檢查。有時候腳本的評分函數(shù)沒選對最佳密鑰但手動看能發(fā)現(xiàn)線索。自動化是輔助最終判斷還是要靠人。7. 影響范圍與擴展思考這套拆解方法不只適用于存檔文件。任何二進制封裝的場景都能用網(wǎng)絡協(xié)議的數(shù)據(jù)包、嵌入式設備的固件、游戲資源包、數(shù)據(jù)庫的導出文件。核心思路是一樣的——找字符串引用、識別封裝層、逐層剝離。從影響范圍看掌握這套方法意味著你能處理一類問題而不是一個具體問題。今天拆的是存檔明天遇到一個未知格式的配置文件同樣的流程走一遍strings看線索、十六進制看結構、試XOR、試校驗、試解壓。大部分格式都逃不出這幾層。擴展方向有幾個。一是自動化程度可以更高比如用符號執(zhí)行或模糊測試自動推斷字段邊界。二是支持更多壓縮格式比如brotli、lzo、snappy。三是結合動態(tài)分析如果程序能運行用調試器直接看它怎么讀文件比靜態(tài)猜快得多。四是處理加密而非XOR如果遇到AES或RSA就需要密鑰提取或側信道分析那是另一個領域了。我個人在實際操作中的體會是耐心比技術更重要。很多時候不是不會而是試了幾次沒成功就放棄了。XOR密鑰有256種可能校驗算法有幾十種壓縮格式有十幾種組合起來確實多。但通過字符串引用和結構分析能把可能性縮小到幾個剩下的就是逐個驗證。每次成功拆開一個格式那種原來如此的感覺就是做這行的樂趣所在。最后分享一個小技巧建一個自己的格式庫。每次拆開一個新格式把文件頭結構、XOR密鑰規(guī)律、校驗算法、壓縮格式記下來。下次遇到類似的直接查庫能省大量時間。我自己的庫里已經(jīng)存了幾十種格式很多是同一個軟件的不同版本結構大同小異。這個習慣讓我處理新格式的速度越來越快。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
婷婷色影音天| 亚洲AV免费国产电影| AV国产有码| 久久久.www| 婷婷丁香五月综合免费视频百花| 好吊操这里只有精品| 五月色情婷婷| 日韩黄在免| 日日干日日| 欧美激情 日韩无码 婷婷 五月天| 少妇AB又爽又紧无码网站| 激情五月婷婷六月丁香| 日韩AAA| 久久99jiu9| 亚洲成人五月天| 噜噜噜色噜噜| 狠狠色丁香久久久婷| 五月Huangsewang| 丁香五月欧美色综合| 第2色五月婷| 91 九色 入口| 色约约视频一区二区三区四区五区| 99综合久久| 婷婷五月图片小说视频| 五月天婷婷影院影院| 色综合99无码| 婷婷五月天性色| 97香蕉碰碰人妻国产欧美| 激情综合五月.....| 久久久99婷婷久久久久久| 欧美性生交XXXXX无码小说| 天天在线XXX| 激情视频婷婷五月花| 久久久人人操A V| 777精品久无码人妻蜜桃| 性生活久久朋友人妻| 婷婷久久久| 9 1 A v久久久| 日韩色色视频| 日日夜夜天天综合| 色爱亚洲| 亚洲综合婷婷| 婷婷综合激情| 婷婷丁香社区| 亚洲狠狠色丁香婷婷综合久久| 亚洲va成人va成人va在线观看| renrencaoav| 超碰免费人人| www久久久| 日韩久综合| 中国丰满熟女A片免费观| 在线看片av| 亚洲操b| 激情五月丁香六月婷婷| 强伦轩人妻一区二区电影| 最新亚洲色色网| 第六色在线| 五月丁香激情片| 久久久久久97| 97久久人人操| 成人网站免费sxj| 久久婷狠狠色| 五月色丁香综合| 99re在线视频精品,这里只有精品18,| 婷婷色中文字幕| 69精品人妻不卡视频| 亚洲国产黄色电影| www久久久久久久97| 97艹| 欧美日本国产欧美日本韩国99| 色爱五月天| 丁香桃色网| 婷婷五月色| 日本狠狠色| 久久婷婷五月综合| 五月综合色| 91丨九色丨43老版熟女| 色99综合色88| 婷婷六月啪啪| 丁香婷婷五月六月天| 亚洲va在线| 五月天色婷婷伊人网| 天天狠狠干| 99热这里只要精品免费| 丁香婷婷久久 | 五月天婷婷久久| 日韩色色色色色| 人人色性网| 五月色丁香婷婷中文字幕| 天天操夜夜玩!| 99只有这里是精品| 九九色99| 国产99久9在线+|+传媒| 婷婷成人综合| 99爱视频在线观看这里只有精品| 久久激情综合| 五月丁香毛片| 亚洲射激情| 激情五月婷婷色| 一本色道久久综合狠狠躁小说| 久久国产高清| 欧美成人无码高清一区二区三区| 俺去也婷婷| www.狠狠| 久久婷婷夜| 婷婷偷拍网| AV国产有码| 人人干av| 影音先锋五月婷婷| 深爱五月综合网| 色婷婷久久综合中文久久一本| 欧美日本黄色| 狠狠色狠狠色综合日日91| 五月丁香婷婷激情爱爱| 婷婷五月天成人动漫 | 国产肥白大熟妇BBBB视频| 中文字幕高清av| 97碰啪啪| www,com,五月色色| 老司机视频lsj爱就色| 97人凄人人操人人爽| 天天色天天色天天色天天色天天色天天色| www.婷婷五月| 丁香六月啪| 99久久性爱| 成人免费120分钟啪啪| 婷婷久久亚洲| 色小说五月天| 91精品刘玥| 思思久久网| 精品A√| 五月天综合在线| 996热re视频在线观看视频| 色五月婷婷基地| 狠狠色噜噜| 久久久18| 午夜激情综合| 欧美操逼天堂| 五月丁香六月婷婷色情| 丁香97综合| 激情六月五月婷婷综合网| 日本九九视频| 亚洲岛国电影| 17.c黄色| 亚洲电影中文字幕| 99热在线观看免费| 婷婷五月丁香四射| 天天日天天草| 超碰色天堂| 森林影视大全,最好看的2019年视频| 日韩成人中文字幕| 婷婷五月天黄色| 色色网站免费| 丁香五月777| 久久er99| 五月99久久| 涩婷婷五月天在线精品视频| 国产超碰人人| 99精品在线| 日本一级一片免费视频| 色五月天激情| 久久婷婷成人视频| 久久丁香五月婷婷| 97亚洲色 torrent magnet| 久99综合婷婷| 天天日综合网射| 蜜桃五月天| 五月停停直播| 丁香色综合| 97超碰,人人舔,人人操,人人摸 | 1024日韩| 色综合激情| 五月天婷婷激情网| 激情五月天网站| 丁香六月色婷婷欧美| 激情综合五月天| 狠狠色无码| 碰99在线| 丁香婷婷大香蕉| 婷婷六月丁香在线| 91久久精品视频| 九九热这里| a九九热www| 久久久com| 婷婷色五月婷婷姐妹| 专区无日本视频高清8| www五月天激情com| 丁香六月婷婷综合激情欧美| 大香伊人婷婷影院| 可以免费观看的av| 色色国产| 开心五月深爱五月丁香五月激情五月| 日本精品99| www色色com| 婷婷五月天欧美图片在线播放电驴| 青青草Avb在线| 97干网站| 精品国产va久久久| site:picc-up.com| www.99久久久| 奇米四色五月天| 免费播放片大片| 欧美性爱五月天| 草做免费在线观看| www.婷婷网| 色吊操色妞| 26uuu精品一区二区| 婷婷五月天第四色| 色网站99| 区区久久妻| 精品操逼一区二区| 综合久久丁丁香婷| 天天干天天干天天| 中文字幕 码精品视频网站| 天天天天爽爽天干| 五月丁香婷婷综合| 色色五月婷婷| 狠狠精品干练久久久无码中文字幕| 丁香五月五月婷婷| 五月天色图| 婷婷六月视频| 婷婷成人小说综合| 五月丁香六月激情网| 在线只有精品| 久久精品国产色| 六月婷婷毛片| 五月色丁香婷婷中文字幕| 色综合久久88色综合天天看| 欧美WW在线网| 婷婷五月色网| yazhou seshipin| 精品女人九九九| 操97在线观看| 婷婷五月丁香亚洲| 97久久婷婷色| 国产真实乱了老女人视频| 男女99免费视频| 《蜘蛛女》梁铮1995| 婷婷五月天va| 26uuu激情五月天| 性爱AV天堂| 亚洲色图45p| 成人在线高清| 天堂综合久| 91综合网| 婷婷色吧| 97久久人人操| 人妻自慰在线| 五月激情综合婷婷| 甈你aaaaa| 777精品成人a v久久| 五月开心婷婷网| 亚洲婷婷91丁香| 99精品高潮| 97日本在线| 丁香五月天激情四射网络不好| 丁香,开心成人,久久| 欧美人与性动交CCOO| 97色色视频| 狠狠干在线| 色综合色色色| 99精品国产乱码久久久人妻| 色五月 婷婷, 大香蕉| 91|疯狂丨高潮丨对白| 免费国产VA国产免费| 99热这里只有精品1025| 亚洲精品操一操、噜一噜、摸一摸、爽 | 丁香五月性爱| 五月婷婷亚洲天堂激情在线| VA婷婷亚洲| 密桃激情五月天综合网| 人妻啪啪啪| 五月丁香六月玩女人| 婷婷五月婷婷| 久久久久久久人妻| 蜜乳AV成人| 日日噜噜久久婷婷五月天| 综合九色| 五月丁香六月婷婷亚洲天堂网站| 亚洲中文乱字字幕线在永久| 五月狠狠| 日产精品久久久久久久蜜臀| www色综合亚洲92| 婷婷色片| 五月婷婷六月丁香综合视频在线| 婷婷色五月在线视频| 99热精品观看| 狠狠色 综合色区| 五月婷婷www| 超碰9| 激情久久四色| 婷婷在线激情| 亚洲色无码A片一区二区麻豆| 蒲京久久无码视频| 婷婷偷拍网| 色综合网综合| 丁香婷婷六月| 久久思思99| 色婷婷操逼| www.minyis.com【JT】实力收量可预付QQ2101460746 | 五月开行婷婷色五月| 91se在线观看| 色综合久久之分久久| 99热在线看| 精品视频这里只有精品| 99ri视频在线播放| 五月天婷婷狂暴白浆| 9久久婷婷国产综合精品性色| 99久热这里有精品| 天天操加勒比| 日本欧美999久久久三级片| 久9视频| 五月天堂在线| 久热超碰| 色婷婷XXXXX| 色综合久久88色综合天天| 五月婷婷婷| 婷婷影院A成人| 91九色丨国产丨爆乳| 99色热视频| 丁香五月综合婷婷| 99色久| 色国产五月| www.婷婷亚洲基地| 97干在线看| 2025天天爽天天摸| 九九热在线精品视频| 97极品在线| 婷婷九月丁香久久| 最近中文字幕大全免费版在线| 婷婷的色色五月天| 99re视频精品| 极品五月天| 亚洲色五月天是什么| 99WWW免费视频| 激情五月综合ì香亚洲| 高清无码网址| 98毛片| 激情五月小说婷婷| 丁香五月自拍| 91狠狠色丁香婷婷综合久久精品| 黄色激情久久| 色婷婷亚洲| 操逼巨乳91| 婷婷五月天在线观看第二页| 亚洲啪| 五月天综合区| 久久五月婷婷综合网| 激情丁香婷婷五月天| 天天看A片| 97色97干| 人人爱操| 成人深爱丁香五月| 国产全是老熟女太爽了| 婷婷五月天,影院| 99九九久久| 天天摸天天舔在线视频| 丰满人妻妇伦又伦精品国产| 色婷婷九月综合| 国产午夜精品AV一区二区麻豆| 国产日批视频| www99精品日韩| 综合狠狠五月婷婷| 日韩一级| 五月天天天天天天天天天天天天天天天婷婷婷| 97碰成超视频免费视频| 国产97色在线| 成人五月天婷婷| 丁香六月婷婷综合| 人妻VideOssS人妻| 99玖玖人人| 色欲影香| 色综合爽| 五月天丁香啪啪啪啪| 久久99性爱| 久热爱大香蕉在线蜜臀悦色| 久热黄色| 婷婷激情五月天色| 久久99久久久久久久噜噜| 婷婷激情视频欧美视频自拍视频欧美剧| 超碰人人妻| 五月丁香六月婷婷色日| 色综天天综合| 亚洲欧美综合7777色亭亭| 九九草草逼| 天天日天天日天天搞| 一片AV片免费播放| 9999久久久久| 精品无码99| 亚洲午夜Av| 99热超碰在线| 伍月婷婷六月丁香| 啪啪激情网| 香蕉综合网| 五月婷婷久草在线视频综合| 丁香六月啪| 一本大道伊人AV久久综合| 婷婷六月色播| 色综合婷婷| 天天色天天操天天射| 色五月色五天免费视频| 亚洲色涩视频| 亚洲精品在线视频| 亚洲情综合五月天| 99操久久| 99精在线| 91视屏在线观看com.wwwvv| 大香蕉人人网| 中文幕无线码中文字蜜桃| 狠狠做深爱婷婷久久综合一区| 91热在线| 91精品国产色猫| 26uuu| 激情五月丁香综合网站| 99re热精品视频国| 婷婷综合色网| 婷婷桃色网| 丁香六月啪| 99热只有这里才是精品| 凹凸7777操操操| 69精品无码一区二区三区| www.色五月| 99国产在线| 免费的日逼视频| Www.狠狠| 五月婷在线视频免费播放| 91色色色18| 1024成人免费看| 九九热精品视频在线观看| 激情六月综合| 99热这里只有精品2016| 国产伊人五月天| 久久婷婷五月综合啪| 清纯唯美 激情四射| 99免费热视频在线| 五月婷婷日| 激情婷婷丁香色五月| 丁香六月AV| 激情綜合網址| 日韩无码人妻一区二区| 亚洲视频在线观看区| 婷婷综合激情| 五月婷婷激情网| www.五月天色色.com| 亚洲性爱区无码区| 夜夜爽天天日| 人人操人人爱丁香五月| 草AV9999| 丁香五月AV综合激情| 色情性爱视频网址| 天天肏屄夜夜爽| 久久综合中文| 五月天激情播播网| 99热日韩这里只有精品| 丁香五月日啪| 97色色色色色色色色色色色色色| 深爱五月中文字幕| 色综合久久天天综合网| 天天狠狠色噜噜| 激情五月丁香色婷婷| 五月开心婷婷网| www.91久久| 丁香五月AV| 色噜久| 久久久久久久久久婷婷| 五月丁香久久呀| 激情综合色婷婷啪啪六月天| 六月丁香停| 4399欧美另类视频| 中美日韩成人在线| 激情五月天噢美| 色五月婷婷综合| 超碰免费99| 精品成人久久久久久久_一二三四视| 99在线免费观看| 成人婷婷| 国产精品大香蕉| 国产AV国片偷人妻麻豆| 91人妻九色大屁股| 婷婷激情五月视频| 婷婷亚洲天堂| 亚洲AAAA网| 丁香五月综合网亚洲综合欧美狠狠| 五月婷婷五月天亚洲无码| 夜夜做夜夜愛| 一起草Av| 亚洲宗合激情| 欧美日韩国产伦精品日韩人妻一| 色综合久久久久| 久久婷婷成人视频| 操射国产日本| 日韩无码成人电影| 激情AV综合| 亚洲爱婷婷| 999热在线视频| 激情影院内射| 五月婷婷在线视频| 五月激情小说| 亚洲精品另类| 丁香五月情色| 操日挥操日日| 这里只有精品视频在线| 久草婷妨| 丁香五月天在线观看视频| 五月亚洲激情| 思思热在线| 99日韩| 婷婷五月天国产性感美女演员久久久久| 99久久久精品| 五月天五月色婷婷综合| 深爱激情丁香| 国产真实乱了老女人视频| 欧美日本高清视频99| 五月天综合在线| 无码人妻一区二区三区免费九色| 大香蕉精品视频| 艳妇野外情欲放荡HD| 在线超碰91| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 99日本精品视频热| 玖玖资源天天无码| 丁香六月婷婷| 日韩在线成人电影| 人妻肉射免费观看| 亚洲激情另类| 五月天综合久久丁香91| 99热在线观看这里只有精品| 婷婷色五月天在线| www.综合久久| 天天色天天色天天色天天色天天色| 4399在线日本A片| 婷婷综合九色伊人| 天天成人综合| 男女99免费视频| 亚洲av成人一区二区电影在线| 亚洲一个色| 色婷婷丁香五月| 成人丁香婷婷| 五月天a婷婷伊人| 亚洲综合五月天婷婷丁香| 99精品综合在线| 性小说五月天| 五月天激情网图片| 人人爽天天莫| 狠狠色婷婷777| 丁香婷婷性久久| 开心五月综合| 超碰在线观看三级片| 久久永久网址| av人人干| 99er日韩| 亚洲激情五月| 无码地址| 在线播放中文字幕| 亚洲五月丁香综合网| 色五月天堂| WWW,五月| PORNY九色9l自拍视频成人| 免费AV在线网址| 狠狠干五月丁香综合网| 碰久久精品w| 噜噜噜精品欧美成人在线观看| 色优久久| 深爱开心激情网| 1000部毛片A片免费观看| 啪啪啪综合网| www.天天干| www.久久爱| 91se在线观看| WWW99热| 欧美五月婷婷| 99九九视频| 桃色五月婷婷| 久久久婷婷婷| 麻豆123区| 一区二区成人电影免费播放| 深爱五月最新网址| 丁香久月| 色婷视频| 99视频久久免费视频| 伊人综合网站| 热99只有里视频| 亚洲中文字幕在线电影| 婷婷五月激情网| 丁香六月啪啪啪| www.国产色| 99热日韩这里只有精品| 玖玖99婷婷| 人人爱人人摸人人澡| 免费看片操逼| 五月丁香六月婷婷久久| 26uu| 97碰碰碰| 五月天婷婷激情| 色婷婷五月网| 九伊人网| 五月丁香影视| 99久在线精品99re8热| 五月丁香婷婷综合视频| 91精品久久久久久77777| 狠狠擼综合| 五月婷婷亚洲综合在线 | av首页在线| 七七色色综合| 色五月婷婷五月久久| 99久久天堂婷婷| 久久精品视频99| 婷婷成人在线| 午夜日韩久久久网站| 国产亚洲99久久精品| 99热这里只有精品13| 天天色综| 狠狠精品干练久久久无码中文字幕| 五月丁香六月激情综合欧美| 激情文学 综合 色| 97碰操| 内射综合网| 变态 另类 在线| 国产性爱一级| 激情综合网 激情五月天| 一区二区乱码视频| 丁香色色五月| 99久久9| 婷婷五月情| 五月婷婷综合热| 亚洲av成人电影在线观看| 色婷婷网| 久久久久久9| 六月婷婷亚洲| 激情影院内射| 五月丁香六月在线| 日韩色色视频| 噜噜色噜噜网| 我要色综合五月婷婷| 色婷婷五月成人网| 欧美色片中文字幕久久久久| 日本三级中国三级99人妇网站| 丁香五月,激情五月,深爱五月| 久久婷五月天| 亚洲成人网站在线播放| 丁香婷婷久久五月天| 超碰在线国产| 超碰成人在线观看| 久久这里只有精品热在99| 丁香久色| 综合五月草| 亚洲av日韩无码| 五月刺激丁香月综合| www.zbzhongsen.com| 色五月色图| 久久这里有精品| 五月天婷婷视频30| 五月丁香av在线| 婷婷五月天成人导航| 五月丁香网站| 伊人狠狠色婷婷综合丁香一区| 婷婷五月天天| 中文字幕在线aⅴ免费观看| 能看的av网站| 天天狠狠夜夜狠狠2023| 五月婷色| 欧美黄色AA片哗啦啦啦| 97超碰人人操| 91偷拍视频| 婷婷午夜综合| 婷婷色啪| 久久久97| 色激情五月| 婷婷射丁香| 99热亚洲| 精品久久99码| 人人播| 丁香六月婷婷久久综合| www.99热视频| 精品一二三区久久AAA片| 久草五月| 成人做爰黄A片免费看直播室男男| 久久ww| 国产精自产拍久久久久久蜜| 中文网AV| 久婷婷五月丁香在线观看| 99er这里只有精品| 六月婷婷日| m色激情网| 天天射色五月天| 婷婷激情小说| 六月婷久久| av狠狠操| 日本强伦片中文字幕免费看| 天天综合网~91| 97婷婷久久丁香| 九九九九大香蕉| 五月婷在线观看| 人人草成人视频| 狠狠搞综合色| 欧美丁香婷婷五月天| 婷婷六月天天| 亚洲色啪| 五月做爱| 色色免费网站| 伊人五月人妻精品| 欧美中文五月天| 99热亚洲| 95精品区一区二| 久久久精品99| 久99视频| 日日撸日日操| 97碰碰视频在线观看| 99激情| 中文字幕婷婷在线| 九九99在线观看视频| 丁香六月爱综合| 激情綜合網址| 少妇伦子伦精品无吗| 五月丁香婷色| 99热这里有精品6| 99av视频| 狠狠干夜夜干| 99ri视频在线观看| .操區COm| 久久9热| 午夜不卡久久精品无码免费| 成人综合视频在线| 99热这里只有国产精品| 97久久久久| 色播jjjj| 五月天婷基地| 第四色五月婷婷| 丰满少妇猛烈A片免费看观看| 国产亚洲99久久| 天干干夜夜操| 亚洲中文字幕av| 婷婷在线日韩综合| 色五月开心婷婷| 丁香五月成人av| 伊人无码高清| 成人欧美日韩| 99热最新国内| 青草性爱视频| 综合AV在线| 69久久久| 热久久66| 九九热视频在线观看| 99久久www| 久久久精品人妻录| 无码日本精品XXXXXXXXX | 色99热| 亚洲综合五月| 不卡成人免费| 能看的av片| 无码色色色| 成人电影在线免费试看| 伊人五月天在线| 婷婷中文字幕欧美| 色国产五月| 激情五月激情综合网| 99福利导航| 婷婷欧美| 欧美啪啪网| 色噜噜狠狠插综合| 天天日色情| 五月丁香好婷婷A片网| 大香蕉综合在线| 五月天激情影院| 久久色9| 久九九热| 五月激情在线| www.99热这里精品| 色五月在线播放| 久热精彩视频98| 青青草原99热| 欧美十二区| 丁香五月丁香伊人| 一区二区三区四日本| 亚洲丁香五月天在线视频| 97色色色| 99热99思午夜精品| A片试看120分钟做受视频红杏| www.激情在线| 久久精品99国产精品日本| 久热这里只有精品3| 五月天婷婷激情| 久久er免费视频| 天天操天天插| 777.色色| 夜夜嗨一区二区三区直播内容 | 婷婷性爱影院| 一逼色综合| 五月婷婷影| 五月天婷a在线| 狠狠色综合网| 五月丁香婷中文字幕| 久久久婷婷五月天| 天天日夜夜帕| 香蕉97碰碰碰超视精品| 91色综合网| 久久九九99| 五月丁香在线| 成人性爱精品视频| 黄色一极大片| 91色综合| 婷婷激情综合色五月久久,色婷婷丁香花,丁香婷婷五月情天,久久婷婷五月综合色 | 日韩AV在线电影| 天天狠狠六月婷丁香影院| 嫩草视频观看| 网站免费一站二站| 六月婷婷影院| 国产色视频网站2| 亚洲永久免费| 五月婷婷开心色伊人| 久久婷婷超碰| 婷婷六月综合基地| 六月激情久久婷婷| 人妻在线观看视频| 色热久| 色五月激情五月丁香五月婷婷啪啪综合| 精品国产AV色一区二区深夜久久| 深爱激情五月婷婷| 99久.| 天天碰夜夜操| 91ncm视频| 色五月婷婷少妇人妻| 奇米影视在线视频| 97色在线| 女人天堂 AV| 亚洲天堂热| 五月天婷久久| 久99视频在线观看| 丁香5月啪啪| www.久久综合| 久久A极片| 日韩人妻无码精品| 夜夜夜叫天天天做| 久久人人九九| 天天综合网~91| 欧美va在线| http://www.sd-xiangsu.com/| 婷婷综合色色| 久久一操| 无码人妻AV久久久一区二区三区 | 五月黄色婷婷| 九九碰九九爱97超碰| 激情五月婷婷综合| 丁香五月色综合色播五月| 丁香久久九九99| 国产毛多水多女人A片| 超碰国产在线观看| 天天热夜夜操| 亚洲性受XXXX五月丁香| 伊人久久大香线蕉综合网站| 粉嫩AV久久一区二区三区| 超碰在线9| www.亭亭五月天| 99视频超级精品| 国产综合婷婷| 亚洲天堂九九九| 国产精品A成V人在线播放| 伊人久久婷| 啪啪小说五月天| 五月丁香婷色| 九九热这里只有精品5| 亚洲无码黄色| 97自拍视频网| 美女婷婷激情亚洲| av国产精品| 色色色成人网| 99热e| 久色大| 日韩五月丁香| 色色五月婷婷丁香| 五月欧美色色五月| 狠狠五月天婷婷| 99er这里只有精品| 超碰在线国产| 91人人操.COM| 97色色综合| 婷婷五月激情视频网| 草榴视频黄色网| 婷婷丁香红五月91C| 少妇2做爰HD韩国电影| 天天干一干| 天天干天天色综合| www.色五月| 色婷婷网| 一级性爱视频| 激情亚洲网| 亚州操人在线视频| 泰州成人视频| 日本色婷婷| 996er热| 亚洲五月婷| 中文字幕成人| 激情六月天| 伊人综合网站| 色和综合网| 国产jd1024基地手机看国产| www久久久久久久久久久久久久久久久| 双性美人被调教到喷水A片| 五月天激情国产综合婷婷婷| 欧美交换配乱吟粗大25P| 欧美丰满熟妇BBB久久久| 久久久婷| 最新无毒无码AV| 丰滿爆乳一区二区三区| 操逼视频网址| 久久婷婷东京热大香樵| 五月丁香色婷婷色| 色欲婷婷五月天| 久思思久视频| www好屌操| 五月天另类图片| 综合噜噜| 99久久婷婷国产综合精品草原| www婷婷| 国产XXXX搡XXXXX搡麻豆| 97luluse| 成人永久免费视频在线观看| 日本一级黄色电影| 婷婷五月丁香在线观看| 懂色AⅤ| 欧美日韩成人在线网站| 天天日,天天插| 亚洲精品又粗又大又爽A片| 99热最新国内| 狼友超碰| 婷婷五月AA五月在线| 色婷亚洲| 色色激情五月| 熟女人妻一区二区三区免费看| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 欧美久草在线日本一级特黄大片做受9在线观看韩国电影《两个女人》未删减-毛片 | 26UUU欧美| 久久艹 五月天| 色五月婷婷激情基地| 六月丁香婷婷视频综合在线观看| 伊人狠狠狠综合| 五月婷婷色播| 九九色精品| av一区免费看| 精品久久99| 欧洲亚洲激情五月天在线| 日本狠狠干| 天天做天天爽| 丁香五月婷婷99| 【乱子伦】黄色| 亚洲视频图片婷婷五月| 日本丁香五月| 天色色综合网| 五月丁香色色综合| 五月亭亭开心网| 久99| 99re热在线视频观看| 99这里的视频都是精品| 天天精品视频免费观看| 婷婷亚洲天堂| 夜色综合网| 99视频精品8| 99热老网站| 九久热| 激情精品久久| 色综合九九色综合88| 97色精品视频| 秋霞三级色戒| 91丁香五月| 婷婷五月色综合香五月| 婷婷丁香五月天综合AV| 99热这里只有精品66| 国外亚洲成AV人片在线观看| 伊人色综合久久久| 五月激情基地| 婷婷五月天色色| 91久久精品无码一区二区三区| 久久这里只有国产精品视频| 国产亚洲在线观看| 九色激情网| 人人人人人人人草| 麻豆AV一区二区三区| 成人亚洲精品| 天天弄天天操| 9色小视频在线观看| 天天噜天天爱| 精品五月天| 婷婷五月色影视先锋| 婷婷五月亚洲一本在线丁香| 欧美成人一区二区三区在线视频| 丁香五月激情六月欧亚激情综合导航 | 五月香婷婷| 五月丁香亭亭操逼| 色婷婷激情| 丁香六月激情国产| 蜜臀嫩草| 一二线视频 另类| 开心亚洲久久开心| 天天做天天爱| 综合婷婷| 啊v视频在线观看| 国产av影片| 秋霞AV淫| ′久久99一| 狠狠色成人影片| 91碰九色| 永久精品| 99碰碰中文| 99精在线| 色婷婷瘦婷婷日韩| 婷婷丁香18| 91综合在线观看首页| 婷婷综合精品视频97| a毛片二逼wwwwwwwwww| 色狠狠综合| 欧美日韩婷婷五月天| 日韩色情亚洲五月天婷婷| 日本视频不卡123区| 色五月天综合| 婷婷综合性爱网| 色情五月天A片| 五月婷婷综合在线视频| 天天天操天天天日| 色射7856五月天激情四射| 综合网五月| 亚洲精品在线视频| 99热这里只有精品1025| 色色丁香婷婷| 狠狠干五月天| 五月丁香直播| 香蕉曰比| 播五月开心婷婷欧美综合| 久大香蕉| a久久| 五月丁香婷婷啪啪综合网| 免费日本aⅴ中文字幕 | 六月五月天婷婷涩播在线| www.激情五月天| 久热婷婷在线视频| 人妻AV在线观看| www.99热日韩.com| 欧美成人AAA片一区国产精品| 26UUU精品一区二区c〇m| 草榴成人影片| 91久久电影| 99热网站| WWW色五月| 99久视频| 91五月天| 免费在线观看AV网站| 26uuu最新地址| 亚洲无码另类| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 91九色欧美| 久久99网站| 激情婷婷五月天日本系列| 日本在线99| 九九色逼| 色五月六月| 任你爽视频| 国产干逼片| 婷婷伊人综合中文字幕| 色宗合,宗合网| 婷婷日本色| 第四色五月天| 深夜激情网| 99视频精品| 亚洲无码性爱| 在线播放中文字幕| 亚洲VA在线| 五月丁香自拍| 日韩黄色中文字幕| 欧洲综合视频| 99久久综合精品五月天| 婷婷丁香色情| 午夜精品久久久久久久爽| 超碰国产AV| 丁香激情六月天婷婷| 99热国内精品| 亚洲综合五月天婷婷| 香蕉综合在线| 婷婷五月视频| 婷婷五月综合婷婷| 九月久久婷婷| 亚洲午夜成人av电影网| 中文字幕综合网| 婷婷五月成人系列| 99热久久这里只有精品| 免费AV在线| 99丁香五月| 五月丁香色色网| 超碰在线观看9| 激情五月丁香综合网站| 五月激情六月| 亚洲最大在线| 婷婷六月丁综合| 无码人妻丰满熟妇奶水区码| 九九热中文| 亚洲五月花| 思思热99在线| 五月婷婷激情四季| 99热免费精品| 成片免费观看大全| 五月天色小说| 丁香婷婷大香蕉| 99精品久久久| 人人爱摸视频| 色色色.COM| xxx综合在线| 激情五月图| 九九色综合| 99网址在线看| 久99精品视频| 久久久久视剧HD| 伊人热在线大香蕉| 欧洲色| 欧美成人va| 六月丁香啪啪| 日本色99| 久久WW| 色色色综合网| 这里只有精彩视频| 丁香五月激情五月开心五月| 久久成人精品视频| www.minyis.com【JT】国内CDN落地页保证转化QQ2101460746 | 五月丁香六月激情| 26UUU精品一区二区| 日夜夜久久| 99亚洲色| 久久免费视频62| 亚洲小视频| 五月婷婷六月婷| 五月婷婷福利| 伊人色综在线| 秋霞三及片| 国产裸舞表演WWWW| 亚洲精色| 99色免费观看全部| 丁香五月图片| 人妻久热| 六月丁香婷婷综合狠狠爱夜夜爱| 婷婷五月综合激情免费| 涩婷婷五月天| 久久这里都是精品| 伊人婷婷五月天| 激情五月天综合| 成年人丁香五月| 色色色在线观看| 精品在线网站| 久草五月天| 九月婷婷综合| 亚洲第一成人无码A片| 久久五月婷婷综合网| 日本在线观看99| 丁香久久激情俄| 伊人九九综合| 日韩无码成人电影| 五月丁香综合激情在线观看| 丁香婷婷久久激情| 天天日天天干天天插天天射| www,99热| 五月丁香好婷婷A片网| 天天天天天日| 久久AAAA片一区二区| 久久视9精| 亚洲五月天色色| 色琪琪一综合久久激情五月视频| 级情九色| 678五月丁香亚洲综合| 婷婷五月天激情丁香| 亚洲综合另类| 99久在线精品99re8| 狠狠操狠狠色| 五月激情射| 久久九九怡红院| AV天堂婷婷五月天| 波多野结衣AV无码Porn| 99视频在线| 九九久久9 9在线观看| 九九热99熟女| 99热国内| 国产精品VA在线| 六月 丁香 视频| 伊久大香蕉| 婷婷激情人妻| 婷婷 激情 五月| 婷婷五月天第三页| 婷婷另类小说| 91熟妇大香蕉| 色婷婷丁香五月天| 天天干天天色天天干| 中文字幕AV网址| 国产精品久久久久久久久久| 91天堂网综合| 色9色| 99热只有这里有精品| 色婷婷99| 4399高清无码视频| 丁香五月日本| www.婷婷.com| av在线播放网站| 色色爽爽天天| 色婷婷六月天在线| 99热在这里只有精品| 极品嫩草| 26uuu国产色| 91九色国产熟女| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 色婷婷婷av| 日本婷婷| 午夜精品久久久久久久爽| 青青草色在线视频观看| 开心激情站婷婷五月天| 亚州操人在线视频| 久久艹网| 激情www.98com| 97色婷婷| 久久 无毛。| 甈你aaaaa| 午夜一区| 91avse| 久久99热在线观看| 影音先锋高清无码资源网| 婷婷五月综合激情| 另类激情五月在线视频欧美| 亚洲三A| 久久五月天合网| 美女激情综合| 九月大香蕉| 五月丁香五月天现场视频| 亚洲这里只有精品| 九九色色色| 五月婷婷六月丁香在线| 欧美日韩二区在线| 狠狠干天天内射| 日韩欧美一级大黄网站| www综合久久| 79色色色色| 丁香五月婷婷激情97| 99精品视频在线免费观看| www.久久99| 任你日视频| 五月丁香激情综合啪啪| 国产亚洲成人综合| 六月婷婷国产| 亚洲中文字幕在线观看| 欧美又粗又大一区二区在线观看| 亚洲综合九九| 久久婷婷五月综合色奶水99啪| 五月丁香六月激情综合| 99啪在线视频| 五月天另类小说| 久久综合九色综合88i| 中文字幕性爱丰满| 超碰成人黄色网| 精品九九视频| 亚洲春色奇米影视| 激情婷婷五月色| 中文字幕 中文字幕明步| 高清激情av在线观看| 日本人妻A片成人免费看片| 婷婷色播色五月五色五月天色妇| 夜夜骑夜夜撸| 五月丁香六月婷婷综合在线| 在线只有精品| 国产裸舞福利资源在线视频| 色色婷| 夜夜操少妇| www,setingting| 婷婷成人五月天成人文学小说| 五月天丁香啪啪啪啪|