亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

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

x86-64匯編入門(mén):寄存器、棧幀與調(diào)用約定助你破解CTF逆向

x86-64匯編入門(mén):寄存器、棧幀與調(diào)用約定助你破解CTF逆向 如果你是順著系列第一篇一路看下來(lái)的估計(jì)已經(jīng)跟我一樣有過(guò)這種體驗(yàn)第一次打開(kāi)反匯編窗口滿(mǎn)屏都是push rbp、mov rbp, rsp、sub rsp, 0x10這種連續(xù)短句單詞都認(rèn)識(shí)連起來(lái)完全不知道程序在干嘛。這個(gè)瞬間幾乎是所有逆向新手的分水嶺??邕^(guò)去以后你再看一個(gè)二進(jìn)制文件看到的就不再是亂碼而是一個(gè)有動(dòng)作、有意圖、有前后因果的執(zhí)行過(guò)程。這篇是CTF逆向工程入門(mén)系列的第二篇專(zhuān)門(mén)解決看不懂反匯編的問(wèn)題。我會(huì)圍繞 x86-64 架構(gòu)展開(kāi)先把寄存器、內(nèi)存分區(qū)、棧幀這幾個(gè)地基概念說(shuō)清楚再把數(shù)據(jù)搬運(yùn)、比較跳轉(zhuǎn)、函數(shù)調(diào)用這幾類(lèi)最常見(jiàn)指令當(dāng)一個(gè)一個(gè)的翻譯樣板講透。后面會(huì)穿插函數(shù)調(diào)用約定這個(gè)大殺器幫你從寄存器推斷一個(gè)函數(shù)到底接收了什么參數(shù)、返回什么值。最后我用一個(gè)模擬題目完整走一遍C代碼 - 匯編 - 逆向還原的閉環(huán)全程有可以直接照著敲的命令和調(diào)試方法。沒(méi)有逆向基礎(chǔ)的讀者可以放心我會(huì)默認(rèn)你完全不懂匯編但知道 C 語(yǔ)言長(zhǎng)什么樣。1. 逆向?qū)W習(xí)為什么要從匯編開(kāi)始先認(rèn)清你面對(duì)的“翻譯對(duì)象”很多新手一上來(lái)就沉迷反編譯器的偽代碼覺(jué)得匯編沒(méi)必要學(xué)。這個(gè)思路在簡(jiǎn)單的簽到題里可能不翻車(chē)但一旦題目加了混淆、去符號(hào)、花指令偽代碼立刻開(kāi)始不靠譜。到那個(gè)階段匯編是你唯一能抓住的可靠證據(jù)。1.1 CPU不認(rèn)識(shí)C語(yǔ)言它只按機(jī)器碼走先繞回到最底層的問(wèn)題程序在 CPU 里運(yùn)行時(shí)處理器看的不是if、for、printf而是一串硬編碼的二進(jìn)制字節(jié)也就是機(jī)器碼。機(jī)器碼本身就是 CPU 的指令集編碼什么字節(jié)對(duì)應(yīng)什么操作是硬件設(shè)計(jì)時(shí)定死的。正常人直接讀機(jī)器碼就像看天書(shū)所以需要反匯編器把它轉(zhuǎn)成助記符比如8B 45 F8轉(zhuǎn)成mov eax, DWORD PTR [rbp-0x8]。也就是說(shuō)你在反匯編工具里看到的每一條匯編指令其實(shí)對(duì)應(yīng)著真實(shí)執(zhí)行的每一個(gè) CPU 動(dòng)作。如果你想精確知道程序在某一個(gè)分支到底做了什么、某個(gè)數(shù)據(jù)在哪一步被覆蓋就只有匯編能給你這個(gè)精度。C 源碼在編譯之后會(huì)丟掉變量名、丟失類(lèi)型信息、丟失結(jié)構(gòu)化語(yǔ)法所謂“還原源碼”其實(shí)是逆向工程師一層層拼回去的假設(shè)前提就是你能讀懂匯編。1.2 偽代碼是“二手翻譯”匯編才是“一手證據(jù)”IDA 和 Ghidra 的偽代碼功能確實(shí)省時(shí)間我平時(shí)分析題目也會(huì)先掃一眼偽代碼定方向。但一定要記住偽代碼是反編譯器根據(jù)匯編推斷出來(lái)的中間表示這個(gè)推斷過(guò)程不是百分百可靠。舉個(gè)最常見(jiàn)的例子編譯器在優(yōu)化代碼時(shí)會(huì)把循環(huán)展開(kāi)成排列整齊的比較和跳轉(zhuǎn)反編譯器可能會(huì)把它還原成一個(gè)形狀很怪異的while或者do-while。再比如加了控制流平坦化的混淆題偽代碼會(huì)把邏輯壓成一大坨按switch分派的狀態(tài)機(jī)你根本看不出原來(lái)的流程。這時(shí)候只有對(duì)著匯編把一個(gè)個(gè)基本塊串起來(lái)才能恢復(fù)出真正的調(diào)用關(guān)系。我見(jiàn)過(guò)不少人在某個(gè)混淆題上卡了一整天最后發(fā)現(xiàn)是反編譯器把某個(gè)jz方向理解擰了。逆向這件事工具是輔助最終解釋權(quán)永遠(yuǎn)在匯編手里。1.3 匯編在CTF逆向里的三個(gè)高頻場(chǎng)景除了通用分析有些場(chǎng)景幾乎是專(zhuān)門(mén)為匯編準(zhǔn)備的緩沖區(qū)溢出類(lèi)題目你要明確知道局部變量在棧上的偏移、距離ret地址有多少字節(jié)這些信息只靠偽代碼看不清楚。算法還原很多題把 flag 逐字節(jié)做異或、置換、查表你要從位運(yùn)算指令還原每個(gè)字節(jié)的處理流程。補(bǔ)丁題要求你把某個(gè)跳轉(zhuǎn)條件改掉或者把某個(gè)函數(shù)直接改成return 0你不看懂jz和jmp的目標(biāo)就沒(méi)法下手。所以與其說(shuō)逆向入門(mén)要先啃匯編不如說(shuō)匯編本來(lái)就是逆向這個(gè)動(dòng)作的最小單位。后面幾節(jié)內(nèi)容就是在幫我們把這一層基礎(chǔ)打扎實(shí)。2. 寄存器、棧與內(nèi)存布局先把程序運(yùn)行的“場(chǎng)地”看清楚匯編指令看起來(lái)多但它們翻來(lái)覆去就是干三件事把數(shù)據(jù)放到寄存器或內(nèi)存里、對(duì)數(shù)據(jù)做運(yùn)算、根據(jù)結(jié)果跳轉(zhuǎn)。要理解這三件事你得先知道數(shù)據(jù)在 CPU 和內(nèi)存里是怎么被安排的。2.1 x86-64通用寄存器速查表x86-64 架構(gòu)下有 16 個(gè) 64 位通用寄存器每個(gè)寄存器沒(méi)有絕對(duì)的“固定職責(zé)”但在系統(tǒng)調(diào)用約定和編譯器使用習(xí)慣下有幾個(gè)長(zhǎng)期形成的默認(rèn)分工寄存器常見(jiàn)角色備注rax函數(shù)返回值、運(yùn)算累加器也用于系統(tǒng)調(diào)用號(hào)rbx通用數(shù)據(jù)保存被調(diào)用者保存rcx第4個(gè)參數(shù)部分調(diào)用約定、循環(huán)計(jì)數(shù)在 Windows x64 中是第4個(gè)參數(shù)rdx第3個(gè)參數(shù)、乘除法擴(kuò)展也存除法余數(shù)rsi第2個(gè)參數(shù)、源地址rdi第1個(gè)參數(shù)、目標(biāo)地址記法destination/dirbp棧幀基址手動(dòng)保留幀指針的典型標(biāo)志rsp棧頂指針永遠(yuǎn)指向當(dāng)前棧位置r8-r15通用寄存器r8、r9 也是第5、第6個(gè)參數(shù)另外每一對(duì) 64 位寄存器都能以低半部分方式訪(fǎng)問(wèn)rax的低 32 位是eax低 16 位是axax又拆成高 8 位ah和低 8 位al。新手看反匯編時(shí)要習(xí)慣這種「寫(xiě)小寄存器會(huì)清零高 32 位」的特性比如mov eax, 0會(huì)連帶著把整個(gè)rax清零因?yàn)橄?32 位寄存器寫(xiě)入時(shí)高 32 位會(huì)自動(dòng)填 0。這一點(diǎn)在分析返回值、判斷判斷結(jié)果時(shí)經(jīng)常成為迷惑點(diǎn)。2.2 專(zhuān)用寄存器與標(biāo)志位RIP、RSP、RBP、RFLAGS通用寄存器之上還有幾個(gè)玩家必須認(rèn)識(shí)的專(zhuān)用寄存器。rip是指令指針存的是 CPU 下一次要取哪條指令的地址它不歸普通指令直接操作。rsp是棧頂指針始終指向當(dāng)前棧幀的最低地址注意棧是朝低地址方向長(zhǎng)的所以函數(shù)分配空間時(shí)rsp會(huì)變小。rbp是棧幀基址指向當(dāng)前函數(shù)棧幀的固定位置編譯器常用它來(lái)定位局部變量你可以把rbp想成“當(dāng)前函數(shù)這一層空間的基準(zhǔn)線(xiàn)”。rflags是標(biāo)志寄存器里面一堆標(biāo)志位是判斷的根據(jù)。最常遇到的四個(gè)ZF零標(biāo)志結(jié)果為 0 時(shí)置 1SF符號(hào)標(biāo)志結(jié)果有符號(hào)解釋為負(fù)時(shí)置 1CF進(jìn)位標(biāo)志無(wú)符號(hào)溢出時(shí)出現(xiàn)OF溢出標(biāo)志有符號(hào)溢出時(shí)出現(xiàn)。你不需要背全但一定要知道cmp和test這兩類(lèi)指令的本質(zhì)就是改標(biāo)志位后面緊跟的jz、jl這些跳轉(zhuǎn)指令看的就是這些標(biāo)志。2.3 內(nèi)存分區(qū)代碼、數(shù)據(jù)、堆和棧四個(gè)“抽屜”各管各的一個(gè)進(jìn)程的地址空間大致分成幾段。.text段放指令也就是匯編本身.rodata和.data放只讀常量和已初始化全局變量.bss放未初始化全局變量堆從低地址向高地址動(dòng)態(tài)分配棧從高地址向低地址生長(zhǎng)。逆向時(shí)最常見(jiàn)的操作是“找字符串”。字符串常量一般泡在.rodata里objdump會(huì)顯示類(lèi)似401024這樣的地址然后你可以用x/s 0x401024在調(diào)試器里看內(nèi)容。另外堆和棧是相向而長(zhǎng)的棧越用越低堆越用越高它們之間不會(huì)見(jiàn)面但緩沖區(qū)溢出攻擊要跨越的恰恰就是這條看不見(jiàn)的安全邊界。2.4 函數(shù)調(diào)用時(shí)棧上發(fā)生了什么棧幀的誕生與銷(xiāo)毀一臺(tái)簡(jiǎn)單程序內(nèi)部棧幀就是每次函數(shù)調(diào)用來(lái)臨時(shí)搭起的“工作臺(tái)”。調(diào)用者要調(diào)用函數(shù)時(shí)先把參數(shù)放進(jìn)寄存器或者壓棧然后執(zhí)行call。call指令做兩件事把下一條指令的地址返回地址壓到棧上再跳轉(zhuǎn)到目標(biāo)函數(shù)。被調(diào)函數(shù)開(kāi)頭常見(jiàn)的三連是push rbp; mov rbp, rsp; sub rsp, 0x20這就是建立新的棧幀。前兩句把調(diào)用者的rbp存起來(lái)再把rbp指向當(dāng)前位置sub rsp是為局部變量騰出空間。函數(shù)返回前的招牌動(dòng)作是leave等效于mov rsp, rbp; pop rbp然后ret把返回地址彈回rip。初學(xué)者只要把這條“搭臺(tái)、演戲、拆臺(tái)”的流程刻在腦子里再去看斷點(diǎn)處的棧就很容易定位每一層是誰(shuí)在調(diào)用誰(shuí)。3. 常用指令的“翻譯”訓(xùn)練看到它們就想到什么匯編指令一大堆但 CTF 復(fù)現(xiàn)高頻出現(xiàn)的就那么幾十條。我按功能分成四組每一組給出一套翻譯習(xí)慣你看到指令能條件反射式地說(shuō)出這行在干嘛那這關(guān)就過(guò)了。3.1 數(shù)據(jù)搬運(yùn)與運(yùn)算mov、lea、add、sub、xormov dst, src是雙人運(yùn)輸隊(duì)把源操作數(shù)的值復(fù)制到目標(biāo)操作數(shù)。注意 Intel 語(yǔ)法是“目標(biāo)在左邊源在右邊”和我一會(huì)要講的 ATT 語(yǔ)法剛好相反。大多數(shù)情況下你在逆向里看到一行mov rax, [rbp-8]就是“把某個(gè)局部變量的值拿出來(lái)放到 rax”。lea rax, [rbp-0x20]是另一個(gè)高頻指令它算的是“有效地址”也就是把[rbp-0x20]這個(gè)地址本身放進(jìn)rax而不是取地址里的內(nèi)容。你可以類(lèi)比成拿到快遞柜的柜號(hào)而不是柜號(hào)里的包裹。編譯器計(jì)算數(shù)組地址、指針運(yùn)算時(shí)喜歡用lea因?yàn)樗茉谝粋€(gè)指令里完成“基址 偏移”的計(jì)算。運(yùn)算指令里add/sub就是加減xor a, a就是清零因?yàn)樗旧淼扔谕瑫r(shí)把每一位歸零inc/dec是自增自減mul和無(wú)符號(hào)除法div比較特殊因?yàn)樗鼈兪褂秒[式寄存器比如div rcx實(shí)際是把rdx:rax這個(gè) 128 位組合除以rcx商留在rax余數(shù)留在rdx。新手分析除法時(shí)第一反應(yīng)往往是“這是個(gè)復(fù)雜的公式”其實(shí)編譯器經(jīng)常會(huì)用移位替代除法所以看到sar右移和imul魔法數(shù)往往是遇到除數(shù)為常量的優(yōu)化。3.2 比較與跳轉(zhuǎn)cmp、test 與 jcc 分支指令cmp a, b會(huì)計(jì)算 a - b但結(jié)果不寫(xiě)回只更新標(biāo)志位。緊隨其后的jcc指令根據(jù)標(biāo)志位決定是否跳轉(zhuǎn)這就是源碼里的if、switch、循環(huán)在匯編里的長(zhǎng)相。高頻跳轉(zhuǎn)表可以這樣記憶指令含義判斷條件jz/je結(jié)果為零 / 相等則跳轉(zhuǎn)ZF1jnz/jne結(jié)果非零 / 不等則跳轉(zhuǎn)ZF0jg有符號(hào)大于SFOF 且 ZF0jl有符號(hào)小于SF≠OFjg的親戚jge、jle有符號(hào)大于等于、小于等于組合條件ja無(wú)符號(hào)大于CF0 且 ZF0jb無(wú)符號(hào)小于CF1這里最容易踩的坑是把有符號(hào)和無(wú)符號(hào)跳轉(zhuǎn)搞混。strlen返回長(zhǎng)度、地址和數(shù)組長(zhǎng)度這類(lèi)無(wú)符號(hào)比較編譯器愛(ài)用ja/jb而常規(guī)整數(shù)比較則用jg/jl。一旦你把無(wú)符號(hào)比較看成有符號(hào)還原出來(lái)的判斷條件就可能差之千里。test a, b更像是隱形探針?biāo)?jì)算 a b也不寫(xiě)結(jié)果只更新標(biāo)志位。它的高頻姿勢(shì)是test eax, eax后面跟jz來(lái)判斷某個(gè)值是否為 0。看到這個(gè)組合你基本就知道代碼里有一句“如果該變量等于 0 就怎么樣”的邏輯。3.3 函數(shù)邊界call、ret、leave 與 push/poppush和pop的職責(zé)很單純壓棧和彈出。push rax等于sub rsp, 8; mov [rsp], raxpop rax等于mov rax, [rsp]; add rsp, 8。它們最重要的用途不是傳參而是保存現(xiàn)場(chǎng)——進(jìn)入函數(shù)時(shí)把調(diào)用者需要保留的值壓棧返回前彈回去。call看起來(lái)是跳轉(zhuǎn)實(shí)際上比跳轉(zhuǎn)多壓了一條返回地址。ret就是pop rip把棧頂彈進(jìn)指令指針程序立刻回到call的下一條指令。leave前面提到過(guò)等價(jià)于先恢復(fù)棧頂?shù)絩bp再?gòu)棾雠f的rbp把棧幀整體拆掉。分析函數(shù)邊界時(shí)我習(xí)慣先找push rbp和leave; ret把它們之間的代碼看作一個(gè)函數(shù)。如果一條指令序列里沒(méi)有call卻頻繁ret往往就碰到了花指令或者混淆段。3.4 逆向里的“小暗號(hào)”與慣性識(shí)別匯編看多了以后你會(huì)發(fā)現(xiàn)很多套路是反反復(fù)復(fù)出現(xiàn)的xor eax, eax幾乎等于“這個(gè)表達(dá)式結(jié)果為 0”因?yàn)榫幾g器用 2 字節(jié)的xor比 5 字節(jié)的mov eax,0更省空間。lea rsi, [rip0x2eb3]后面跟call strlenplt基本是“取一個(gè)編譯期字符串的地址丟給 strlen/printf”。循環(huán)里出現(xiàn)add rax, 1; cmp rax, 0x10; jne就是標(biāo)準(zhǔn)的遍歷數(shù)組rax 是游標(biāo)。test eax, eax; jne xxx是判斷返回值是否為 0 的典型組合。這類(lèi)“暗號(hào)”形成速度很快只要你看的題目超過(guò)十道就再也不會(huì)把lea和mov搞混了。關(guān)鍵是別死記要在下文實(shí)操里多接觸真實(shí)反匯編。4. 函數(shù)調(diào)用約定把匯編“翻譯”回 C 函數(shù)的標(biāo)尺當(dāng)你看到一段匯編里連續(xù)幾條mov rdi, ...、mov rsi, ...然后call一個(gè)外部函數(shù)你大概就能猜出這個(gè) C 調(diào)用長(zhǎng)什么樣。這靠的就是調(diào)用約定。4.1 System V AMD64 調(diào)用約定速記CTF 里常見(jiàn)的 Linux ELF 文件絕大多數(shù)遵循 System V AMD64 調(diào)用約定。速記版是前六個(gè)整數(shù)或指針參數(shù)按順序放在rdi、rsi、rdx、rcx、r8、r9第七個(gè)及以后的參數(shù)從右往左壓棧返回值放rax。浮點(diǎn)參數(shù)另有xmm0-xmm7初學(xué)階段可以先放一放。這個(gè)約定有多實(shí)用你只要在反匯編里看到call strlenplt之前有人把rdi設(shè)置成一個(gè)地址就能確定 strlen 的參數(shù)就是這個(gè)地址。再看到call scanf之前rdi是格式串、rsi是緩沖區(qū)地址你就能直接還原出scanf(%31s, buf)這樣的調(diào)用。4.2 調(diào)用者保存與被調(diào)用者保存寄存器到底誰(shuí)來(lái)“善后”調(diào)用約定里還有個(gè)看似繞但其實(shí)很重要的分配有些寄存器是調(diào)用者保存caller-saved有些是被調(diào)用者保存callee-saved。意思是調(diào)用者如果希望某個(gè)寄存器在函數(shù)調(diào)用前后保持原值要么自己保存調(diào)用者負(fù)責(zé)要么期望被調(diào)函數(shù)不修改那些被調(diào)用者保存的寄存器。System V 約定里rax、rcx、rdx、rsi、rdi、r8-r11是調(diào)用者保存rbx、rbp、r12-r15是被調(diào)用者保存。實(shí)際觀察時(shí)被調(diào)用者保存的寄存器經(jīng)常出現(xiàn)在函數(shù) prologuepush rbx中間把rbx拿來(lái)存一些要跨調(diào)用存活的局部量函數(shù)結(jié)尾再pop rbx。這個(gè)現(xiàn)象也給你一個(gè)判斷依據(jù)如果一個(gè)函數(shù)中間調(diào)用了外部函數(shù)還指望某個(gè)寄存器值跨調(diào)用不丟那它大概率用的是rbx或r12-r15這類(lèi)被調(diào)用者保存寄存器。4.3 用調(diào)用約定快速反推函數(shù)原型一個(gè)典型片段假設(shè)你看到了這段反匯編mov rdi, [rbp-0x8] call strlenplt cmp rax, 8 je 0x401168 mov eax, 0 jmp 0x40117d這種片段在簽到題里出現(xiàn)頻率極高。先把寄存器映射一下rdi里放了某個(gè)局部變量值它被當(dāng)作 strlen 的參數(shù)所以局部變量至少是個(gè)字符串指針或 char 數(shù)組地址。strlen 的返回值在rax緊跟著cmp rax, 8就是“這個(gè)字符串長(zhǎng)度是否等于 8”。后面的mov eax, 0是返回值 0jmp跳向函數(shù)尾部。你幾乎可以不加思索地寫(xiě)成if (strlen(input) ! 8) return 0;這就是調(diào)用約定給逆向帶來(lái)的直接效果。你不光能看到指令還能看到一條條 C 語(yǔ)句的影子。5. 實(shí)操C 源碼到匯編再到逆向還原完整走一遍紙上談兵夠了我們現(xiàn)在取一個(gè)模擬題目二進(jìn)制把從“源碼編譯”到“反匯編還原”的完整鏈路走一遍。這個(gè)二進(jìn)制是我為演示生成的沒(méi)有符號(hào)混淆適合作為入門(mén)復(fù)現(xiàn)樣本。5.1 準(zhǔn)備一個(gè)模擬樣例程序先用 C 寫(xiě)一段邏輯簡(jiǎn)單但覆蓋面足夠的代碼保存為 demo.c#include stdio.h #include string.h int check(char *s) { if (strlen(s) ! 8) return 0; return strcmp(s, secret01) 0; } int main(void) { char buf[32]; puts(Input:); scanf(%31s, buf); if (check(buf)) puts(Correct); else puts(Wrong); return 0; }編譯進(jìn)一個(gè)叫 demo 的二進(jìn)制gcc -O0 -no-pie -fno-stack-protector -o demo demo.c-O0關(guān)閉優(yōu)化讓匯編和 C 代碼的對(duì)應(yīng)關(guān)系最直觀-no-pie讓地址固定方便我們按絕對(duì)地址找目標(biāo)-fno-stack-protector是為了避免金絲雀干擾閱讀。入門(mén)階段這樣開(kāi)編譯選項(xiàng)最友好。5.2 用 objdump 看一眼反匯編拿到二進(jìn)制后先做兩件事strings 和 objdump。strings 看字符串資源objdump 看函數(shù)清單strings demo objdump -d -M intel demo | lessstrings輸出里能看到Input:、Correct、Wrong和secret01這已經(jīng)告訴你程序核心是個(gè)字符串比對(duì)。objdump出來(lái)可以搜check、main。我先貼出 check 的反匯編帶注釋版check: push rbp mov rbp,rsp sub rsp,0x10 mov QWORD PTR [rbp-0x8],rdi mov rax,QWORD PTR [rbp-0x8] mov rdi,rax call strlenplt cmp rax,0x8 je 0x401168 mov eax,0x0 jmp 0x40117d mov rax,QWORD PTR [rbp-0x8] lea rsi,[rip0x2eb3] # 0x404028 mov rdi,rax call strcmpplt test eax,eax jne 0x40117a mov eax,0x1 jmp 0x40117d mov eax,0x0 leave ret注意lea rsi,[rip0x2eb3]里的0x404028那個(gè)地址基本就是 data 段里字符串常量的位置。我們?cè)?GDB 里驗(yàn)證它是不是 secret01。5.3 現(xiàn)場(chǎng)解讀 check 的每一個(gè)基本塊這個(gè)函數(shù)開(kāi)頭三句push rbp; mov rbp,rsp; sub rsp,0x10是標(biāo)準(zhǔn)開(kāi)場(chǎng)不用多說(shuō)。mov [rbp-0x8], rdi把參數(shù)暫時(shí)存到棧上mov rdi,rax又把參數(shù)取出來(lái)放回rdi然后call strlenplt。編譯器在 -O0 下經(jīng)常會(huì)出現(xiàn)這種“參數(shù)放棧又取出”的冗余搬運(yùn)別當(dāng)成復(fù)雜邏輯。strlen 結(jié)果出來(lái)后cmp rax,0x8判斷長(zhǎng)度是否等于 8。如果相等就je跳到0x401168直接進(jìn)入 strcmp 部分不相等就mov eax,0返回 0。再看 strcmp 調(diào)用結(jié)束后的test eax,eax; jne如果 strcmp 的結(jié)果不是 0說(shuō)明兩個(gè)字符串不相等跳到mov eax,0相等則走到mov eax,1。兩個(gè)分支最后都匯合到leave; ret。這個(gè)流程對(duì)應(yīng)源碼的 check 函數(shù)幾乎是一一映射。5.4 逆向還原成可讀邏輯按照我們前面的方法先識(shí)別函數(shù)邊界、再識(shí)別參數(shù)寄存器、最后看返回路徑可以還原出如下的偽代碼int check(char *s) { if (strlen(s) ! 8) return 0; if (strcmp(s, secret01) 0) return 1; return 0; }你再看 main 部分會(huì)看到類(lèi)似scanf(%31s, buf)后mov rdi, rax; call check后面接test eax,eax; jz之類(lèi)。這些合起來(lái)就是if (check(buf)) puts(Correct); else puts(Wrong);到這里一個(gè)簽到題的逆向還原就完成了。整個(gè)過(guò)程沒(méi)有依賴(lài)反編譯器的偽代碼完全靠匯編和調(diào)用約定推出來(lái)。想練手的讀者可以把我上面代碼用不同優(yōu)化等級(jí)重新編譯再自己還原一遍效果比看十遍教程都管用。6. 新手最容易踩的坑與調(diào)試經(jīng)驗(yàn)實(shí)錄匯編這塊的坑大多不是“看不懂”而是“看岔了”。下面這四條是我在帶練習(xí)時(shí)見(jiàn)得最多的翻車(chē)現(xiàn)場(chǎng)。6.1 Intel 語(yǔ)法和 ATT 語(yǔ)法混著看操作數(shù)方向全反Linux 下gcc生成的匯編默認(rèn)是 ATT 語(yǔ)法而多數(shù)破解工具默認(rèn)給你看 Intel 語(yǔ)法。兩者的操作數(shù)方向是反的Intel 是“目標(biāo)在左源在右”mov eax, ebx表示把 ebx 復(fù)制到 eaxATT 是“源在左目標(biāo)在右”mov %ebx, %eax表示同樣的操作。如果你一會(huì)看 objdump 的 ATT 輸出一會(huì)看 Ghidra 的 Intel 視圖第一反應(yīng)很容易把賦值方向搞反后面所有判斷就全錯(cuò)了。我建議統(tǒng)一成 Intel 語(yǔ)法objdump加-M intelGDB 里執(zhí)行set disassembly-flavor intel。先統(tǒng)一再分析能幫你少走很多彎路。6.2 棧向下增長(zhǎng)、數(shù)組向上增長(zhǎng)方向不要搞反棧幀的“向下”指的是地址變小。所以函數(shù)開(kāi)頭sub rsp, 0x20是給局部變量騰空間而不是在內(nèi)存里向上擴(kuò)展。數(shù)組訪(fǎng)問(wèn)則相反buf[0]在低地址buf[15]在高地址。這個(gè)方向問(wèn)題在處理溢出題時(shí)尤其要命。假設(shè)你在棧上有一塊char buf[16]它位于某個(gè)更低的地址而返回地址在高地址方向輸入數(shù)據(jù)越界寫(xiě)越多就會(huì)往返回地址方向覆蓋。如果你把方向記反了算偏移時(shí)就會(huì)差出一整個(gè)緩沖區(qū)長(zhǎng)度定位不到真正的覆蓋點(diǎn)。6.3 題目沒(méi)有 main、沒(méi)有符號(hào)時(shí)別在入口處迷路CTF 的題經(jīng)常被 strip 過(guò)main符號(hào)會(huì)消失。這時(shí)候別慌程序的真正入口是_start不是main??梢杂胷eadelf -h demo看入口點(diǎn)但更實(shí)用的做法是在調(diào)試器里斷在只被調(diào)用一次、并且后面跟著大量棧初始化的函數(shù)或者直接看動(dòng)態(tài)符號(hào)表里調(diào)用了哪些外部函數(shù)反推它所在函數(shù)的功能。還有一類(lèi)題型是靜態(tài)庫(kù)打包main 藏在某個(gè)你完全沒(méi)聽(tīng)過(guò)名字的函數(shù)里。這種判斷方法一致找puts、scanf、fgets等輸入輸出函數(shù)的調(diào)用位置最像用戶(hù)入口的函數(shù)基本就在那一帶。6.4 調(diào)試時(shí)幾個(gè)保命習(xí)慣建議現(xiàn)在就練每分析一個(gè)函數(shù)先在紙上寫(xiě)清“參數(shù)從哪里來(lái)、返回值是什么、條件跳轉(zhuǎn)分成幾支”。不用很工整但一定要寫(xiě)。GDB 里多用info registers、x/gx $rsp、x/s 某地址來(lái)對(duì)照寄存器與內(nèi)存的實(shí)況不要閉著眼只看反匯編。遇到call外部函數(shù)之前先看它往寄存器里塞了什么那就是你的參數(shù)表。還原偽代碼時(shí)先把所有jmp匯合點(diǎn)標(biāo)出來(lái)再回頭看條件跳轉(zhuǎn)這樣不會(huì)在多個(gè)分支間轉(zhuǎn)暈。這些習(xí)慣堅(jiān)持兩三個(gè)題目效果會(huì)非常明顯。寫(xiě)到這兒我想起自己剛開(kāi)始練匯編時(shí)的土辦法找一道基礎(chǔ)簽到題把check或者加密函數(shù)那一段匯編打印出來(lái)用筆一行行做注釋標(biāo)清楚每一步改了哪個(gè)寄存器、跳向了哪里。這個(gè)辦法看著笨但它是把寄存器分工、棧布局、調(diào)用約定全部焊進(jìn)腦子里的最快路徑。如果你正在某道題上卡住別急著開(kāi)反編譯器的偽代碼窗口先手動(dòng)抄一遍關(guān)鍵函數(shù)的匯編你的思路大概率會(huì)突然被打開(kāi)。下一篇我們接著往后聊把加密識(shí)別和常見(jiàn)算法逆向帶進(jìn)來(lái)到時(shí)候你就會(huì)發(fā)現(xiàn)眼前這些密密麻麻的指令已經(jīng)變得相當(dāng)順眼了。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
久久色一区| 97日韩欧美| 无码自拍SM| 亚洲无 码A片在线观看麻豆| 欧美乱妇狂野欧美在线视频| 日本久久天堂| 麻花豆传媒剧国产MV出差| 桑老女人九区| 噜噜瑟| 亚洲国产精品久久久久婷婷青年| 图片区小说区| 先锋色眉乱伦资源| 无码人妻丰满热妇又大又粗| 久久久久密| 最新三级网址| 久操com| 国语少妇精| 亚精品无码毛片一区二区三区| 五月天色图影视| 欧美人妻一区| 免费一级特黄特色大片在线观看看 | 激情国产乱伦Av| 亚洲精品九九九| 国产自偷| 亚洲中亚日激情视频| 国产极品久久久| 五月天精品| 亚洲蜜桃V妇女| 黄片com.| 国内毛片免费h片在线| 美国一区二区三区视频| av天堂精品久久| 9丨亚洲一区二区在线| 天天肏天天干| 天天综合网91| 亚洲天天做日日做天天谢日日| 水多多映视AV| 日本一二区不卡| 高精欧美色| 青青草综合在线| 美女丝袜激情小说| 欧美色图在线视频少妇| 91M一社| 天天干人妻视频| 欧亚 另类 久| 久久精品视频久久久| 欧美躁死她一区二区| 丁香五月婷婷五月| 激情四射婷婷四五月天| 午夜福利区| 欧美色九九九| 人人澡人人干| 在线免费观看高清无码视频| 国产在线视频二区| 亚洲成人美女无吗| 国产精品91一样| 亚洲国产剧情少妇激情| 69丨亚洲丨精品丨入口免费播放| 亚洲 欧美 第一页 | av中亚| 日本乱人伦片中文三区| 日韩黄片视频试看| 日本道久久综合色色| 亚洲av乱伦色图网站| 99欧美| 江都AV在线| 日韩噜噜69| 91精品免费| 91精品国产91熟女| 国产一区二区三区免费视频在性观看 | 综合久久9| 乱伦一二三| 丝袜熟女一区二区三区| 丁香婷婷激情五月天无毒不卡| 亚洲熟女乱色一区二区三区久久久| 人人妻天天做天天爽| 国内精品99999| ji熟女.com| 99久久精品国产高潮| 精品妇女一区二区三区| 日韩精品怡红院| 天天色综合影视网| 国产精品一区av在线| 青青操轻轻| 免费的av网| 九九九九九九九| 亚洲人妻久久| 亚洲精品 大香蕉| 歐美性天天| 欧美日韩亚洲天堂| 顶级丝袜熟女一区二区三区| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 东北丰满熟女国产一区| 97天堂| 国产家庭乱伦性爱视频| 天天看综合网| 后入合集| 国模精品一区二区三区苹果色戒| 男人的天堂在线| 久久大黄片| 欧美视频中文字幕区| 草b在线| 久久精品超碰| 99精品无码| 美国三级日本三级久久99| 污色区网站| 亚洲无码99| 天天热精品| 免费一级黄色录像影片| 欧美色图天堂网m| 国产黄色剧情影片麻豆免费播放| 亚洲欧美精品一区天堂久久| 999热日韩精品| 又大又长又粗又爽又黄| 操人妻逼91| 国产自制av蜜乳| 亚洲色吧网| 国产999精品久久久| www久久99| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 欧美亚洲系列| 人妻美腿丝袜制服诱惑综合天堂-| 欧美宗合网| 国产精品一区二区黄片| 免费操逼91| 最新加勒比丝袜在线| 97色综合中文网| 激情五月综合网| 91精品久久久久久| 伊人久久婷婷| 欧美日韩中文字幕不卡| 亚洲 日韩 欧美 国产综合体| 欧美激情亚洲情色| 久久久999日本大片| 熟妇人妻精品一区二区| 97亚洲性爱| 水多多映视AV| 九九热五区| 亚洲欧洲综合av在线| 韩日精品福利视频一区不卡在线免| 久久草草亚洲蜜桃臀| 97色欧州| 在线观看岛国有码| 日本在线伊人啪啪| 久久久精品九| 顶级少妇BT天堂| 欧美的性爱网站免费| 国产偷人妻精品一区二区在线| 亚洲精品尤物yw在线影院| 亚洲色丰满少妇高潮| 久久社区一区二区三区| 日韩欧视频| 精品久久久久瑟瑟| 9久精品| 嗯嗯啊啊操我| 精品一国2| 尤物一级在线免费观看| 91日韩| 欧美日韩国产电影| 密桃99999| 一本色道久久天天射天天干| 久艹视频在线| 东北女人| 熟女日韩| 中国亚洲呦女专区| 国产狂喷潮在线精品| 国产免费一区| 日韩综合97P| 综合色播| 欧美一级久久久久久久大片动画 | 色婷婷激一区二区三区| 九热中文字幕| 伊人在线大香蕉视频久久| 九热视频| 色婷婷丁香五月| 自怕偷自怕亚洲精品| 男人的天堂一区| 天美欧美国产| 翘臀vidoes| 精品少妇人妻av久久免费| 97国产|免费| 91九九九小逼| 久久99草| 久久久久久九九九九-美女久久久久久久-成人AV | 三级激情网站| 激情综合网激情综合| 女同性恋中文字幕| 91激情网| 亚州高清色综合| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 久久精品免费| 黄色二级片网站| 巨爆乳肉感一区二区三区竹菊影视| 欧美精品二区视频在线| 亚洲熟女诱惑| 色97欧美| 91精品国产91综合久久蜜臀| 夜夜欢天天干| 啊啊啊无码| 中出91视频| 久久精品中文| 欧美一级专区免费大片 | 日本人妻伦在线中文字幕| 精品午夜福利| 97精品视频| 久久αⅴ| 中文字幕精品码亚洲| 亚洲资源吧| 天欧美在线| 麻豆精品三区视频| 久久精品视| 天天干天天中出av| ...日韩成人一区二区三区字幕| 99天天超碰| 91日日| 97中文字幕色| 天天躁狠狠躁av| 欧洲亚洲人人爽爽视频| 影音资源男人日韩| 色约约一区=区三区| 国产麻豆91欧美一区二区久久婷婷国产精品 | 日日不卡av| 国产精品电影大全| 999久久久免费精品国产牛牛| 少妇久久久久| 国产美女销魂在线观看不卡| 丝袜剧情| 操九九九九九九| 欧美熟妇乱码在线一区| 国产第11页| 99这里都是精品| 欧美日综合| 国产精品久久久久久久久久久久| 操逼大黄片| 久久久麻豆精品| 99这里都是精品| 射丝袜高跟鞋99| 日韩 欧美 校园一区| 裸体1区| 久艹视频在线| 可免费观看的av毛片中日美韩| 日本在线观看网址| 成年人性爱日韩| www.激情| 天堂岛av| 婷婷操逼| 另类天堂| 无套内射性感少妇视频| 操逼网免费无码视频| 国产AV毛片| 啪啪啪综合网| 97香蕉网| 久久透逼视频| 999久久久精品国产| 久草资源在线视频官方总站日韩丝袜美腿 | A片 AV一级在线播放观看免费| 亚洲精品第一| 国产极品999| 天美传媒在线一区| 懂色aV一区二区天美传媒| 欧美大香蕉久| 99国产人成精品| 日夜干射色啊| 国产精品人妻免费精品| 韩国一级婬片A片AAAAA| 亚洲淫色网中文| 国内伊人久久久久久网站视频| 九月丁香婷婷色| 国产女人高潮视频| 香蕉精品二区二区| 无码WWW免费视频网站| 色播丁香| 久久久久婷婷精品av电影| 久久亚洲中文字幕视频| 五月婷色| 国产尤物在线三区| 欧美视频一区二区在线| 欧美一二三区四五区| 亚洲久草AV色图| 高清国产成人无码| 亚洲污污网站| 99久久精品无码一区二区| 高清不卡视频| 蜜桃狠狠色伊人亚洲综合网站| 国产www色在线观看| 欧美三级免费伊人| 99国产精品| 男人天堂2012| 亚洲图片91| 大香蕉丝袜一级片| 久久久免费视频18| 国产69精品久久久久99尤物| 91处女视频在线观看| 97天堂| 亚洲无套久久嗯嗯| AVE乱伦| 精品久久99| 97欧美日韩| 另类综合另类| 在线a亚洲视频播放在线| 国产精品久久久亚洲一区| 天天影视91看看| 国产成人在线观看综合| 97 国产精品| 秋霞一级视频在线观看免费| 97视频在线免费| 牛黄色久午久| 97久久超碰日韩精品| 性爱综合网| 不卡啪啪视频| 欧美乱欲| 一区二区三区男女操逼黄色小电影| 大香蕉日韩| 亚洲日产专区| 免费αV在线视频| 成人五月天色网| 免费在线黄片视频| 国产精品成人午夜福利| 人妻一区二区三区| 操逼1区| 九九九九九九九九九九九蜜桃| 99操视频| 精品无码欧美三级| 91N综合在线| 婷婷五月天无码| 欧美日本国产日韩激情视频| 国产精品白丝www| 日韩在线76| 中文字幕精品免费一区二区| 中文字幕精品专区搜索结果91| 欧美在线观看综合国产| 天天综合网日韩| 今日头条成人一区二区三区四虎精品| 日韩成人综合网| 亚洲天天操| 国产地址二三| 欧美激情综合色综合啪啪五月| 国产亚洲深夜激情| 亚洲第一男人天堂| 天天看特黄的免费网站| 色九月婷婷| 自拍偷拍国产欧美日韩韩| 黑人精品久久97| 国产欧美日韩女同性恋ww喷水精品| 国产精品一区二区手机看片| 啊啊啊轻点在线观看| 色穴精品| 久久久免费一级黄片| 狠狠91| 国产AB视频| 日韩精品三区四区| 国产精品亚洲免费| 亚洲密乳AV| 花花AV导航| 夜夜 中文视频rt| 97 亚洲 日韩 欧美 在线| 加勒比久久综合网高清| 欧美性生活男人的天堂| 国产精品高潮久久久无码| 亚洲日韩狠狠撸视频| 日本黄色裸日本黄色裸体 | 日韩婷婷| 精品性爱无码在线播放| 日本色色视频网站| 99色色网| 国产 亚洲 丝袜 制服| 在线综合网| 理论久久婷婷网8| 天天日美女的B| 久久99国产综合精品女同| 最新国产亚洲精品精品国产亚洲综合| 偷拍亚洲熟女视频播放| se吧提供国产乱老熟视频胖女人| 91高潮| 抽插亚洲无码| 好爽要喷了| 久久啊啊啊视频| 中文幕97| 一区二区视频你懂的| 欧美日韩淫加| 久久人人爽爽爽人久久久| 手机av天堂久久久久| 狠狠干,狠狠操| 亚洲五月婷| 久草免费在线一区二区| 在线综合色| 岛国视频一二三区| 日韩黄色一区二区三区| 精品国产久热在线观看| 99色在线视频| 精品少妇一区二区三区免费观看| 青青草日韩无码| 久久久久久久人妻| 国产精品老熟女一区二区| 9 9精品一区二区三区| 久久香蕉影院| 亚洲熟妇极品| 久久九九一区二区三区成人| 330dv亚洲成年视频网| 欧美亚洲国产日本在线,久久精品国产| 黑丝日韩av丝袜av| 亚洲素人综合| 中文乱码字幕观看| 一级做a爰片性色毛片久久| 草草影院最新网址| 日日日日日| 久久久啊啊| 美性中文综合网| 欧美91色| 超碰在线一区| 偷拍三区| 国产超碰| 亚洲最大的黄色电影网站。| 91欧美丨精品丨入口| 五十路熟女在线不卡观看一区二区| 97精品一区| 亚洲一区二区在线观看91| 久96热在线观看视频| A级毛片在线看免费| av在线免费一区二区| 熟女视频久久| 大香伊人在线一区| 99久在线精品99re8蜜桃| 国产狂喷潮在线精品| 国语国产操逼伊人AV网| 人人色97| 综合激情一一91| 日韩十八禁| 午夜男人av| 99热在线播放| 九九九草| ji熟女.com| 国产精品交换一区二区| 精品无码人妻一区二区免费蜜桃| 国产精品农村妇女| 波多野结衣先锋影音| 99亚亚热| 日本二区不卡| 免费av在线播放二区| 五月丁香激情综合网| 久婷婷一区| 精品少妇999| 国产树林里野战在线看| 色狠人在线99| 亚洲国产精品成人久久蜜臀| 色狠狠综合| 狠狠躁天天躁日日躁97| 人妻无一区二区三区| 日日夜夜狠狠| 亚洲日韩97| 国产成人无码啪| 97人亚洲综合字幕| 精品免费一区| 久久久A∨| yazhouzaixian| 中文字幕日韩人妻视频一区二区三区| 国产AV天美| 色图综合网| 长长久久曰曰夜夜成人网| 91热色| 乱论91| 九九九九免费高| 久草尤物| 嗯嗯啊啊好疼| 韩国一级AAA| 欧美A√综合网 | 亚洲综人| 久久欧美性爱视频| 中文字幕免费看| 伊人久久大香线蕉无码| 老女人老91妇女老热女| 999亚洲国产视频| 亚洲情色在线| 思思性爱| 久久久久久人| 天天弄天天操| 日韩无码一区二区三区| 精品人妻1237| 无码高清操逼网址| 欧美日韩青操| 亚洲日韩精品在线播放| 熟女熟妇一区二区三四区| 色五月大香蕉| 国产无码精品久久久久久| 色综合一区二区三巨| 精品人妻中文字幕高清| 免费人人搞97| 欧美人妻精品一区二区| 狠狠97| 日本大片日本一区二区免费高清| 伊人国产成人av网站| 一区麻豆 高清中文字幕| 日韩精品在线放| 怡春苑东京热| 九九RE视频在线精品| 青青草好吊色| 蜜臀AV成人精品蜜臀AV久久| 婷婷激情五月天小说网| 农村少妇久久久久久久| 久久精品免费| 无码高清专| 色区97| 高树玛利亚无码流出| 人人看欧美性爱| 亚洲第一视频 欧美风情 日韩| 狠狠色色| 天天激情综合站| 欧美综合自拍亚洲综合图| 大香蕉免费中文| 91成人高清在线观看| 欧美日韩国产精品久久色婷婷| 日韩有码一区三区| 操逼操逼逼操操逼91| 亚洲欧美综合图片| 亚洲永久永久永久永久一级一级一级精品 | 国产精品久久久久久久电影渣男| 97国产精品久久久久| 日韩人妻大香蕉| 小视频玖玖| 精品对白久久不卡| 人妻无码视频一区二区三区久久| 小泽玛利亚一二三| 欧美日韩国产中文精品字幕自在自线| 狠狠干91| 暴力av在线| 抽插爽| 亚洲老熟妇xxx| 国产精品制服丝袜清纯唯美| 久久久新亚洲AV| 亚洲日韩资源| 啊啊啊啊啊啊啊在线| 亚洲色图激情小说| 国产亚洲色婷婷久久99精品91| 人人做天天爱| 亚洲国产另类在线中文| 一卡二卡三卡| 国产欧洲精品亚洲午夜拍精品| 日本熟妇熟色97一本在线观看| 亚洲AV无码国产精品久久久久| 日本人妻丰满熟妇久久久久久| 亚洲色图片区| 2020中文字幕在线| 久久久久久久久久久久欧美日| 亚洲aw毛茸茸在线 | 中文字幕福利视频一区二区三区在线观看| 久久99精品九九久久久婷婷| 黄色高清久久无码依人| 三级片大波波| 嗯嗯啊啊用力视频免费| 综合色图,成人综合网| AV九九| 欧美在线播放aaaa| 亚洲最大无码中文字幕网站| 91动漫操逼视频| 亚洲欧美日韩免费电影| 久久久久亚洲av综合波多野制衣| 精品人妻1区| gogogo免费高清看中国国语| 国产兽交视频在线播放| 日语五十路和六十路亚洲国产精品| 亚洲资源站| 久久在肏| 夜色91| 日本一区二区中文字幕久久| 中文字幕国产在线天堂| 麻豆国产97在线| 亚洲码在线中文在线观看| 日韩性爱小视频| 亚洲国产美女久久久久| 波多野42部激情无码喷潮| 精品久久久久久无码| 2017人人操,人人摸| 国产毛片久久久久久久| 国产精品色片一区二区| 国产又色又爽又舒服的三级视频 | 大茄子熟女AV导航| 天欧美在线| 久久超碰大香蕉| 国产超碰在线| 啪啪视频mP4| 久久久穴999| se,,,亚洲欧美| 青青草好吊| 九九九精品美女| 襙一襙| 无码人妻精品一区二区三区99不卡| 日本在线观看网址| 国产精品久久久久中文字幕| 99在线精品观看99| 嗯嗯嗯啊啊啊操的我好爽| 欧美精品 - 91爱爱| 九九九九97| 午夜男人的天堂| 欧美性爱日韩高清| 欧美十八禁在线看| 人人手机欧洲亚洲国产人妻| 久久99深爱久久99精品| 亚洲97在线| 久久久久久日韩| 五月天激情国产综合婷婷婷| 97色97好| 国产路线专区| 97人人操人人摸人人爱| 少妇一线天久久久久久| 亚州综合AⅤ| 人人妻人人爽| 黄在线| 人人爽天天爽| 欧美淫乱视频| 欧美一区二区三区互相| 综合久| 日本最新免费韩国1区2区视频播放| 东北女人性交| 少妇人妻太紧太深av| 人妻啊啊人妻啊| 91超碰在线播放| 伊人热综合| 色色色网站| 高清不卡 中文 人妻| 亚洲本色精品一区二区久久| 五月丁香色色网| 综合97亚洲| 亚洲第一页第二页激情| AV男人天堂网| 国产精品懂色tv影视免费观看 | 国产福利第一视频| 精吧天堂| 激情五月天插| 黄总AV色图| 久久大| 夂久色| 午夜福利合集| 人妻乱仑一区二区三区| 青青伊人这里只有精品| 操操逼视频| 亚洲图片欧美制度| 最新日本中文字幕| 亚洲色图激情小说| 91精品人妻| 久久99热这里只频精品6学生| 91色伦| JIZZJIZZ国产精品喷水| 久日综合网| 日韩无码黄色片| 97精品国产精品免费观看| 搡老女人911熟妇老熟女| 五月天婷婷欧美三区| 老司机香蕉久久久久| 毛片电影一区二区三区| 久操电影网| 国产亚洲精品自在线亚洲情侣| 大屁股熟女一区二区三区| 欧美强奸乱| 久久久久久裸体| 五月婷婷丁香中文字幕| 色天天野狼综合社区| 亚洲中文字幕三级在线| AV天堂因数| 91ise欧美| 操逼操2| 欧美精品丝袜久久久中文字幕| J?P?NESEHD熟女熟妇伦| 亚洲综合在线高清| 隔壁邻居波多野结衣中文字幕| 中文字幕78| 国产精品久久久久久久黄无码| 青青草久久在线| 六月丁香久久| 成人激情无码在线视频| 久久久久久久六六| yazhououmeizongya| 蜜乳AV色欲AVAV无码| 蜜臀在线看片| 成人情色一区二区| 婷婷久久综合| 欧美性Fer办公室秘书| 天天操人人操狠狠插| 高清国产无码av| 婷婷中文网| 欧美性夜| 1204av韩国| 再深点灬舒服灬太大了好硬好爽| 欧美少妇人妻| 日韩资源网| 五月激情综合网| 狠狠久久手机视频精品| 香蕉免费一区二区三区不读| 欧美日韩成人| 狠狠中文字幕| 91n欧美| 亚洲美女30b| www.av在线观看| 青娱乐淫乱1314| 搡老女人老91妇女熟女| 97免费在线视频在线观看| 啪啪AV导航| 麻豆天美91| 天天干1区2区在线| 欧美爆操91| 激情五月综合| 国产成人亚洲精品无码古代早漏男| 国产又粗又长视频| 亚洲宗合网| 精品91摸| 在线99热| 乱伦3P视频| 午夜亚洲WWW湿好大| 99热这里都是精品| 香蕉大久久久| 亚州久久9| 艹我哪美一区无码| 婷婷五月天无码 | 欧美日韩*字幕一区| 男人天堂毛片| 97精品一区二区三区免费| 97se综合网| 久久国产视频性吧| 91亚洲影视| 久草久日| 久久精9| 亚州精人品大香蕉| 亚洲一区二区中文字幕| 色色网91| 干我久操| 精品无码久久久久久久杏吧| 美女91网| 熟妇高潮二区三区| 欧美色综合图片| 欧美在线啊啊啊| 久久色激情一区二区三区| 99精品无码| 午夜男女爽爽爽在线视频| 人妻 中文 日韩| 黄色片一区二区三区四区五区| 天天躁日日躁狠狠躁| 超碰美女97| 91久热| 青青草原成人| 破处bbq| 欧美性五月| 丝袜色综合| q2午夜理论片夜色av| 男人的天堂无码| 吊色| 色噜噜狠狠色综无码久久| 色综合99999| 色偷偷男人的天堂麻豆| 嗯嗯啊啊日韩精品| 欧美综合狠| 亚洲图片 欧美电影| 欧美高清91| 日本 情色 1区| 97爱亚洲| 欧美爆乳精品一区二区| 人人操人人操人人人操| 中文字幕乱在线伦视频中文字幕乱码在线 | 中文字幕在线观看AV| 超碰97欧美在线| 久久9亚洲| 日韩激情视频| 激情小说亚洲视频| 国产乱码久久久| 亚洲色宗合| 欧美传媒| 人人操人人操草草| 日韩人妻无码专区| 人人喜人人妻| 九九九影院| 日韩精品人妻中文字幕不卡乱码| 中文操逼字幕| wuyechaopeng| 九九九精品一区二区无码| 免费公开人人操| 日韩午夜精品一区二区三区电影| 九九无码视频| 91久精品| 曰韩少妇无码| 91老司机在线| 亚洲精品国产熟女| 秋霞视频一区二区| 欧美日韩淫加| 妇女乱色二区| 国产女人视频三四五区| 国产欧美精选自拍一区| 大香蕉乱伦视频网| 色老汉色| 久久精品99久久久久久| 婷婷五月天激情网| 丁香五月天久久精品视频一区二区三区| 狠狠躁伊人中文字幕| 另类老少妇| 欧美顶级黄色大片免费| 日韩欧美俄罗斯A片| 啊啊啊啊嗯嗯嗯用力好爽 | 国产精品激情久久久久久久| 人妻熟女午夜精品在线| 日日做夜狠狠爱欧美黑人| 奶水 人妻 哺乳 在线| 隔壁邻居波多野结衣中文字幕| 大香蕉九九| 日本精品久久久久久久| 国产无码久久高清| 午夜高清成人在线视频| 色婷婷婷五月天激情四射| 91性网| 99精品欧美一区二区三区桃色| 国产按摩一区二区三区| 亚州欧美综合| 无码外流操逼视频| 日韩无码嘿咻黑热久| 色哟哟精品1精品2| 国产精品亚洲天堂网址| 91在线免费观看处女| 伊人网在线点播| www.99中文字幕| 一区二区三区日韩欧美| 999久久久国产精品| 国产精品免费视频人成| 中文字幕女同在线| 精品丝袜无码一区二区三APP| 亚洲无套久久嗯嗯| 强乱老妇中文字幕| 国模精品娜娜一二三区 | 欧美日韩精品一区二区三区高清| 操人妻逼91| 亚洲高清视频在线免费观看| 91黑丝露脚| 久夜操| 亚洲限制级| 精品人妻一区二区三区日产| 综合婷婷| 欧美人妻制服| renqi久久久久久久久久久久| 白嫩91在线亚洲| 在线v中文字幕一区二区三区| 60秒免费小视频| 久久久国产av美女私房| 欧美色图亚洲特色| 青娱乐福利99| 青青操在线亚洲视频观看欧美在线| 韩国免费播放一级毛片| 青青草亚洲一区| 免费看黄片现成| 啊啊啊啊二区好大| 狼狼色丁香久久婷婷综合五月| 天天天天做夜夜夜夜做| 狼狼色丁香久久婷婷综合五月| 在线观看视频91| 亚洲自拍天堂| 欧美线天码中字| 免费看一级a性色生活片久久无| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 久久偷偷色综合蜜桃| 日日碰狠狠添天天爽超| 久久久免费高清中文视频| 色人久久| 亚洲欧美小说| 黄色十八禁网站| 日本Xx性爱| 欧美日韩妖精91com| 亚洲激情网一二三四区| 国产91亚洲精品一区二区三区| 粉嫩少妇自慰在线| www国产天美久久久| 在线看污网站| 青青草亚洲一区| 亚洲AV噜噜狠狠网址蜜桃动漫| 激情四射婷婷六月天| 色婷婷基地| 亚洲中文字幕在线视频一区二区| 亚洲免费97免费| 国产亚州日韩欧美看片| 超碰欧美97| 96国产污污污丝袜| 99视频只有精品| 欧美亚洲国产91在线| 亚洲色图第四色| 9/A片| 国产欧美一级在线观看| 日天天九九天堂666| 日韩久久超碰色| 综合影视国产无码| 69麻豆天美| 亚洲drav色图| 亚洲欲色9532548967一区| 园内精品自拍视频在线播放| 青青草好吊色| AV色五月天| 青青草在线视频人人想人人上| 欧美系列在线一区二区| 亚洲中文字幕在现观看| 日韩 欧美 另类 人妻| 日本精品一区二区不卡| 97色涩| 中文字幕五区| 乱欲一区二区| 五月丁香黄色网| 97久操| 天天综合网入口~91| 亚洲第一页色| 人妻中文字幕日韩电影| A 天堂| 久久精品区| 香蕉大久久久| 欧美视频第二页| 97爱爱爱综合| 婷婷久久大香蕉| 欧美午夜视频精品久久| 1769国内精品视频| 亚洲黑人在线| 熟妇人妻精品一区二区| 超碰是碰在线观看| 狠狠色一区二区中文字幕| 偷拍欧美激情| 蜜臀av一区二区三区免费观看| 亚洲免费人妻在| 日本操大逼| 国产一级内射无挡观看| 黄色视频高清无码网站| 99re这里只有| 天堂亚洲精品| 五十路熟女,国产欧美精品区一区二区三区| 亚州色图狠狠干| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 亚洲图片激情小说| 伊香蕉综合久久久久久久噜噜噜| 国产91丝袜在线播放蜜月| 青青草字幕AV| 330dv亚洲成年视频网| 国产天天看| 亚洲情色一区三区| 国产精品久久久久久夜夜夜| 91亚洲黑人| 超碰97精品在线| 日本 成 人 小说 电影 一区二区| 99精品久久| www.夜夜操| 青青草中文-久久青草精品一区二区三| 曰韩无码777| 久热伊人| 国产熟女少妇一区| 婷婷国产精品九区| 91天堂视频| 欧美乱妇狂野欧美在线视频| 操逼999| 精品制服美女中文一区二区三区| 日产成人久久| 日本精品加勒比海一区| 中文字幕乱妇免费视频| 国产精品乱码久久| 日本操逼无码| 亚洲日本激情| 人人插人人摸人人| 激情久久av一区av二区av| 欧美性爱精品一区二区| 91婷婷| 午夜情侣自拍网站| 欧美色图下一页| 亚洲日韩黑丝| 99999re| 国产狂喷潮在线精品| 久操com| 欧美刺激色黄片免费看| 欧美激情综合色综合啪啪五月| caopeng97| 亚洲天堂人人妻| 夜夜操夜夜高潮夜夜爽国产精品区| 少妇九九九九| av网站免费看| 女人被男人桶爽视频网站| 被体育老师抱着c到高潮| 99热免费| 色综和网| 欧美丝袜中文字幕07在线| 人人弄人人摸| 女人午夜视频777| 欧美视频在线第3页| 天天天天做夜夜夜夜做| 欧美色97| 人人做天天爱| 亚洲国产日韩欧美熟妇在线| 99re3这里只有精品| 91欧美综合在线| 九九九九九九视频免费| 国产精品美女在线一区| 熟女精品一区二区三区| 日韩欧亚中文在线| 午夜一区| 草草网站影院白丝内射| 欧美日韩丝袜| 99热18这里只有精品| 亚洲男人天堂av| 黄色大香焦1级‘′‘| 后X久久| 欧美亚洲韩国视频十五区| 国产一级内射高清视频| 国产乱码精品一区二区三区四川| 97天天摸天天碰| 丝袜狂射91| 欧美日韩大香蕉| 丁香六月婷婷久久综合| 学生妹天天看| 狠狠婷婷亚洲中文综合久久| 在线观看日韩av不卡| 美女主播色欲91抠b在线播放| 亚洲美女精品九九视频| 日韩一级成人毛片免费观看 | 2017天天操天天日| 天天躁日日躁xxxxx| WWW4虎| 中国少妇啪啪视频| 8050午夜少妇无码| 国厂麻豆77q4| 日本性感人妻91| 偷拍 精品另类 凸凹了四区| 欧美精品欧美精品系列| 亚洲人妻在线一区| 5252色欧美在线| 亚洲综合第一页| 超碰免费在线| 五月天AV资源| 免费啪啪一级视频| 好舒服视频| 操婢日韩| 99操| 欧美Aⅴ| 啊啊啊啊啊在线视频| 欧美第一页| 粉嫩国产精品久久粉嫩| 久久久久女教师免费一区| 牛黄色久午久| 精品无人区麻豆乱码1区2区图片| 操高情无码| 久久久久久少妇| 中文字幕亚洲永久精品| 亚洲Av噜噜一区二区三区妖精| 91av一区二区在线观看| 日韩久久超碰色| 欧美传媒| 超碰97最新人妻| 日韩性爱1级片视频| 99RE在线视频精品,这里只有精品| 超碰97人妻免费在线| 欧美亚洲影视| 国产综合在线视频网站| 干B| 精品毛片久久久精品毛片| 欧美色道啊| 激情小说五月天| 日本一区二区三区四区五区六区七区八区九区| 丁香六月婷婷| 麻豆精品一区二区三区四区免费观看| 久久国产三区| 成人av性爱电影在线观看| 久久久久久中文版| 国产区性爱在线视频秋霞豆| 人人澡人人澡人人| 婷婷色五月激情| 亚洲有码视频二区| 亚州精品丝袜-不卡成人免费| 亚洲精品国产熟女| 在线播放中文字幕| 91久久久久久久久18| 大香蕉啪啪啪| 黄色AV影视| 亚热日本熟女| 久久精品色欧美aⅴ一区二区| 久久久久女教师免费一区 | 五月天丁香| a男人的天堂久久一级A毛片| 国产不卡中文字幕免费avi| 黄色区免费观看中文字幕| 性高潮久久久久久久久久久| 69人妻精品一区二区绯色| 美女裸体无遮挡永久免费观看网站| 久久中出在线| 欧美十八禁在线看| 操东北女人| 久久久久9999精品九九九| 亚洲天堂久久| 自拍偷拍国产欧美日韩韩| 色哟哟精品1精品2| 亚洲国产一区二区三区在线 | 青青草原综合久久大伊人精品| 可以在线观看的黄色网址| 亚洲少妇视频| 欧美精品双插| 欧美激情综合| 91碰超| 玖玖久久久| 久久这里| 日韩乱码Av| 秋霞免费AV| 欧美乱伦专区| 福利天天都操| 99xav| 志村玲子视频一区二区| 377p欧洲日本亚洲大胆| 91少妇人妻| 亚洲青青草| 久久9精品视频| 免费观看啪视频| 亚洲免费成人在线高清无码视频| 亚洲图片小说欧洲| 天天激色| 亚洲综合另类欧美久久久| 国产动漫操逼视频| 国产成年精品高清在线观看91| 精品一级| 欧美偷偷网| 蜜臀99999| 美女黄页| 久久女婷| 国产三级电影免费观看| 亚洲?V无码专区在线电影| 91熟女视频| 日韩久射综合| 久久九九精品一区二区| 夜夜嗨绯色| 人妻一区久久二区三区色播| 五月色综合| 日韩无码成人电影| 啪啪啪精品视频| 丁香六月激情| 亚洲欧美色图小说| 一级性爱网| 色噜噜国产精品视频一区二区| 性欧美| 综合天天。| 色偷偷超碰亚洲| 亚洲综合射| 久久中日麻豆| 日韩传媒在线| 97在线欧洲| 久艹伊人精品综合在线| www鬼畜国产男人的天堂| 婷婷五月天在线观看| 久久婷婷热| 日韩999| 婷婷综合五月| 国产一级片| 久久怡红院| 操操AV电影| 亚洲 欧美 中文 日韩超碰 | 亚洲一区二区三区不卡国产欧美| 日本综合久久| 一区二区三区精品视频| 精品人妻一区| 在线人人人人人人精品超| 黄片免费看的| 无码高清专| 国产情侣自拍在线播放| 插欧洲美女欧美精品| 色婷婷九月| 日韩欧美视频青青| 旡码电影特区| 国产美女91视频| 精品九九九九九九九九九| 久久久久久少妇| 大香蕉手机在线|