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

ARTICLE DETAIL

資訊詳情

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

angr寄存器符號(hào)化實(shí)戰(zhàn):從符號(hào)執(zhí)行到逆向約束求解

angr寄存器符號(hào)化實(shí)戰(zhàn):從符號(hào)執(zhí)行到逆向約束求解 前幾篇筆記把 angr 的環(huán)境搭建、Project 加載、符號(hào)執(zhí)行的基本流程都過了一遍今天這篇單獨(dú)寫一個(gè)特別容易踩坑、但又特別出效果的點(diǎn)寄存器符號(hào)化。很多剛接觸符號(hào)執(zhí)行的朋友會(huì)有一個(gè)困惑我用 angr 跑一個(gè)二進(jìn)制明明已經(jīng)拿到了控制流為什么條件分支里的變量還是“看不懂”或者我想分析某個(gè)函數(shù)的輸入輸出關(guān)系但程序是從文件、網(wǎng)絡(luò)、硬件里讀數(shù)據(jù)參數(shù)根本不在內(nèi)存里我怎么讓 angr 知道“這里有一個(gè)未知值”答案就是寄存器符號(hào)化。把 CPU 寄存器從“具體的 0 或 1”變成“一個(gè)待求解的符號(hào)表達(dá)式”讓 angr 在模擬執(zhí)行時(shí)把這個(gè)符號(hào)一路攜帶、一路參與運(yùn)算、一路約束下來最后用求解器反推出滿足條件的取值。這篇筆記就圍繞這個(gè)主題展開適合已經(jīng)跑通 angr 基礎(chǔ) demo、但想深入做函數(shù)級(jí)分析的人。1. 寄存器符號(hào)化到底在解決什么問題1.1 具體執(zhí)行和符號(hào)執(zhí)行的差別先從一個(gè)最樸素的視角看起。普通調(diào)試器執(zhí)行程序時(shí)寄存器里裝的一定是具體數(shù)字比如eax 0x7fffffffe2a0、rcx 3。每一步運(yùn)算都會(huì)產(chǎn)生一個(gè)確定的新值我們順著執(zhí)行流走一遍能看到的只是“某一條路徑”上的結(jié)果??扇绻绦蛴?100 個(gè)條件分支每次輸入不同走的路徑就不同用具體執(zhí)行去試那真是大海撈針。符號(hào)執(zhí)行的思路完全不同它允許寄存器里裝的是一個(gè)“未知數(shù)”。比如我新建一個(gè)狀態(tài)把rdi設(shè)成符號(hào)變量x之后 CPU 執(zhí)行add rdi, 5時(shí)angr 不會(huì)去算出一個(gè)具體數(shù)字而是記下“此時(shí) rdi 的表達(dá)式是 x 5”。等執(zhí)行到某個(gè)判斷指令cmp rdi, 100時(shí)angr 會(huì)分別往兩個(gè)分支走一個(gè)分支里額外記錄約束x 5 100另一個(gè)分支里記錄約束x 5 ! 100。這個(gè)過程很像我們?cè)诟咧袛?shù)學(xué)里“帶著未知數(shù)做題”只不過符號(hào)執(zhí)行把每一步的表達(dá)式、每個(gè)分支的約束都自動(dòng)化地累加了下來最后交給 SMT 求解器angr 默認(rèn)用 Z3去解。寄存器符號(hào)化就是整個(gè)鏈條的起點(diǎn)告訴模擬器“這個(gè)寄存器里是一個(gè)我還沒定下來的值”。1.2 寄存器符號(hào)化的典型應(yīng)用場景寄存器符號(hào)化最常用的場景我總結(jié)成三類。第一類是逆向分析中的函數(shù)級(jí)分析。你拿到一個(gè)二進(jìn)制在 IDA 或 Ghidra 里看到一個(gè)關(guān)鍵函數(shù)sub_401120它的參數(shù)來源是程序前面復(fù)雜的計(jì)算或者干脆是外部設(shè)備的輸入。你不想把整個(gè)程序都跑一遍只想單獨(dú)分析這個(gè)函數(shù)的行為那就在函數(shù)入口處新建一個(gè)狀態(tài)把參數(shù)寄存器符號(hào)化然后只分析這個(gè)函數(shù)的邏輯。第二類是路徑條件還原。程序里有一段加密、校驗(yàn)或者關(guān)鍵判斷邏輯你希望知道“滿足什么條件才能走到某個(gè)分支”。這種情況下符號(hào)化的參數(shù)會(huì)被帶到分支判斷中angr 自動(dòng)收集路徑約束你最后用 solver 求出滿足條件的值這就是約束還原。第三類是物聯(lián)網(wǎng)固件、驅(qū)動(dòng)、Shellcode 這類“無操作系統(tǒng)上下文”的分析。這類樣本經(jīng)常直接從寄存器里拿數(shù)據(jù)比如從硬件寄存器讀取狀態(tài)、從某個(gè)約定的寄存器接收參數(shù)內(nèi)存里的狀態(tài)幾乎不可依賴。這時(shí)候寄存器符號(hào)化幾乎是唯一干凈地建立抽象輸入的方法。1.3 為什么偏偏是“寄存器”不是普通變量你可能會(huì)問符號(hào)執(zhí)行不是也能符號(hào)化內(nèi)存變量嗎為什么單獨(dú)把寄存器拎出來講因?yàn)榧拇嫫魇?CPU 與程序邏輯交互的最短路徑。函數(shù)調(diào)用約定規(guī)定參數(shù)先放寄存器系統(tǒng)調(diào)用通過寄存器傳遞調(diào)用號(hào)和參數(shù)硬件狀態(tài)通過寄存器暴露給軟件。你想給一個(gè)函數(shù)“喂輸入”本質(zhì)就是在給它“喂寄存器”。而內(nèi)存符號(hào)化通常要處理地址空間、大小端、棧布局稍不留神就和真實(shí)執(zhí)行對(duì)不上寄存器符號(hào)化則簡單得多一個(gè)state.regs.rax BVS就能解決。另一個(gè)實(shí)踐層面的原因是angr 對(duì)寄存器符號(hào)化的支持非常完善state.regs這個(gè)屬性可以按架構(gòu)自動(dòng)映射所有通用寄存器的名字和位寬還會(huì)處理別名關(guān)系比如rax和eax。這比手動(dòng)去構(gòu)造內(nèi)存地址、手動(dòng)讀寫棧要可靠得多。后面我會(huì)具體展開這塊。2. 動(dòng)手之前angr符號(hào)化必備基礎(chǔ)2.1 claripy與BVS/BVVangr 的符號(hào)表達(dá)式底層由名為 claripy 的庫實(shí)現(xiàn)。你不需要把 claripy 的所有 API 都背下來但兩個(gè)最基礎(chǔ)的概念必須清楚。第一個(gè)是BVS全稱 BitVectorSymbol用來創(chuàng)建一個(gè)符號(hào)位向量。它有兩個(gè)核心參數(shù)名稱和位寬。名稱只是給這個(gè)符號(hào)起的字符串名字通常是給人看的比如flag、arg0不一定需要唯一但實(shí)踐中建議起成有含義的名字因?yàn)楹罄m(xù)調(diào)試 AST 時(shí)你會(huì)靠名字辨認(rèn)變量。位寬必須是整數(shù)常見的有 8、16、32、64。創(chuàng)建一個(gè) 32 位符號(hào)變量寫法是import claripy x claripy.BVS(x, 32)第二個(gè)是BVV全稱 BitVectorValue用來創(chuàng)建一個(gè)具體值的位向量。比如claripy.BVV(10, 32)表示一個(gè) 32 位的具體數(shù)值 10。你可能覺得這不是多余嗎直接用 Python 的int不就行了不行。因?yàn)樵?claripy 的表達(dá)式體系里符號(hào)變量是 AST 節(jié)點(diǎn)具體值也要以 AST 節(jié)點(diǎn)形式參與運(yùn)算才能統(tǒng)一進(jìn)行位寬檢查和表達(dá)式化簡。如果你把一個(gè) Python int 直接塞給 angr 的某個(gè)寄存器可能會(huì)得到類型錯(cuò)誤或者在運(yùn)算時(shí)出現(xiàn)隱式位寬不匹配。類型名稱用途示例BVSBitVectorSymbol符號(hào)變量代表未知值claripy.BVS(x, 32)BVVBitVectorValue具體值節(jié)點(diǎn)claripy.BVV(0x10, 32)這兩個(gè)概念是所有符號(hào)化操作的基石。在 angr 的SimState里你通??梢灾苯佑胹tate.solver.BVS來創(chuàng)建符號(hào)變量它其實(shí)就是 claripy.BVS 的一層封裝效果完全一樣。2.2 SimState與state.regsangr 模擬執(zhí)行的核心對(duì)象是SimState中文常翻譯成“狀態(tài)”。一個(gè)狀態(tài)里包含了 CPU 寄存器、內(nèi)存、文件描述符、求解器、路徑約束等一大堆東西。你可以把狀態(tài)理解成“某一條執(zhí)行路徑在當(dāng)前時(shí)刻的完整快照”。操作寄存器的入口是state.regs。這是一個(gè)類似字典的屬性對(duì)象按寄存器名訪問或賦值。例如在 x86-64 架構(gòu)下state.regs.rax claripy.BVS(input, 64)這一行執(zhí)行后rax就變成了一個(gè) 64 位的符號(hào)變量。接下來任何指令只要讀取rax拿到的都是這個(gè)符號(hào)表達(dá)式的后續(xù)演化結(jié)果。讀取時(shí)也可以直接取state.regs.rax返回的是一個(gè) AST 對(duì)象它的類型是claripy.ast.BV。state.regs真正強(qiáng)大的地方在于它自動(dòng)處理了架構(gòu)差異。同樣是“棧指針”x86 里叫espARM 里叫spangr 都會(huì)映射到對(duì)應(yīng)架構(gòu)的寄存器集合里。你不需要記“這個(gè)架構(gòu)到底用哪個(gè)寄存器存返回值”只要用state.regs.eax或者state.regs.raxangr 會(huì)按照架構(gòu)的寄存器名約定進(jìn)行訪問。如果你的目標(biāo)架構(gòu)比較偏門還可以用state.arch.registers查看到底有哪些寄存器名可用。2.3 最小符號(hào)化骨架代碼一個(gè)最基礎(chǔ)的寄存器符號(hào)化流程可以壓縮成四步加載程序、創(chuàng)建狀態(tài)、符號(hào)化寄存器、求解。下面的代碼是一個(gè)可以照著改的最小骨架import angr import claripy proj angr.Project(./target_binary, auto_load_libsFalse) state proj.factory.blank_state(addr0x401120) state.regs.rcx claripy.BVS(arg0, 64) simgr proj.factory.simulation_manager(state) simgr.explore(find0x401156, avoid0x40116a) if simgr.found: found simgr.found[0] solution found.solver.eval(found.regs.rcx) print(hex(solution))這段代碼里有一個(gè)很多人一開始不理解的細(xì)節(jié)為什么用blank_state(addr...)而不是entry_state()因?yàn)閑ntry_state是從程序入口開始執(zhí)行你很少能直接控制入口處的寄存器值而blank_state允許你指定“從哪個(gè)地址開始模擬”并自由設(shè)置初始寄存器內(nèi)容。做函數(shù)級(jí)分析時(shí)blank_state配合一個(gè)函數(shù)入口地址是最干凈的組合。不過這個(gè)骨架非常粗糙真實(shí)場景里你會(huì)發(fā)現(xiàn)很多坑比如find地址找不準(zhǔn)、符號(hào)變量在某個(gè)指令里被偷偷截?cái)嗔?、求解器給出的解和預(yù)期不符等等。下面我用一個(gè)完整可復(fù)現(xiàn)的例子帶你一步步搞清楚寄存器符號(hào)化到底應(yīng)該怎么寫。3. 寄存器符號(hào)化的完整實(shí)操流程3.1 準(zhǔn)備一個(gè)可復(fù)現(xiàn)的目標(biāo)程序紙上談兵沒意思我寫一個(gè)足夠小、但包含真實(shí)邏輯的程序來演示。假設(shè)我們有這樣一個(gè) C 文件// mystery.c #include stdio.h int mystery(int a, int b) { if (a * b 30 a b 11) { return 1; } return 0; } int main(int argc, char **argv) { int a 3, b 7; printf(%d\n, mystery(a, b)); return 0; }這個(gè)mystery函數(shù)就是我們的分析目標(biāo)參數(shù)a、b通過寄存器傳入函數(shù)內(nèi)部有一個(gè)復(fù)合條件。我們希望做的是不修改程序、不手動(dòng)試值讓 angr 自己把滿足條件的a和b求出來。編譯時(shí)建議關(guān)掉優(yōu)化和 PIE方便找地址gcc -O0 -fno-pie -no-pie -o mystery mystery.c編譯后用nm mystery找到mystery函數(shù)的地址。在我本機(jī)上是0x401126你環(huán)境里的地址可能不同以后面nm輸出為準(zhǔn)。再反匯編看一眼結(jié)構(gòu)確認(rèn)兩個(gè)分支分別落在哪里。為了敘述方便我假設(shè)反匯編后的布局是這樣的0x401126mystery函數(shù)入口0x401156條件滿足時(shí)設(shè)置eax 1并返回的基本塊0x40116a條件不滿足時(shí)設(shè)置eax 0并返回的基本塊實(shí)際分析時(shí)請(qǐng)用objdump -d mystery確認(rèn)不要照抄我的地址。3.2 把未知參數(shù)寫進(jìn)寄存器在 angr 里給函數(shù)傳參除了最直接的state.regs.rdi a還有更規(guī)范的做法call_state。這個(gè)接口能按照目標(biāo)架構(gòu)的函數(shù)調(diào)用約定自動(dòng)把參數(shù)放到對(duì)應(yīng)的寄存器里并且自動(dòng)初始化返回地址和棧幀。對(duì) x86-64 來說mystery的兩個(gè)整數(shù)參數(shù)會(huì)分別放到rdi和rsi。import angr import claripy proj angr.Project(./mystery, auto_load_libsFalse) a claripy.BVS(a, 64) b claripy.BVS(b, 64) state proj.factory.call_state(0x401126, a, b)為什么符號(hào)變量用 64 位而不是 32 位因?yàn)樵?x86-64 調(diào)用約定里即使 C 語言函數(shù)參數(shù)是int參數(shù)寄存器也使用完整的 64 位寄存器rdi和rsi只是讀取時(shí)只使用低 32 位。如果你用 32 位符號(hào)變量賦給state.regs.rdiangr 會(huì)做隱式零擴(kuò)展后面求解時(shí)會(huì)出現(xiàn)一些不好理解的約束。先統(tǒng)一用 64 位符號(hào)變量配合int語義是相對(duì)省心的選擇。這里插一句我自己的經(jīng)驗(yàn)如果你不想關(guān)心調(diào)用約定也可以直接用blank_state加手動(dòng)賦值state proj.factory.blank_state(addr0x401126) state.regs.rdi a state.regs.rsi b兩種方式最終的效果差不多但call_state會(huì)自動(dòng)把返回地址等信息準(zhǔn)備好后續(xù)如果你想分析函數(shù)返回后的行為會(huì)方便很多。本篇以call_state為主線。3.3 設(shè)置探索目標(biāo)和規(guī)避地址符號(hào)化好參數(shù)寄存器之后我們讓 angr 從mystery函數(shù)入口開始跑。但這里有個(gè)關(guān)鍵點(diǎn)我們關(guān)心的不是“程序最終走到哪”而是“走到某個(gè)目標(biāo)地址時(shí)參數(shù)應(yīng)該滿足什么條件”。用符號(hào)執(zhí)行引擎自帶的路徑探索功能我們可以讓 angr 同時(shí)探索所有可能路徑并篩選出我們關(guān)心的那兩條路徑。find參數(shù)指定目標(biāo)地址avoid參數(shù)指定要避開的地址simgr proj.factory.simulation_manager(state) simgr.explore(find0x401156, avoid0x40116a) if simgr.found: found_state simgr.found[0] print(found state at, hex(found_state.addr))find和avoid都可以是地址列表也可以是帶addr屬性的函數(shù)。用函數(shù)會(huì)更靈活比如“當(dāng)eax 1時(shí)停下”但在我們的簡單例子里直接按地址找最直觀。走到這一步angr 內(nèi)部已經(jīng)發(fā)生了很多事情它沿著二進(jìn)制指令一條條模擬執(zhí)行每次遇到條件跳轉(zhuǎn)就分叉出一個(gè)新狀態(tài)每個(gè)狀態(tài)各自保存自己的路徑約束。mystery函數(shù)里那個(gè)復(fù)合條件會(huì)被 angr 拆成多個(gè)分支約束。我們找到的那個(gè)found_state里面的求解器已經(jīng)攜帶了“走到地址 0x401156 必須滿足的所有條件”。3.4 把符號(hào)解回具體值現(xiàn)在到了最關(guān)鍵也最讓人興奮的一步用求解器把符號(hào)變量解成具體數(shù)字。sol_a found_state.solver.eval(a) sol_b found_state.solver.eval(b) print(a , sol_a, b , sol_b)solver.eval的作用是在滿足當(dāng)前狀態(tài)所有約束的前提下給符號(hào)變量求出一個(gè)可行的具體解。在我的環(huán)境里輸出的結(jié)果是a 5、b 6正好滿足5 * 6 30且5 6 11。不過要注意eval只返回一個(gè)解而滿足條件的解可能不止一個(gè)。比如把函數(shù)條件改成a b 5那么解就有無數(shù)多個(gè)eval會(huì)隨便挑一個(gè)。如果你想拿到所有有代表性的值可以用eval(expr, n)一次求多個(gè)解或者用min、max求極值min_a found_state.solver.min(a) max_a found_state.solver.max(a)每個(gè)符號(hào)執(zhí)行狀態(tài)里默認(rèn)帶有一個(gè)solver它內(nèi)部維護(hù)著該狀態(tài)的全部路徑約束。你也可以用found_state.solver.add_constraint(...)手動(dòng)追加約束比如你額外知道“a 必須大于 0”就追加一條再重新求解。追加約束不會(huì)抹掉之前的路徑條件只是讓可行域縮小。到這里一個(gè)最完整的寄存器符號(hào)化流程就跑通了。你可能會(huì)覺得這個(gè)例子這么簡單手動(dòng)心算也能出結(jié)果。沒錯(cuò)但同樣的流程放到幾 MB 的二進(jìn)制、幾十個(gè)嵌套分支里手動(dòng)算是不可能的而寄存器符號(hào)化依然能穩(wěn)定地把約束收集起來這就是它的價(jià)值所在。4. 進(jìn)階玩法從單寄存器到整機(jī)狀態(tài)4.1 寄存器別名與高低位處理真正寫代碼時(shí)會(huì)遇到一個(gè)繞不開的細(xì)節(jié)x86-64 的寄存器別名。rax、eax、ax、al都指向同一塊物理寄存器只是位寬不同。angr 在state.regs里也模擬了這個(gè)行為但有一些細(xì)節(jié)必須注意。如果你先執(zhí)行state.regs.rax claripy.BVS(x, 64)然后讀取state.regs.eaxangr 會(huì)返回x的低 32 位表達(dá)式記作Extract(31, 0, x)。這沒問題。但反過來就有講究了如果你先執(zhí)行state.regs.eax claripy.BVS(y, 32) state.regs.rax ...x86-64 的硬件語義是寫 32 位寄存器會(huì)清零高 32 位angr 在大多數(shù)架構(gòu)下也模擬了這一點(diǎn)。這意味著你寫eax后再讀rax得到的并不是“一個(gè)符號(hào)變量 y 另一個(gè)保留的 rax 高位”而是“y 的零擴(kuò)展”。如果沒意識(shí)到這一點(diǎn)后面求解出來的值可能和你預(yù)期的完全不一樣。實(shí)操建議是在一個(gè)分析中對(duì)同一個(gè)物理寄存器始終使用同一種位寬訪問。如果你主要關(guān)注函數(shù)參數(shù)就都用 64 位符號(hào)變量如果你主要關(guān)注返回值的低 32 位就始終用 32 位讀取。混用別名是很多“莫名其妙”問題的根源。4.2 多寄存器協(xié)同約束單個(gè)寄存器符號(hào)化只是第一步。真實(shí)程序里一個(gè)函數(shù)的多個(gè)參數(shù)往往不是獨(dú)立的它們會(huì)共同參與同一個(gè)判斷條件。我們的mystery例子就是這樣——a和b必須同時(shí)滿足兩個(gè)等式。當(dāng)多個(gè)參數(shù)都是符號(hào)變量時(shí)angr 的路徑約束會(huì)自動(dòng)把它們的關(guān)聯(lián)關(guān)系帶上。你不需要手動(dòng)寫a b 11這樣的額外約束因?yàn)槟M執(zhí)行到cmp指令時(shí)angr 已經(jīng)自動(dòng)把a(bǔ) b 11這條約束加進(jìn)當(dāng)前路徑的求解器了。你要做的只是確保每個(gè)參數(shù)的符號(hào)變量在創(chuàng)建后沒有重復(fù)使用。這里有一個(gè)很容易踩的坑符號(hào)變量的“名字復(fù)用”。很多人會(huì)這樣寫param1 claripy.BVS(p, 64) param2 claripy.BVS(p, 64) state.regs.rdi param1 state.regs.rsi param2兩個(gè)符號(hào)變量名字都叫p但它們是兩個(gè)完全不同的 AST 對(duì)象。angr 不會(huì)因?yàn)樗鼈兠窒嗤驼J(rèn)為它們相等。如果你誤以為同名的符號(hào)變量一定相等最終求解結(jié)果會(huì)讓你困惑很久。正確的做法是給每個(gè)參數(shù)不同的名字并且全程復(fù)用同一個(gè)對(duì)象。4.3 與內(nèi)存符號(hào)化配合使用說完了寄存器再說說寄存器和內(nèi)存的連接。函數(shù)經(jīng)常先把參數(shù)寄存器存到棧上之后再從棧里取出來判斷代碼經(jīng)過編譯優(yōu)化后尤其常見。angr 在執(zhí)行mov [rbp-0x4], rdi時(shí)會(huì)自動(dòng)把符號(hào)表達(dá)式寫入對(duì)應(yīng)的內(nèi)存位置之后從該地址讀出的仍然是同一個(gè)符號(hào)表達(dá)式。這是符號(hào)執(zhí)行非常優(yōu)雅的一點(diǎn)符號(hào)值在寄存器和內(nèi)存之間搬運(yùn)時(shí)不會(huì)丟失其“身份”。更進(jìn)一步你完全可以混合使用寄存器符號(hào)化和內(nèi)存符號(hào)化。比如你想模擬一個(gè)結(jié)構(gòu)體第一個(gè)字段由寄存器傳入的某個(gè)值經(jīng)過計(jì)算得到第二個(gè)字段是固定的內(nèi)存值你就可以stack_var state.stack_load(8, claripy.BVS(stack_data, 64))這里stack_load會(huì)從當(dāng)前棧指針偏移 8 的位置讀入符號(hào)值并把這個(gè)地址標(biāo)記為已初始化。這樣內(nèi)存和寄存器同時(shí)帶著符號(hào)執(zhí)行起來就和真實(shí)程序一樣自然。4.4 還原入口參數(shù)約束的完整思路有了前面的基礎(chǔ)我分享一個(gè)真正在做逆向分析時(shí)非常有用的思路還原某個(gè)關(guān)鍵函數(shù)的入口參數(shù)約束。假設(shè)你有一個(gè)加密函數(shù)輸入是rdi指向的緩沖區(qū)、rsi是長度、rdx是密鑰你手里只有密文和程序想知道密鑰是什么。你可以這樣做找到加密函數(shù)入口地址用call_state創(chuàng)建狀態(tài)把rdi設(shè)成一個(gè)指向符號(hào)緩沖區(qū)的指針rsi設(shè)成具體的密文長度rdx設(shè)成符號(hào)密鑰再準(zhǔn)備一塊符號(hào)化的緩沖區(qū)往里面填入密文字節(jié)作為約束讓 angr 從函數(shù)入口執(zhí)行到函數(shù)返回在返回后的狀態(tài)里檢查緩沖區(qū)內(nèi)容是否等于明文把這個(gè)等號(hào)作為額外約束加入求解器用solver.eval(rdx)求出密鑰。這套方法聽起來很神奇但本質(zhì)上就是“寄存器符號(hào)化 內(nèi)存符號(hào)化 路徑約束 求解”的組合拳。你在自己的分析任務(wù)里也可以把“哪些輸入是已知的”設(shè)成具體值把“哪些輸入是未知的”設(shè)成符號(hào)變量剩下的事情交給 angr 自動(dòng)完成。5. 常見問題與避坑速查5.1 為什么符號(hào)化寄存器后程序直接崩了/狀態(tài)不可行符號(hào)化寄存器之后最常見的報(bào)錯(cuò)是unsat也就是狀態(tài)不可行。原因不外乎三類。第一類是初始約束就矛盾。比如你從一個(gè)blank_state開始前面已經(jīng)手動(dòng)加了state.regs.rax 10后面又符號(hào)化覆蓋了rax之前的約束還掛在求解器里新的符號(hào)對(duì)象和舊約束之間就會(huì)出現(xiàn)矛盾。遇到這種情況清理掉不需要的約束或者干脆新建狀態(tài)。第二類是參數(shù)位寬不匹配。你給一個(gè) 64 位寄存器賦了 32 位符號(hào)變量angr 自動(dòng)擴(kuò)展成零擴(kuò)展而程序指令卻按符號(hào)擴(kuò)展或者按有符號(hào)比較來用導(dǎo)致求解得到的值完全對(duì)不上。解決辦法是統(tǒng)一位寬。第三類是call_state調(diào)用方式不對(duì)。call_state(addr, arg1, arg2)這種寫法必須讓 arg 數(shù)量、類型和函數(shù)真實(shí)簽名匹配。如果函數(shù)實(shí)際有三個(gè)參數(shù)你只給了兩個(gè)angr 會(huì)拿未初始化的寄存器去湊這時(shí)候求解結(jié)果就會(huì)神游四方。用objdump看一眼函數(shù)開頭的幾條指令數(shù)一下到底用了哪些參數(shù)寄存器再回頭檢查調(diào)用。5.2 求解結(jié)果千奇百怪甚至符號(hào)消失了有時(shí)候你明明符號(hào)化了某個(gè)寄存器最后求出來的值卻像是一個(gè)固定常量或者多跑幾步就不見了。這通常不是 angr 的鍋而是某條指令把符號(hào)值“具體化”了。最常見的元兇是系統(tǒng)調(diào)用和庫函數(shù)調(diào)用。如果你分析的程序調(diào)用了外部函數(shù)而 angr 沒有對(duì)應(yīng)實(shí)現(xiàn)它可能返回一個(gè)未約束的具體值符號(hào)變量就斷了。所以我在例子里一直強(qiáng)調(diào)auto_load_libsFalse把外部庫加載關(guān)掉讓不認(rèn)識(shí)的調(diào)用直接返回未約束值而不是嘗試去執(zhí)行庫代碼。另一種情況是state.regs.rax state.solver.BVS(...)之后又被某條mov指令覆蓋了。比如程序開頭就有一條xor eax, eax你的符號(hào)變量在第一條指令就被清零了。排查這類問題時(shí)最有效的工具是打印 ASTprint(state.regs.rax) print(state.regs.rax.args)看輸出結(jié)果里你的符號(hào)變量名字是否還保留著。如果 AST 里已經(jīng)是一個(gè)常量說明在某一步符號(hào)被覆蓋了如果 AST 里出現(xiàn)了Extract、ZeroExt等節(jié)點(diǎn)說明有隱式位擴(kuò)展。很多時(shí)候問題一眼就能看出來。5.3 求解器跑得很慢怎么優(yōu)化符號(hào)求解的耗時(shí)是另一個(gè)大問題。我的經(jīng)驗(yàn)是約束越多、符號(hào)變量越多、位寬越大求解就越慢。尤其當(dāng)程序里循環(huán)次數(shù)多路徑約束會(huì)指數(shù)級(jí)累積一個(gè)很小的函數(shù)也可能讓 Z3 卡上幾十分鐘。幾個(gè)實(shí)用優(yōu)化手段盡量減少符號(hào)變量的數(shù)量。能具體化的輸入就具體化別偷懶全設(shè)成符號(hào)縮小寄存器位寬。比如int類型的參數(shù)用 32 位符號(hào)變量就行非要塞 64 位約束空間大一圈求解成本也上去用explore的avoid參數(shù)砍掉不關(guān)心的分支路徑越少狀態(tài)越少整體求解資源消耗就越低對(duì)單個(gè)狀態(tài)的求解操作可以加超時(shí)控制。angr 的 solver 支持timeout參數(shù)比如eval(expr, timeout10000)超時(shí)返回一個(gè)已知解或拋異常至少不會(huì)讓腳本無限卡死。5.4 我的寄存器值為什么對(duì)不上最后一種常見困惑是“我用 angr 解出來的值放到真實(shí)程序里跑結(jié)果不對(duì)”。我把它列成速查表現(xiàn)象可能原因排查方向求解出的值和預(yù)期差很大有符號(hào)/無符號(hào)不匹配檢查代碼里的條件跳轉(zhuǎn)是jg還是ja目標(biāo)分支找到了但參數(shù)解少得離譜函數(shù)入口地址找錯(cuò)了用nm或反匯編確認(rèn)入口是函數(shù)頭不是中間指令多個(gè)解互相沖突符號(hào)變量名或?qū)ο笾貜?fù)檢查是否復(fù)用了同一個(gè) BVS 對(duì)象解在多次運(yùn)行中不穩(wěn)定求解器選了不同可行解不用糾結(jié)用min/max或追加約束縮小范圍寄存器值總是在中途歸零某條指令覆蓋了寄存器打印相關(guān)地址的反匯編逐條檢查這套表是我在實(shí)際分析中一點(diǎn)點(diǎn)攢下來的基本上覆蓋了大部分新手會(huì)踩的坑。真正遇到詭異問題時(shí)先別懷疑 angr先懷疑自己的地址和約束。最后再分享一個(gè)小技巧我個(gè)人在實(shí)際操作中的一個(gè)體會(huì)是做寄存器符號(hào)化分析建議先別急著直接上完整的大二進(jìn)制而是自己動(dòng)手寫一個(gè)帶三四個(gè)嵌套分支的小程序編譯后用這個(gè)流程反復(fù)練。小程序的每個(gè)地址、每個(gè)分支都是你自己設(shè)計(jì)的遇到問題你能立刻判斷是 angr 的鍋還是自己思路的鍋。等小例子跑順了再拿 CTF 題或者真實(shí)逆向樣本去試會(huì)順手非常多。另外調(diào)試時(shí)一定要多習(xí)慣看 AST。很多人把state.regs.rax當(dāng)成普通 Python 值打印一下就是一個(gè)對(duì)象地址于是放棄。實(shí)際上print(state.regs.rax)會(huì)輸出一棵清晰可讀的表達(dá)式樹比如(x 5)、(Extract(31, 0, x))。學(xué)會(huì)讀這棵樹比看任何日志都管用。寄存器符號(hào)化這個(gè)主題入門看教程深入靠調(diào) AST動(dòng)手實(shí)操幾次就能找到感覺。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲日韩人妻中文字幕一区| 麻豆精品A片免费观看| 一牛一区二区三区久久| 青青草中文字幕| 午夜黄色免费在线观看| 黑人干亚洲| 在线观看黄色电话| 淫荡网址| 自拍第一页| 噜噜吧,噜噜色,噜噜| 97在线视频网站| 青青草自拍视频在线播放| 97在线免费看视频| 日本免费一区二区不卡 | 久操视频这里只有精品| 欧美天堂日韩三级国产传媒| 欧美日韩国产高清在线一二三区 | 在线观看无码三级少妇| 国产成人天堂| 五月丁香综合网| 中日韩免费看男女操逼大全| 国产视频第2页| 韩国一级婬片A片AAAAA| 插日本熟女视频| 一级免费精品| 国内一区二区三区| 99在线观看无大码| 超碰久热| 思思热影视| 久久午夜鲁丝片| 亚洲综合情色| 亚洲日韩黑丝| 亚洲日韩久久精品一区| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 久久女婷| 近亲乱伦一区二区| 岛国视频一二三区| 久久97超碰| 亚洲黄色电影| 精品综合久久久久久97| 欧美第二页午夜| 欧洲一区二区三区四区在线观看| 欧美五十路熟| 精人妻一区二区三区| 亚洲欧美内射| 亚洲综合射| 97爱b| 99国产在线绯色一区| 久久国产精品91| 亚洲欧美精品福利在线| 国模艳艳啪啪一区| 免费一级a毛片久久久久久鸭绿欲 国产精品亚洲天堂网址 | 97超碰色色| 啊啊啊免费| 超碰久久网| 人妻五十路在线| 97操97干| 亚洲三级。日韩三级| 亚洲男人天堂视频| 欧美激情高清性猛交| 久久影视二区三区行押| 欧美亚洲综合高清在线| 国产又黄又粗的视频| 亚洲囯产精品女人久久久| av午夜影院在线播放| 五月天综合| 第45页一区二区| 亚洲一区中文字幕一区| 97干在线| 941超碰| 另类图片五月天| 美女91在线| 中文字幕av亚洲精品| yellow网站免费观看日韩高清无码| 成人无码在线超碰网| 欧洲在线性爱视频| 国产成人久久久精品免费AV| 亚洲狼狼干综合1| 超碰在线974| 天天操天天射青青草| 热久久99999| 超碰九九| 国产无码精品成人| 日本免费一级AAA大片器 | 国产一区在线免费播放| 青青草中文字幕| 乱抡国产91| 国产午夜福利专区综合| 蜜乳av首页| 后入 亚洲 美女 射| 国产精品在线一区二区| 91精品无码久久久久久久| 日韩 人妻 精品| 欧美色图亚洲色图成人在在线| 超碰97资源大奶| 久久禁| 欧美99热| 国产18精品亚洲精品| www.天天干| 超碰97欧美在线 | 久久国产精品91| 久草老司机| 日本黄大片在线观看视频| 久久久久成人亚洲国产| 97视频在线视频| 久9久9久9久9久9久9| 日日操免费视频| 欧美性生活免费网| 久久超碰亚洲人| 欧美在线电影| 殴美日韩m| 九色黄站| 无码日韩网站| 亚洲精品国产熟女久久久| 日韩成人在线性爱视频| 色综和网| 中文字幕在线观看永久| 色老汉色| 亚洲啪AⅤ永久无码| 大香蕉碰| 色偷偷综合91久久噜噜| 丁香六月东京热| 亚洲日韩东京热一区| 最新无码国产| 国产第二页| 黄色片一区二区三区四区五区| 日韩AV中文字幕电影| 91w欧美| 欧美日韩国产高清在线一二三区 | 国产亚洲色婷婷久久99精品91葵花宝典| SS久久| 亚洲国产欧美一区二区潘金莲| av情色影音| 综合影院永久入口国产| 伊人丝袜美腿高跟在线观看高清| 永久免费av无码网站国产app| 91久久精品国产| 一起草三级AV电影在线观看 | 国产午夜在线观看| 五月婷色| 日韩大香蕉| 精品无码一区二区| 亚洲综合在线第一页| 五月色综合| 超碰97 线线 在现| 超碰97.com| 亚洲激情四射| 一区二区三区美女超清| 久久综合久色欧美综合狠狠| 91一起操| 岛国毛片在线观看免费| 欧美色网络| 二区熟妇韩日| 久久久久久久国产a∨| 青青草一本道福利视频| 亚洲国产精品久久久男人的天堂| 思思热免费视频观看| 外国免费性情大片| 精品视频97| 色五月激情网| 婷婷在线视频在线观看| 人人妻人人色一区二区三区| 中文字幕精品丝袜| 99精品视频在线观看免费| 日韩欧美视频青青| 蜜臀av网址| 五月婷婷基地| A片三级无码| 亚洲欧美综合| 蜜臀人妻少妇久久在线观看| 九九Av| 牛牛操视频逼| 日韩精品一二三| 日韩三级在线观看mp4| 亚欧性爱无码| 黄色大片免费在线| 九九九九九九九九九国产精品| 亚洲自拍一区夜夜操| 97人人夜夜精品视频| 私色综合网| 夜夜操av亚洲一区二区| 亚洲第一在线视频| 影音先锋视频在线| 97精品一区| 日日A∨| 婷婷五月天av| 屌逼传媒| 99精品成人免费看| 日韩人妻制服丝袜av| 天美传媒婬乱在| 97丝袜亚洲在线播放| 亚洲色图激情小说| 粉嫩少妇自慰在线| 久久不卡一区二区| 99999精品视频| 涩涩五月天| 欧美性爱伊人| 26uuu性| 天天操人人操狠狠插| 午夜美女福利视频| 国产精品97视频| 欧美大色交| 殴美综合色88| 免费看污网站| 男生女生啊啊啊啊| 成人精品欧洲亚洲| 久久天天性久久伊人| 无码逼| 日本免费一级AAA大片器| 五十路熟女人妻一区二区在线观看| 欧美精品久久| 婷婷五月成人| 9 9精品一区二区三区| 精品无吗m| 女性91网站| 91国产丝袜美女| 97频视在线| 亚洲天堂一区二区久久| 中文字幕一区二区韩| jizz啪啪| 午夜福利激情在线视频| 精品一区二区成人| 久久久久国产精品片区无码直播| 欧美系列在线一区二区| 五月大香蕉| 青青操综合网| 国产黄a三级三级三级av在线看| 操逼逼无码| 性爱av网站| 免费成人在线熟妇网| 偷看洗澡一二三区美女| 婷婷伊人一区| 综合色拍| 五月天激情小说| 99热精品在线| 亚洲少妇诱惑| 国产风韵犹存熟妇三区| 国产高清亚洲日韩一区| 国产美女高潮叫床视频| 97高清啪啪| 嫩草影院永久在线制服丝袜| 亚洲91射| 久久久96| 91精品人妻电影| 色哟哟的毛片| 搡老女人老91妇女熟女| 国产午夜在线观看| 717影院理论午夜伦八戒| 91色艳| 天堂精品小草| 亚洲在线观看| 1级黄色夫妻对换性交免费看| 久久黄色视频一区二区三区 | 亚洲少妇中文字幕网址| 亚洲一区深夜| 激情文学 亚洲图片| 大粗鳼巴久久久久| 性久久| 东京日日夜夜| 国产精品一区在线播放| 成人免费看吃奶视频网站| 婷婷丁香五月综合| 伊人久久亚洲中文字幕不卡| 人人操人人爽人人操人人| 国产懂色精品国产av| 日韩天堂av电影在线观看| 九99久久| 久干9操| 亚洲熟妇乱女区二区三区| 成人精品水蜜桃久久久久久久| 操逼操逼操| 另类一区| 伊人久久久日韩一区| 精品日日人妻| 99热这里只有精| 中文字幕78| 激情色图| 欧美性猛交美女自慰91| 色亚洲欧美| 青青草大香蕉视频| 亚洲精品亚洲人成在线麻豆| 亚洲码专区| 韩国女主播青草在线| 亚洲天天影视色综合| 久综合国内精品自在自线| 综合网久久| 亚洲欧洲精品视频发布| 超碰碰97| 超97在线精品视频| 夜夜福利| 激情抓乳插进去啪啪啪日韩| 精品一区96| 日本一区二区三区四区五区六区七区八区九区| 亚洲图片偷拍视频区| 精品96久久| 青娱乐欧美激情一区二区| 四虎影库国产精品免费| 日韩国产精品人妻无码久久久| 色官网在线| 亚州九九九精品视频| 亚洲激情综合另类男同| 久久久久国产| 67194国产| 97爱亚洲| 九九久久久久久爱| 中文字幕人成乱码熟女香港| 亚洲日韩乱码中文无码蜜桃臀网站| 美日韩男女操屄视频| 男人的天堂在线2| 无码国产精品96久久久久孕妇| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 岛国在线国产| 日产成人久久| 国产精品电影| 国产精品com| 日本一片一区| 五十路三级片| 777超碰| 黄页18禁| 天天激情干| 后入综合久久| 四虎AV无码| 欧美日韩国产另类综合| 北京美女一区二区| 国产九月婷婷| 欧美一级黄色免费专区| 超碰免费欧美7| 日日夜夜干| 超碰97人妻免费在线| 国产免费久久精品99re韩国| 天天爽天天| 视频国产欧美在线播放| 97精品久久久久中文字幕| 欧日a| 黄页av| 狠狠躁天天躁日日躁| 97任你吞精| 欧美人妻少妇| 91AV天美在线视频| 欧美性爱97超碰| xxxx网站亚洲精品| 亚洲欧美色图片| 97亚洲欧美日韩| 激情开心五月天| 素人一区二区三区日韩| 肥佬影院91| 人妻爽爽啪视频| 婷婷五月天激情小说| se吧提供国产乱老熟视频胖女人| 91性情| 欧美国产操逼| 欧美亚男人的天堂| 97色色婷婷| 国产乱伦亚洲色图高清无码| 91bbb| 久久久91福利姬| 日韩人妻网站| 亚洲 欧美 中文 日韩超碰| 成人免费在线网站| 91精品亚洲内射孕妇| 一卡二卡在线播放| 日本孕妇孕交| 男生女生啊啊啊啊| 麻豆天美久久91| 凹凸视频特色日本特黄| 黄片色区软件| 久操网址| 18禁免费视频| 欧美操逼熟女| 国产人伦a片信息免费片| 欧美精品三区| 人人爱人人乐人人操| 黑人性欧美| 亚欧美色图| 日本精品性生活久久久| 久久色一区二区| 亚洲另类久操网| 98色网| 国产精品色色| 天天欧美欧美亚洲网| 狠狠色婷婷7777久| 97色干| 丁香九月激情| 日韩啪啪啪啪啪| 色五月大香蕉| 97人肏| 精品久久久久9999| 中文字幕制服欧美久久一区| 少妇69中文| 99天天超碰| 91骚妇| 亚洲一区二区专区-国产丝袜精品丝袜-成人AV | 欧美毛片在线网| 97香焦色区| 欧美激情 日韩精品| 亚洲最大的黄色电影网站。| 97国产天堂岛| daxiangjiao你懂的| a人片中文字幕一区二区| 中文日韩欧美熟| 日本一卡二区在线| 91中文字幕制服丝袜免费视频| 人人妻人人澡人人爽久久av| 极品销魂美女一区二区| 精品亚洲国产成人精品| 国产精品自产拍在线观看社区| 丁香色五月 97干| 伊人AAA| 中文字幕视频2区| 嗯嗯,好大,好爽,好骚| 啊啊啊啊啊好舒服视频| 男人的天堂1024| TS人妖另类精品视频系列 | 欧美性天天影视| 色婷婷六月| 亚洲精品天天影视综合网| 青青草男人天堂| 久久久91福利姬| 啊啊啊久久| 日本十八禁免费看污网站| 久久久久久AⅤ无码免费肉站| 五月丁香| 日本熟妇色熟妇在线视频播放| 久草毛片| 偷拍三区| 久久啊哟| 怡红院成人视频| 岛国黄片网站| 亚洲五月天激情| 日本97久久久精品| 欧美丝袜亚洲| 日韩精品色呦呦| 久久9视频| 日本蜜桃| 人妻精品视频一区二区三区| 日本福利二区视频| 久湿久久| 亚洲成人黄色在线观看| 久久xx| 久草综合视频| 在线视频97| 国产乱伦性爱AV| 青青伊人久久| 精品久久久久久亚洲| 色九九综合| 亚洲精品天堂久久A∨51成人漫| 97色在线| 91精品国| 全球成人中文在线| 麻豆成人av| 欧美人体性爱互联网第一页婷婷日本| 26uuu国产免费观看| 97内射偷拍| 久久久久国产精品久久久| 青青久久手机线视频| 午夜精品99久久久久传媒| 亚洲素人综合| 福利在线黄片| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 久久精品 六十路 熟女 欧美| 97人人干人人操| 日本最新1区2区3区| 秋霞一级A片黄色视频| 麻豆久久视频在线地址| 91欧美网| 天天综合91在线| 欧美 色 亚洲| 欧美1727免费观看视频| 天美传媒精品久久视频| 99无码精品| 美女9118禁| 欧美躁死她一区二区| 婷婷性网| 亚洲色图久久精品蜜| 精品对白久久不卡| 精品国产一区二区三区av在线资源| 哑洲在线| 亚洲综合婷婷| 免费在线视频97| 97在线资源| 毛片久久| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 大香交| 操逼1区| 吊色| 九月丁香| 亚洲成a人v欧美综合天堂下载| 综合五月天| 精品黄色电影| 国产丰满少妇久久久精品影院| www.yeyecao| 九九国产热| 色色香蕉| 国产亲戚伦亲在线| 99国产在线 精品 视频| 日本一久是| www. 男人天堂成人在线| 国产原创精品| 成人免费看吃奶视频网站| 国产视频大全| 天天插天天射| 国产亚洲欧美每日在线| 俺也射| 亚州情色j区| 国产午夜精品理论片一二三区区 | 乱子伦一区二区三区国产精品| 日韩av影片在线观看| 国产精品农村妇女| 大香蕉啪啪啪啪在线| 天天干夜夜一操| 日少妇视频| 在线亚洲丝袜视频网站| 青青草日韩无码| 日韩黄片视频试看| 久久久91| 伊人在线大香蕉二。| 密桃99999| 成人日韩3| 97精品一区二区三区免费| 国内操逼视频二区| 婷婷九月| 伊人久操| 一级人妻性爱视频| 噜噜噜噜久久久精品免费| 日本999精品| 激情六月婷婷| 欧美黑人精品一区二区| 边做饭边操逼逼| 亚洲情色 自拍| 性色av一区二区| 色香阁在线| 欧美成人午夜免费福利785| 国产欧美在线观看免费观看| 九七超碰人人乐| 加勒比五月天| 久久日本熟女精品一区| 东京热一区二区三区四区五区六区| 日本123区操B视频| 久久久精品视频免费观看| 一本色道综合久久欧美| 青青草中文字幕| 老熟女阿 国产91| 嫩草黄页| 色香综合天天影视综合 | 日本一级性爱| 男男H黄动漫啪啪无遮挡网站| 国产三级在线现体验区| 日韩欧美大片免费高清啪啪| 欧美综合第一页| 蜜屁av| 久久成人东京热人妻| 欧美极品色| 午夜精品久久久久久久| 爱妻综合网| 97热视频在线观看| 智利AV在线网| 天天操天天7| 手机av亚洲丝袜美腿日韩第一页二页| 色拍偷亚洲| 亚州国产成人精品女人久久| 伊人四虎综合| 天天日天天干天天摸天天操| 欧美午夜熟妇黑人精品91| 粉嫩久久久极品| 亚洲天堂久| 欧美九一精品久久久熟妇| 日韩精彩视频| 中文字幕一区二区三区人妻不卡| 熟女少妇视频| 久久产精品一区二区三区电影| 久久久久亚洲| 在线播放免费av福利片| 综合久久六月久久婷婷| 欧美日韩99| 67914亚洲精品| 亚洲国产综合久久久性感熟妇| 欧色综合| 久久精品99| 热热色91| 国产无吗在线播放| 久久久久久国产无码精品| 深夜激情无码| 久久久久久久国产视频| 亚洲第一无码播放立川理惠| 最新日本中文字幕| 麻豆视频一区二区| 91网站在线播放| 97欧美日韩综合| 久操精品| 国产欧美岛国精品一区| 五月天婷婷久久| 超AV色女| 色拍偷亚洲| 加勒比综合88| 74成人在线| 亚州操逼网| 亚洲不卡不卡中文字幕不卡| 国产久久男人天堂| 啊啊啊啊啊好多水| 91社操逼| 天堂资源欧美| 蜜臀va69| 99久国产精品午夜性色福利| 日欧操屄视频| 美女主播色欲91抠b在线播放| 欧美丰满少妇交换91欧美精品| 中文字幕在线免费观看 | w w w.久久精品| 国产熟女完整版中字 | 国产精品视频内谢女人| 日本操逼视频导航| 午夜激情床戏激情| 久久久久久久久女黄| 亚洲精品一区二区精华| 丁香五月成人| 茄子社区国产精品| 日韩操p| 激情AV| 美女丝袜激情小说| 日韩欧美大力操| 夜夜操2028| 人妻人久久精品中文字幕| 激情五月综合开心五月| 日本久操视频| 99超碰网| 欧美精品1区2区3区| 美腿丝袜高跟网免费视频免费视频| 超碰久超碰久| 2020国产精品| 超碰社区97| 欧美日本中字另类在线| 国产污视频麻豆传媒一区二区| 色色九区| 久久一二三四五六七八九区区区| 午夜九九| 99久久精品国产高潮| 美日韩一二三区| 另类亚洲一区二区三区| www.操| 国产综合色精品在线观看| 五月婷婷六月天| 日韩综合97p| 性爱1区| 国产精品一二三| 在线观看国产黄色| 欧美另类天堂| 综合网色| 欧美东京热青青草| 色妺妺在线视频| 97超碰久久| 久操99| 国产资源中文字幕在线| 蜜臀人妻少妇久久在线观看| 国产精品一区二区亚洲人成毛片| 综合 青草 伊久久 影院 综合| 国产毛片片精品天天看视频| 人人色人人射人人妻| 久久久久亚洲熟妇熟女| 国厂麻豆77q4| 免费啪啪一级视频| 蜜桃久久一区| 亚州少妇| 91色人妻| 国产精品乱码久久久久久| 岛国黄色大片网站| 婷婷激情四射| 欧美色图亚州激情| 亚洲第一狼人丝袜美女另类| 天天日熟妇| 久久XX| 激情文学88| 97色视频在线| 欧美性爱系列| 综合网天天| 大香网伊人久久综合网eew| 最近2019中文字幕国语免费版| 91大香蕉伊人| 亚洲伊人久久精品狠狠在线| 岛国网址国产| 上床啊啊啊| 欧美色图天堂网m| 日韩精品永久在线观看| 精品人妻av区天天看片| 国产精品高潮久久AV| 久久亚洲精品成人av| 超碰在线一区二区三区| 中文字幕人乱码中文字的预防方法 | 97干在线| 91丨精品丨国产丨丝袜| 人妻熟女午夜精品在线| 正在播放国产精品一区| 偷偷人人精品女女久久| 91日日| 三级三久久线久久99久目本WW| 91天天| 欧美性爱系列| 一区二区三区精品久久| 91伊人| 国产人妻精品一区二区三区秋霞 | 色综合潮| 欧美黄色大香蕉一区二区| 国产精品懂色tv影视免费观看| 97干综合网| 日韩99999色| 最新国产精品久久精品| 国产亚洲深夜激情| 蜜臀99久| 九九人妻| 操逼精品视频| 久无码| 色区久久| 精品区国产区一区二区三区| 精品人妻视频入口| 99中文字幕| 97超碰影音| 97精品中文字幕| 激情文学 国产一二三aV| 激情综合五| 欧美亚洲日本激情在线| 国产最新小视频在线播放下载 | 成人性爱AV在线免费观看| 日日摸日日碰夜夜爽视频| 中国熟女91| 亚洲一二三| 嗯嗯,好大,好爽,好骚| 久久国色天香香蕉| 亚洲午夜免费狠狠干| 五月婷婷久久综合| 中文字幕av亚洲在线| 天天看天天在线精品| 日欧操屄| 超碰97人妻免费在线| 亚洲欧美小说| 国产老女人久久毛| 91亚洲欧洲| 久久东京热久久| 久久午夜神马| 人妻熟女一区二区在线视频| 大香蕉99re| 91痴汉| 9精品久久久久| 91天美免费| 91操熟女视频| 久久内射| 久久色网| 久久国产逼| 777琪琪午夜免费A片| 秋霞一级A片黄色视频| 眼镜人妻101.com| 26uuu性| 伊人影院综合是一个与深夜成人在线| 欧美性爱1080p| 亚洲最新a在线观看| 亚洲AV无码成人精品久久| 亚洲精品无码少妇久久| 婷婷丁香五月激情啪啪| 激情99| AV色天香在线| 天天α片| 成人精品水蜜桃久久久久久久| 中文子幕一二三| 欧美丰满少妇交换91欧美精品| 东京热,男人的天堂| 亚洲全色网| 香伊人在线| 色综合av男人天堂| 色色色网站| 欧美18禁91| 激情小说亚洲视频| 久草免费在线视频| 强奸乱伦AV一天堂网| 99久久e免费热视| 久久草大香蕉| 欧美精品91| 性感美女啊啊啊在线| 免费视频97| 国产操伦| 亚洲少妇喷视频看| 区二区亚洲婷| 国产美女自拍视频| 日韩免费三级黄片电影| 国产超碰人人操| 国产日韩精品一区二区三区| 色网1| 亚洲色图欧美激情| 日韩人成网站在线播放| 2020中文字幕| 久久综合av| 精品国产乱码久久久久久网站入口| 人妻一区二区三区视频| 中文字幕在线日亚州9| 色999偷自拍拍| 青青草原av| 伊人精品久久网站| 乱精品一区字幕二区| 久久亚码| 欧美精品成人一区二区在线观看 | 日韩乱伦影音先锋| 99re6久热只有精品6在线直播| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 日韩午夜国产| 熟女人妻一区二区三区| 91小视频| 久操 高清| 国内伊人久久久久久网站视频| 国产亚州高清国产拍精| 天天干天天日天天射黄色片| 亚洲丝袜少妇在线| 国产亚洲日本精品在线| 欧美精品91| 日韩精品人妻| 色五月av| 97 国产精品| 无码高清国产AV| 午夜成人福利影视| 亚洲色图91| 婷婷激情综合网| 欧美中字不卡| 美国一区二区三区视频| 色呦呦、国产精品| 少妇综合| 午夜精品久久久久久久男人的天堂 | 亚欧美色图| 黄片色区软件| 综合视频91| 91香蕉视频在线观看免费| 香蕉一区二区三区在线视频| 久草午夜| 超碰97起碰| 天天欧美| 天天爱天天韩国日本牛牛牛牛| 999色欧美中文字幕| 日本在线不卡v二区| 欧美丝袜美女电影一二三四区| 国产AV毛片| 亚洲精品97中文字幕| 乱伦av国产| 91精品免费| 亚洲av淫乱| 伊人在线大香蕉视频久久| 成人网站 免费观看| 欧美性Fer办公室秘书| 92午夜免费福利视频| 亚洲日本天堂| 蜜乳av首页| 亚洲一区二区av| 亚洲图片欧美91N| 操碰97| 91殴美大片| 91xingse| 色九九九综合| 久操凹凸视频| 九久久精品| 91超碰人人操| 九九九精品美女| 人人做人人妻人人夜视频| 91久久久久久久| 久久超碰天天| 亚洲成人av色网| 97亚洲精品| 日本999精品视频| 欧美日日操| 人人操人人精品影片| 色丁香五月婷婷| a亚洲欧美色欲| 欧美青青视频| 国产精品99久久久www| 97超碰欧美手机| 精品国产一区二区三区久久久蜜臀| 2020中文在线一区二区三区| 色哟哟av| 1024亚洲中文字幕久在线看片你懂的 | 五月丁香啪啪| 日欧操屄| 精品9999| 亚洲熟妇丝袜在线观看| 欧美不卡二区| 欧美翘臀视频网站一区二区三区| 天天弄欧美| 亚洲 欧美日韩 另类| 九九亚洲| 久久久精品一区二区| 玖玖97综合| 免费A V在线播放| 91欧美在线| 亚洲的天堂网| 91狠婷| 欧美日韩性爱无码| 国产精品白领在线观看| 色777999综合| 一区中文字幕二区日韩| 久久老子无码午夜伦不卡| av毛片aaaaa免费看| 欧美桃色网| 久久綜合很很很| 久久婷婷五月天| 精品国产人成在线| 国产一区二区二区按摩精品啪视频| 日韩精品人妻中文字有码在线| 日韩人妻大香蕉| 日韩人妻中文视频| 无码一区免费在线不卡| 色色97爱| 青青青草伊人精品| 少妇人妻精品| 日本天天吊| 99综合免费视频| 日韩在线观看字幕精品| 国产成人亚洲精品无码最新在线| 日韩三级av片| 伊人午夜福利视频| 性性久久| 亚洲第一页欧美| 欧美.亚洲.另类.丝袜.制服.诱惑| 25国产精品免费观看| 天天网综合| 97久久国产亚洲精品超碰热| 久久e6只有精品| 亚洲激情综合| 日韩性爱小视频在线观看| 国产精品熟女九色九色蜜臀| 狠狠婷婷亚洲中文综合久久| 精品国产乱子伦一区二区三区,精品一| A男人的天堂| 第45页一区二区| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 久久精品国产72国产精品福利| 日本成人A片网站| 91大神精品长腿在线观看网站| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 久久综合18p| 色色婷婷五月| 精品人人插人人操| 久久精品国产免费观看99| 乱伦av麻豆| 色色色欧美| 91爆操视频| 国产偷拍自拍在线视频| 可以免费观看的日韩av毛片| 中文字幕奈奈美被公侵犯| 国产av激情无码久久天堂| 日韩一级久久毛片| 美日韩男女操屄视频| 无遮挡又黄又刺激的视频| 操b在线观看| 日本人妻中文字幕精品| 日日噜噜夜夜狠狠视频无| 免费啪啪av| 美国一区二区三区视频| 久操视频资源站公开| 国产亚州精品美女久久久免费| 91三级理论片播放器| 777奇米影视777四色| 五月丁香六月婷| 狠狠操天天干| 殴美牲| 亚洲国产精品乱码在线观看| 人人摸人人干| 成人欧美日超碰| 91视频女生| 亚洲人天堂| .精品人妻一区二区三| 国产av波波国产精品| 竹菊影视国产一区二区| 婷婷综合| 欧美天堂日韩三级国产传媒| 97这里只精品| 久久大香蕉97| 一区二区乱码福利| 人人操人人操人人人操| 免费的黄片wwwwww| 国产女人高潮视频| 久久免费精品96| 国产精品日日摸天天碰| 搡老女人911熟妇老熟女| 天天干干天天干干| 婷婷色中文字幕| 性欧美体内射精| 男人天堂网手机版婷婷| 野狼福利社区| 国产野战露脸在线播放| 亚洲欧美日韩综合在线尤物| 小草三级久久观看| 久久精品国产久精国产| 91五十路| 91三级理论片播放器| 超碰调教97| 欧美熟女丝袜| 亚洲加勒比| 性爱乱伦网址| 国产精品制服丝袜中文字幕日韩一区二区三区 | 中文字幕在线24| 在线一区| 97久久超碰| 亚洲中文字母在线播放| 女一区二区| 人妻另类| 国产精品视频麻豆入口| 操人妻少妇中文| 国产风韵犹存熟妇三区| 综合久久久久久久久91| 免费观看的av| 加勒比色综合| 久久久精品中文字幕爱豆| 婷婷五月天网| 国产不卡的视频 | 不卡九肏| 超碰地址久久| 亚洲精品人妻吞精av| 欧美另类自拍| 日韩在线国产字幕| 乱色视频中文字幕| 亚洲日韩久久精品一区| 在线播放成人高清免费视频| 六月色婷婷| 夜夜国自区| 精品欧美А∨无码黑人大荫蒂| 日韩国产品视频中文字| 97亚洲综合在线| a天堂视频| 91总综合网| 婷婷伊人五月| 午夜天天碰综合视频| 欧美春色| 成人国产精品三级A片| 亚洲日韩欧美一区二区| 蜜乳AV.COM| 自拍欧美| 国产精品日韩在线一区| av大香蕉网站| 91国产操逼视频| 婷婷成人久久久精品| 偷拍盗拍亚洲色图图片| 99热啪啪| 国产精品白领在线观看| 国内精品久久人妻性色av| 狠狠操狠狠插| 肥佬影院91| 久久99精品视频| 91模特在线观看| 久久久久国产一区二| 日韩色图 一区二区| 亚洲1区2区三区高清中文字幕| 男人 天堂 日 亚洲| 日韩无码操逼片| 青娱乐大香蕉| 人人操人人干网页| 国产欧美成人精品| 亚洲一欧洲中文字幕在线 | 蜜桃臀一区二区三区久久| 日韩精品1区2区中文字幕| 999熟女精品| 欧美黄色片AAAAA| 成人性交午夜免费片| 插入综合网| 美国日韩黄片| 99www.bibizy香蕉资源国产一区二区三区高清 | 97色综合中文网| 无码免费一区二区三区啪啪| 秋霞Av理论一级在线| 国产黄色动态精品| 夜夜天天噜狠狠爱2021| 蜜臀av中文字幕| 超碰99热| 五月丁香激情四射| 麻豆精品A片免费观看| 欧美经典一区二区三区| 91精品国产91久久久久久久久久久久| 欧美操人| 欧美性爱日韩高清| AV色五月天| 色情综合网| 日韩免费福利在线观看| 97超碰这里只有精品| 大香蕉综合网| A片A5445444| 激情婷婷丁香网| 色哟哟国产精品免费网址| 国产一区二区在线播放量| 97伦乱| 91久精品| 国产亚洲精品av一区| 亚洲色图A| 91黑丝美女| 九九人人操| 飘花国产午夜精品不卡| 五月天精品| 爱欲AV| 久久婷婷影院| 91久久免费视频互動交流| 97在线观看免费| 欧美日韩淫加| 综合久久中文字幕综合日韩精品| 精品人成视频在线观看| AV男人天堂网| 麻豆久久久久久久久丝袜| 亚洲精品a人片在线观看视| 日本精品五区| 狠狠操狠狠燥| 中文字幕av久久爽Av| www.久久久久| 久久久久人妻二区精品叶可怜| 青青草大香蕉视频| 国产精品久久久999| 亚洲国产欧美日韩人妻日中文| 天天综合网日韩7799| 亚洲色综合| 欧美三级偷拍| 啊啊啊啊啊,啊啊啊啊好舒服,操我舒服啊啊啊 | 韩国三级理论在线| 高清在线偷拍自拍视频| www.婷婷六月天| 国产精品点击进入在线影院| 日日躁夜夜躁狠狠躁超爽| 久久夜夜夜| 性色乱AV一区二区| 色丁香久久| 日本三级网页| 18禁无码永久免费无限制| 午夜九九九九九九| 久久成人精品| 亚洲综合射| 国产精品suv一区| 台湾佬中文娱乐自偷自拍| 五月激情啪啪| 天天干人妇| 欧美日韩精品一区二区三区高清| 国产辣妈在线视频福利| 女性91网站| 麻豆成人影音在线| 一本久久久精品| 国产丝袜一区二区三区| 亚洲天天影视色综合| 99RE在线视频精品,这里只有精品| 人妻天天爽夜夜爽爽| 日韩免费人妻色情网站| 天天做天天爱| 女人爽到高潮潮喷18禁网站| 中文操嬖片。| 成人美女av| 国产麻豆福利av在线播放| 强奸乱伦AV网站| 日韩精品国产一区二区| 国产亚洲精品无码三区| 亚洲成人在线高清| 日韩欧美午夜一区二区| 人人操,人人插| 国产丝袜美女在线一区| 亚洲AV秘无码一区..| 家庭乱伦国产精品| 亚洲97成人在线观看| 香伊人在线| 国产成人自拍视频视频| 精品国产一区二区三区香蕉欧美| 美女视频尤物网在线看| 2017人人操,人人摸| 国模不卡| 日本亚洲熟女视频| 97天堂|