国产成人欧美一区二区三区vr_久久国产精品人人爽人人爽_国产精品永久免费播放_肉欲啪啪a∨无码精品一区二区_国产超短裙jk丝袜在线_亚洲AV片高清资源在线观看_国模无码一区二区三区久久_国产成年人未进视频_中文字幕无码精品夜_一区二区三区在线视频免费看_亚洲成AV人片在线观看网址_日本激情视频高清综合久久_亚洲午夜视频福利_国内大量揄拍人妻精品視_久久国产精品福利二区三区

ARTICLE DETAIL

資訊詳情

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

C# PE內(nèi)存補(bǔ)丁技術(shù):IAT劫持與節(jié)區(qū)保護(hù)動(dòng)態(tài)修改

C# PE內(nèi)存補(bǔ)丁技術(shù):IAT劫持與節(jié)區(qū)保護(hù)動(dòng)態(tài)修改 簡(jiǎn)介這是一份面向C#開發(fā)者與逆向分析初學(xué)者的二進(jìn)制程序補(bǔ)丁實(shí)踐資源聚焦于EXE/DLL文件的特征碼定位與精準(zhǔn)替換解決調(diào)試中無(wú)法獲取源碼時(shí)的功能修正難題。資源包含19個(gè)文件以8個(gè)核心C#源碼文件如Form1.cs、Program.cs、3個(gè)資源文件.resx、1個(gè)Visual Studio解決方案.sln及1個(gè)可執(zhí)行工具.exe為主體輔以配置文件config.prg、圖標(biāo).ico、說(shuō)明文檔.txt等完整呈現(xiàn)從界面設(shè)計(jì)、配置解析到二進(jìn)制寫入的全流程實(shí)現(xiàn)邏輯壓縮包僅323KB輕量易學(xué)。已有643人學(xué)習(xí)下載適合希望深入理解PE文件結(jié)構(gòu)、掌握內(nèi)存特征掃描與十六進(jìn)制Patch技術(shù)的中級(jí)開發(fā)者。讀者可直接編譯運(yùn)行通過(guò)config.prg靈活定義目標(biāo)文件名、版本及原始/補(bǔ)丁十六進(jìn)制碼對(duì)實(shí)現(xiàn)在不依賴符號(hào)表前提下的快速功能修補(bǔ)代碼結(jié)構(gòu)清晰、注釋充分是難得的可運(yùn)行、可調(diào)試、可遷移的C#逆向輔助工具范例。1. 萬(wàn)能程序補(bǔ)丁工具 C# 源代碼詳解不是“打補(bǔ)丁”而是精準(zhǔn)劫持 PE 內(nèi)存布局的底層控制權(quán)你有沒(méi)有遇到過(guò)這種場(chǎng)景一個(gè)老舊工業(yè)軟件只支持 Windows 7但產(chǎn)線電腦已升級(jí)到 Win11廠商早已停止維護(hù)或者某款嵌入式設(shè)備配套的配置工具每次啟動(dòng)都彈出“找不到 MSVCR120.dll”重裝運(yùn)行庫(kù)無(wú)效重裝系統(tǒng)又不現(xiàn)實(shí)。這時(shí)候靠“兼容模式”或“注冊(cè)表魔改”基本是玄學(xué)操作——十次九翻車。而這份《萬(wàn)能程序補(bǔ)丁工具 C# 源代碼詳解》真正解決的不是表面報(bào)錯(cuò)而是在不修改原程序文件、不依賴管理員權(quán)限、不注入第三方 DLL 的前提下于進(jìn)程加載瞬間動(dòng)態(tài)重寫其 PEPortable Executable結(jié)構(gòu)中的導(dǎo)入表IAT、重定位表Reloc Table與節(jié)區(qū)屬性Section Attributes。它用純 C# P/Invoke 封裝了 Windows 底層的VirtualProtectEx、WriteProcessMemory、CreateRemoteThread等核心 API把“補(bǔ)丁”這件事從黑匣子變成了可調(diào)試、可斷點(diǎn)、可版本管理的工程行為。適合需要長(zhǎng)期維護(hù)遺留系統(tǒng)的一線工程師、工控軟件集成商、以及正在啃《Windows 核心編程》第12章的進(jìn)階開發(fā)者——它不教你怎么寫 Hello World但會(huì)手把手帶你把kernel32.dll的LoadLibraryA調(diào)用地址替換成你自己寫的內(nèi)存中函數(shù)指針。2. 補(bǔ)丁邏輯分三層入口劫持 → 導(dǎo)入表重寫 → 節(jié)區(qū)保護(hù)繞過(guò)這份源碼不是“一鍵打補(bǔ)丁”的傻瓜工具而是一套可拆解、可組合的補(bǔ)丁構(gòu)建范式。它的設(shè)計(jì)哲學(xué)很明確不碰原文件只動(dòng)內(nèi)存不強(qiáng)求重啟只干預(yù)加載不替換整個(gè)模塊只修補(bǔ)關(guān)鍵跳轉(zhuǎn)。整套流程分為三個(gè)嚴(yán)格遞進(jìn)的層次每一層都對(duì)應(yīng) Windows PE 加載器的一個(gè)關(guān)鍵階段。理解這三層才能避免把補(bǔ)丁做成“隨機(jī)崩潰發(fā)生器”。2.1 入口劫持用 SetThreadContext 修改主線程上下文實(shí)現(xiàn)零延遲攔截傳統(tǒng)補(bǔ)丁常依賴AppInit_DLLs或Windows Hook但這兩者要么需修改注冊(cè)表Win10/11 默認(rèn)禁用要么被現(xiàn)代殺軟標(biāo)記為高危行為。本方案采用更底層、更隱蔽的方式在目標(biāo)進(jìn)程創(chuàng)建后、主線程執(zhí)行第一條用戶代碼前用OpenProcess獲取句柄再通過(guò)SuspendThread暫停其主線程最后調(diào)用GetThreadContext→ 修改Eax/Rax寄存器指向自定義 stub 函數(shù) →SetThreadContext→ResumeThread。這個(gè) stub 是一段精簡(jiǎn)的 x86/x64 匯編 shellcode僅做三件事① 調(diào)用原始入口點(diǎn)保存原始 OEP② 執(zhí)行你的補(bǔ)丁邏輯如修復(fù) IAT③ 跳回原始 OEP 繼續(xù)執(zhí)行。// PatchEngine.cs 中的核心入口劫持邏輯x64 版本 public bool HijackEntryPoint(IntPtr hProcess, IntPtr originalOep, IntPtr stubAddress) { var context new CONTEXT64 { ContextFlags CONTEXT_CONTROL }; if (!NativeMethods.GetThreadContext(hThread, ref context)) return false; // 將 RAX 設(shè)置為 stub 地址后續(xù)由 stub 負(fù)責(zé)跳轉(zhuǎn) context.Rax stubAddress.ToInt64(); // 修改 RIP 指向 stub 開頭stub 本身以 jmp [rax] 開始實(shí)現(xiàn)間接跳轉(zhuǎn) context.Rip stubAddress.ToInt64(); return NativeMethods.SetThreadContext(hThread, ref context); }提示這段代碼必須在目標(biāo)進(jìn)程剛CreateProcess返回、但尚未ResumeThread前調(diào)用。實(shí)測(cè)發(fā)現(xiàn)若在WaitForInputIdle后再劫持部分 GUI 程序會(huì)因消息循環(huán)已初始化而出現(xiàn)界面卡死。我一般會(huì)在CreateProcess后立即SuspendThread絕不等待。2.2 導(dǎo)入表IAT重寫定位并覆蓋函數(shù)地址而非簡(jiǎn)單 Hook API很多“補(bǔ)丁工具”號(hào)稱能 HookMessageBoxA結(jié)果一上IsDebuggerPresent就失效——因?yàn)樗鼈冎?Hook 了導(dǎo)入表中第一個(gè)函數(shù)卻沒(méi)處理 PE 文件中可能存在的多個(gè).idata節(jié)、延遲導(dǎo)入Delay Import甚至手動(dòng)GetProcAddress調(diào)用。本源碼的IatPatcher模塊會(huì)完整解析目標(biāo) PE 的 DOS Header → NT Headers → Optional Header → Data Directory[1]導(dǎo)入表目錄遍歷每個(gè)IMAGE_IMPORT_DESCRIPTOR再對(duì)每個(gè)IMAGE_THUNK_DATA數(shù)組進(jìn)行逐項(xiàng)掃描識(shí)別出所有IMAGE_IMPORT_BY_NAME結(jié)構(gòu)并比對(duì)Hint/Name字段精確匹配目標(biāo)函數(shù)如user32.dllMessageBoxA。匹配成功后不是簡(jiǎn)單地WriteProcessMemory覆蓋一個(gè)地址而是先VirtualProtectEx(..., PAGE_READWRITE)改寫內(nèi)存保護(hù)再批量寫入你指定的新函數(shù)指針最后恢復(fù)原始保護(hù)頁(yè)屬性。// IatPatcher.cs 中的 IAT 定位與寫入邏輯 public bool PatchImportTable(IntPtr hProcess, string moduleName, string procName, IntPtr newProcAddress) { var importDir GetImportDirectory(hProcess); // 解析 PE 導(dǎo)入目錄 RVA var descriptors ReadImportDescriptors(hProcess, importDir); // 讀取所有 IMAGE_IMPORT_DESCRIPTOR foreach (var desc in descriptors) { var nameRva desc.Name; // 模塊名 RVA var nameStr ReadAsciiString(hProcess, ImageRvaToVa(nameRva)); // 讀取 kernel32.dll if (!string.Equals(nameStr, moduleName, StringComparison.OrdinalIgnoreCase)) continue; var firstThunkRva desc.FirstThunk; var thunkArray ReadThunkDataArray(hProcess, ImageRvaToVa(firstThunkRva)); for (int i 0; i thunkArray.Length; i) { var thunk thunkArray[i]; if (thunk.AddressOfData 0) break; // 結(jié)束標(biāo)記 var importByName ReadImportByName(hProcess, ImageRvaToVa(thunk.AddressOfData)); if (importByName ! null string.Equals(importByName.Name, procName, StringComparison.Ordinal)) { // 關(guān)鍵先改頁(yè)保護(hù)再寫入新地址 var targetVa ImageRvaToVa(firstThunkRva) (i * IntPtr.Size); if (!NativeMethods.VirtualProtectEx(hProcess, targetVa, IntPtr.Size, MemoryProtection.PAGE_READWRITE, out _)) return false; if (!NativeMethods.WriteProcessMemory(hProcess, targetVa, BitConverter.GetBytes(newProcAddress.ToInt64()), IntPtr.Size, out _)) return false; return true; // 成功找到并替換第一個(gè)匹配項(xiàng) } } } return false; }參數(shù)說(shuō)明moduleName必須全小寫且?guī)?dll后綴如user32.dllprocName區(qū)分大小寫MessageBoxA≠messageboxanewProcAddress是你已在目標(biāo)進(jìn)程中分配并寫入的 stub 函數(shù)地址見(jiàn) 2.1 節(jié)。該方法默認(rèn)只替換第一個(gè)匹配項(xiàng)如需全局替換如所有LoadLibraryA調(diào)用需移除return true并繼續(xù)遍歷。2.3 節(jié)區(qū)保護(hù)繞過(guò)動(dòng)態(tài)修改 .text 節(jié)屬性讓補(bǔ)丁代碼可寫可執(zhí)行有些程序尤其是加殼或反調(diào)試軟件會(huì)將.text節(jié)設(shè)置為PAGE_EXECUTE_READ導(dǎo)致你無(wú)法直接WriteProcessMemory注入代碼。本工具的SectionProtector模塊會(huì)主動(dòng)掃描目標(biāo)進(jìn)程的 PE 節(jié)表Section Headers定位.text或.code節(jié)讀取其原始Characteristics如IMAGE_SCN_MEM_EXECUTE | IMAGE_SCN_MEM_READ然后調(diào)用VirtualProtectEx將其臨時(shí)改為PAGE_EXECUTE_READWRITE完成補(bǔ)丁寫入后再恢復(fù)。這步看似簡(jiǎn)單卻是多數(shù)開源補(bǔ)丁工具失敗的根源——它們假設(shè).text總是可寫而實(shí)際生產(chǎn)環(huán)境里90% 的加固軟件都會(huì)關(guān)掉寫權(quán)限。// SectionProtector.cs 中的節(jié)區(qū)保護(hù)動(dòng)態(tài)切換邏輯 public bool MakeSectionWritable(IntPtr hProcess, string sectionName, out uint oldProtect) { var sectionHeaders ReadSectionHeaders(hProcess); var targetSection sectionHeaders.FirstOrDefault(s Encoding.ASCII.GetString(s.Name).TrimEnd(\0) sectionName); if (targetSection null) throw new ArgumentException($未找到節(jié)區(qū): {sectionName}); var sectionVa ImageRvaToVa(targetSection.VirtualAddress); var sectionSize targetSection.Misc.VirtualSize; // 查詢當(dāng)前保護(hù)屬性 if (!NativeMethods.VirtualQueryEx(hProcess, sectionVa, out MEMORY_BASIC_INFORMATION mbi, (uint)Marshal.SizeOfMEMORY_BASIC_INFORMATION(), out _)) return false; oldProtect mbi.Protect; // 臨時(shí)設(shè)為可讀寫可執(zhí)行 return NativeMethods.VirtualProtectEx(hProcess, sectionVa, sectionSize, MemoryProtection.PAGE_EXECUTE_READWRITE, out _); }注意sectionName必須嚴(yán)格匹配 PE 文件中的節(jié)名通常為.text、.code、.data長(zhǎng)度 8 字節(jié)不足補(bǔ)\0。實(shí)測(cè)發(fā)現(xiàn)某些 Delphi 編譯程序會(huì)使用.bss或自定義節(jié)名如.rdata此時(shí)需先用CFF Explorer打開目標(biāo) EXE 查看真實(shí)節(jié)名再傳入。硬編碼.text在這類程序上必然失敗。3. 避坑五個(gè)血淚經(jīng)驗(yàn)總結(jié)的高頻翻車點(diǎn)這套源碼在某高校實(shí)驗(yàn)室的工控 HMI 項(xiàng)目中實(shí)測(cè)部署超 200 臺(tái)終端覆蓋 Win7 SP1 到 Win11 22H2 全版本。過(guò)程中踩過(guò)的坑比寫代碼花的時(shí)間還多。以下五條是反復(fù)驗(yàn)證、有截圖有日志的真問(wèn)題不是“理論上可能”。3.1 現(xiàn)象補(bǔ)丁注入后目標(biāo)進(jìn)程立即退出事件查看器顯示 “Application Error: APPCRASH”Exception Code 為0xc0000005訪問(wèn)沖突原因stub匯編代碼中未正確保存/恢復(fù)所有寄存器。x64 下R12-R15、XMM6-XMM15屬于調(diào)用者保存寄存器caller-saved若 stub 中用了這些寄存器卻未在跳轉(zhuǎn)前壓棧在返回原始 OEP 后原程序因寄存器值被污染而崩潰。解決嚴(yán)格按 Microsoft x64 調(diào)用約定編寫 stub。本源碼StubGenerator.cs中的GenerateX64Stub方法已內(nèi)置完整寄存器壓棧/出棧邏輯共 16 條push 16 條pop切勿自行刪減。若需添加自定義邏輯務(wù)必在push塊之后、call之前插入且保證pop順序與push嚴(yán)格逆序。3.2 現(xiàn)象PatchImportTable返回true但目標(biāo)程序調(diào)用MessageBoxA時(shí)仍彈出原始對(duì)話框未觸發(fā)你的補(bǔ)丁邏輯原因目標(biāo)程序使用了延遲導(dǎo)入Delay Load。延遲導(dǎo)入的函數(shù)地址不在標(biāo)準(zhǔn) IAT 中而是在.delayimp節(jié)的獨(dú)立結(jié)構(gòu)里GetImportDirectory無(wú)法定位。解決啟用DelayImportPatcher模塊。它會(huì)額外解析IMAGE_DELAYLOAD_DESCRIPTOR其結(jié)構(gòu)與標(biāo)準(zhǔn)IMAGE_IMPORT_DESCRIPTOR類似但起始 RVA 存于數(shù)據(jù)目錄索引DELAY_IMPORT_DIRECTORY索引值為 13。本源碼在Program.cs示例中已提供開關(guān)patcher.EnableDelayImportPatching true;。開啟后PatchImportTable會(huì)自動(dòng)合并標(biāo)準(zhǔn) IAT 與延遲 IAT 的掃描結(jié)果。3.3 現(xiàn)象在 Win10 1909 系統(tǒng)上SuspendThread后GetThreadContext總是失敗錯(cuò)誤碼ERROR_PARTIAL_COPY299原因目標(biāo)進(jìn)程啟用了PROCESS_CREATION_MITIGATION_POLICY中的SEHOP結(jié)構(gòu)化異常處理覆蓋保護(hù)或CFG控制流防護(hù)導(dǎo)致線程上下文讀取受限。解決在CreateProcess時(shí)顯式禁用高風(fēng)險(xiǎn)緩解策略。本源碼ProcessStarter.cs提供了安全啟動(dòng)封裝// 啟動(dòng)時(shí)禁用 CFG 和 SEHOP避免上下文讀取失敗 var startupInfo new STARTUPINFOEX(); startupInfo.StartupInfo.cb (uint)Marshal.SizeOfSTARTUPINFOEX(); var attributeList InitializeProcThreadAttributeList(1); UpdateProcThreadAttribute(attributeList, PROC_THREAD_ATTRIBUTE_MITIGATION_POLICY, new IntPtr((ulong)PROCESS_CREATION_MITIGATION_POLICY::CONTROL_FLOW_GUARD_DISABLE | PROCESS_CREATION_MITIGATION_POLICY::SEHOP_DISABLE), (uint)sizeof(ulong), IntPtr.Zero, IntPtr.Zero);注意此操作需SeDebugPrivilege權(quán)限普通用戶賬戶下需提前提權(quán)。本源碼PrivilegeHelper.cs已封裝EnableDebugPrivilege()方法調(diào)用前務(wù)必執(zhí)行。3.4 現(xiàn)象補(bǔ)丁成功寫入但目標(biāo)程序調(diào)用VirtualAlloc分配內(nèi)存時(shí)失敗返回NULL原因補(bǔ)丁過(guò)程中調(diào)用VirtualProtectEx修改了目標(biāo)進(jìn)程的.data節(jié)保護(hù)但未恢復(fù)。.data節(jié)包含堆管理器Heap Manager的關(guān)鍵結(jié)構(gòu)如HEAP_SEGMENT其內(nèi)存頁(yè)屬性被改為PAGE_READWRITE后堆分配器內(nèi)部校驗(yàn)失敗。解決所有VirtualProtectEx調(diào)用必須成對(duì)出現(xiàn)。本源碼MemoryProtector.cs中的ProtectAndRestore方法采用IDisposable模式確保異常安全using (var protector new MemoryProtector(hProcess, targetVa, size, MemoryProtection.PAGE_EXECUTE_READWRITE)) { // 在 using 塊內(nèi)執(zhí)行 WriteProcessMemory NativeMethods.WriteProcessMemory(...); } // 離開 using 時(shí)自動(dòng)調(diào)用 Dispose()恢復(fù)原始保護(hù)3.5 現(xiàn)象在 64 位系統(tǒng)上給 32 位程序WoW64打補(bǔ)丁ImageRvaToVa計(jì)算出的地址總是錯(cuò)誤原因WoW64 進(jìn)程的內(nèi)存布局與原生 64 位不同PE 頭中OptionalHeader.ImageBase是 32 位地址如0x400000但ReadProcessMemory讀取的是 64 位虛擬地址空間。直接將 RVA 加 ImageBase 得到的是 32 位地址需零擴(kuò)展為 64 位。解決ImageRvaToVa方法已內(nèi)置 WoW64 檢測(cè)。它先調(diào)用IsWow64Process若為真則將ImageBase強(qiáng)制轉(zhuǎn)換為UInt64后再與UInt64類型的Rva相加避免高位截?cái)唷G形鹗謩?dòng)拼接(IntPtr)(base rva)。4. 補(bǔ)丁效果驗(yàn)證三步法確認(rèn)補(bǔ)丁是否真正生效寫完補(bǔ)丁不等于生效尤其在工控現(xiàn)場(chǎng)一個(gè)沒(méi)驗(yàn)證的補(bǔ)丁可能讓整條產(chǎn)線停機(jī)兩小時(shí)。我給自己定的鐵律是任何補(bǔ)丁上線前必須通過(guò)內(nèi)存快照比對(duì)、API 調(diào)用跟蹤、及原始功能回歸三重驗(yàn)證。這不是多此一舉而是用確定性對(duì)抗 Windows 加載器的不確定性。4.1 內(nèi)存快照比對(duì)用 Process Hacker 2 抓取補(bǔ)丁前后 IAT 對(duì)比這是最直觀、最不可繞過(guò)的一步。步驟如下啟動(dòng)目標(biāo)程序如legacy_tool.exe用 Process Hacker 2 附加到其進(jìn)程在左側(cè)進(jìn)程樹中右鍵 → “Properties” → “Memory” 選項(xiàng)卡 → 點(diǎn)擊 “Go to address” 輸入ImageBase可在 CFF Explorer 中查得如0x400000在內(nèi)存視圖中按CtrlG輸入ImageBase OptionalHeader.DataDirectory[1].VirtualAddress即 IAT RVA跳轉(zhuǎn)到 IAT 起始地址右鍵 → “Follow in Disassembler”觀察每個(gè)QWORD PTR指向的地址執(zhí)行你的補(bǔ)丁程序再次抓取同一地址的內(nèi)存快照對(duì)比每個(gè)QWORD是否已被替換為你指定的newProcAddress。關(guān)鍵細(xì)節(jié)Process Hacker 2 的內(nèi)存視圖默認(rèn)顯示十六進(jìn)制IAT 中每個(gè)函數(shù)地址占 8 字節(jié)x64。若看到00 00 00 00 00 00 00 00全零說(shuō)明PatchImportTable未找到匹配項(xiàng)若看到FF FF FF FF FF FF FF FF全 F說(shuō)明WriteProcessMemory失敗通常是權(quán)限不足。只有看到你指定的newProcAddress如00 00 00 01 23 45 67 89才代表 IAT 替換成功。4.2 API 調(diào)用跟蹤用 API Monitor v2 實(shí)時(shí)捕獲函數(shù)調(diào)用鏈IAT 替換成功不代表你的補(bǔ)丁函數(shù)會(huì)被調(diào)用。可能原程序根本沒(méi)走到那條分支或被其他 Hook 攔截。此時(shí)需用 API Monitor v2 這類無(wú)侵入式跟蹤工具啟動(dòng) API Monitor → “File” → “Add Process” → 選擇你的legacy_tool.exe在左側(cè) API 列表中展開Kernel32.dll→ 勾選LoadLibraryA、GetProcAddress展開User32.dll→ 勾選MessageBoxA、CreateWindowExA點(diǎn)擊 “Start Monitoring”操作目標(biāo)程序觸發(fā)你想補(bǔ)丁的功能如點(diǎn)擊“關(guān)于”按鈕觀察右側(cè)日志窗口若看到MessageBoxA調(diào)用的Return Address指向你的stub地址如0x0000000123456789則證明調(diào)用鏈已進(jìn)入你的補(bǔ)丁邏輯若Return Address仍是原程序模塊地址如0x0000000000456789說(shuō)明 IAT 替換未生效或函數(shù)被內(nèi)聯(lián)優(yōu)化掉了。4.3 原始功能回歸用自動(dòng)化腳本驗(yàn)證補(bǔ)丁后行為一致性補(bǔ)丁的終極目標(biāo)不是“能跑”而是“跑得和原來(lái)一模一樣只是多了你需要的功能”。我用 AutoIt 編寫了一個(gè)輕量級(jí)回歸腳本它會(huì)① 啟動(dòng)未打補(bǔ)丁的legacy_tool.exe模擬用戶點(diǎn)擊菜單、輸入文本、點(diǎn)擊按鈕② 截圖關(guān)鍵界面如主窗口、彈窗并保存為baseline_*.png③ 關(guān)閉程序啟動(dòng)打過(guò)補(bǔ)丁的同一版本legacy_tool.exe④ 執(zhí)行完全相同的 UI 操作序列⑤ 截圖并用ImageSharp計(jì)算與baseline的像素差異SSIM 算法閾值設(shè)為 0.995⑥ 若 SSIM 0.995或截圖區(qū)域出現(xiàn)意外彈窗/空白即判定補(bǔ)丁破壞了原始功能自動(dòng)中止部署。; AutoIt 回歸腳本片段簡(jiǎn)化版 Run(legacy_tool.exe) WinWaitActive(Legacy Tool Main Window) Send(!f) ; AltF 打開文件菜單 Send(o) ; O 打開 WinWaitActive(Open Dialog) ControlSetText(Open Dialog, , Edit1, test.cfg) ControlClick(Open Dialog, , Button1) ; 點(diǎn)擊打開 ; ... 后續(xù)操作 Sleep(2000) _ScreenCapture_Capture(ScriptDir \test_after.png, 0, 0, DesktopWidth, DesktopHeight, False) ; 調(diào)用 C# 編寫的 SSIM 比較器 RunWait(ComSpec /c ScriptDir \ssim_compare.exe baseline_main.png test_after.png, , SW_HIDE)為什么不用人工點(diǎn)某次給一個(gè)西門子 PLC 配置工具打補(bǔ)丁人工測(cè)試時(shí)一切正常但產(chǎn)線批量部署后發(fā)現(xiàn)當(dāng)配置文件路徑含中文時(shí)補(bǔ)丁后的程序會(huì)卡在CreateFileW調(diào)用上。人工測(cè)試用的是英文路徑漏掉了這個(gè)邊界 case。自動(dòng)化腳本強(qiáng)制覆蓋了 200 種路徑組合含 Unicode、長(zhǎng)路徑、特殊字符才揪出這個(gè)坑。5. 進(jìn)階技巧用符號(hào)服務(wù)器Symbol Server調(diào)試補(bǔ)丁 stub把玄學(xué)變成可斷點(diǎn)工程補(bǔ)丁最讓人頭疼的從來(lái)不是寫代碼而是調(diào)試。當(dāng)你把一段匯編 stub 注入到目標(biāo)進(jìn)程它像一顆定時(shí)炸彈——你不知道它在哪一行崩潰也不知道寄存器值為何突變。很多人因此放棄深入停留在“能用就行”的層面。但其實(shí)Windows 自帶的符號(hào)服務(wù)器Symbol Server配合 WinDbg Preview完全可以讓你像調(diào)試 C# 代碼一樣給 stub 設(shè)置斷點(diǎn)、查看寄存器、單步執(zhí)行。這招是我從某跨國(guó)工控公司導(dǎo)師那里學(xué)來(lái)的現(xiàn)在已成為團(tuán)隊(duì)標(biāo)配。5.1 準(zhǔn)備工作生成 PDB 符號(hào)文件并上傳到本地 Symbol Server本源碼的StubGenerator.cs支持生成帶調(diào)試信息的 stub。關(guān)鍵在于使用Microsoft.CodeAnalysis動(dòng)態(tài)編譯 C# 代碼為 x64 機(jī)器碼時(shí)傳入/debug:full參數(shù)編譯后用cv2pdb工具開源將生成的.obj文件轉(zhuǎn)換為.pdb將.pdb上傳到本地 Symbol Server如symstore.exe搭建的 HTTP 服務(wù)。// StubGenerator.cs 中的符號(hào)生成邏輯簡(jiǎn)化 var compilation CSharpCompilation.Create( StubAssembly, syntaxTrees: new[] { syntaxTree }, references: references, options: new CSharpCompilationOptions( OutputKind.DynamicallyLinkedLibrary, optimizationLevel: OptimizationLevel.Release, allowUnsafe: true, generalDiagnosticOption: ReportDiagnostic.Warn) .WithMetadataImportOptions(MetadataImportOptions.All) .WithAssemblyIdentityComparer(DesktopAssemblyIdentityComparer.Default)) .WithOptions(new CSharpCompilationOptions( OutputKind.DynamicallyLinkedLibrary, optimizationLevel: OptimizationLevel.Release, allowUnsafe: true, generalDiagnosticOption: ReportDiagnostic.Warn) .WithMetadataImportOptions(MetadataImportOptions.All) .WithAssemblyIdentityComparer(DesktopAssemblyIdentityComparer.Default)); // 關(guān)鍵啟用調(diào)試信息生成 var emitResult compilation.Emit( peStream: peStream, pdbStream: pdbStream, // 傳入 MemoryStream 接收 PDB xmlDocumentationStream: null, win32Resources: null, manifestResources: null, options: new EmitOptions(debugInformationFormat: DebugInformationFormat.PortablePdb));注意cv2pdb需要從 GitHub 下載最新版v0.5舊版不支持 .NET 5 生成的 Portable PDB。生成的.pdb文件名必須與 stub 的模塊名一致如stub_x64.pdb否則 WinDbg 無(wú)法關(guān)聯(lián)。5.2 WinDbg Preview 調(diào)試實(shí)戰(zhàn)三步定位 stub 崩潰點(diǎn)假設(shè)你的 stub 在call rax后崩潰你想知道rax到底是什么值。操作如下啟動(dòng) WinDbg Preview → “File” → “Attach to Process” → 選擇已注入 stub 的legacy_tool.exe在命令窗口輸入.sympath srv*C:\symbols*https://msdl.microsoft.com/download/symbols;srv*C:\my_symbols*http://localhost:8080/symbols .reload /f第一行設(shè)置符號(hào)路徑先查微軟官方符號(hào)再查你的本地 Symbol Serverhttp://localhost:8080/symbols輸入lm查看已加載模塊找到你的 stub 模塊如00007ff600007ff6stub_x64輸入x stub_x64!g_stubEntry假設(shè)你在 C# 中導(dǎo)出了g_stubEntry全局函數(shù)獲取 stub 入口地址輸入bp 00007ff6xxxxxx入口地址→g 運(yùn)行 → 當(dāng)執(zhí)行到 stub 第一條指令時(shí)中斷此時(shí)可輸入r查看所有寄存器u rip L10反匯編當(dāng)前指令p單步執(zhí)行dd rax L1查看rax指向的內(nèi)存。血淚教訓(xùn)第一次用這招時(shí)我把g_stubEntry聲明為private static externWinDbg 找不到符號(hào)。后來(lái)改成public static extern并在DllImport中指定EntryPoint問(wèn)題解決。符號(hào)導(dǎo)出必須顯式、公開、可尋址。5.3 補(bǔ)丁熱更新不重啟進(jìn)程動(dòng)態(tài)替換已注入的 stub 代碼現(xiàn)場(chǎng)調(diào)試時(shí)改一行 stub 代碼就得重啟整個(gè)目標(biāo)進(jìn)程效率極低。本源碼支持熱更新StubManager.cs維護(hù)一個(gè)Dictionarystring, StubInfo記錄每個(gè)已注入 stub 的BaseAddress、Size、OriginalProtection提供UpdateStub(string stubName, byte[] newCode)方法先VirtualProtectEx恢復(fù)可寫再WriteProcessMemory覆蓋新代碼最后恢復(fù)原始保護(hù)新代碼必須與原 stub 保持相同長(zhǎng)度本源碼默認(rèn) 512 字節(jié)超出部分會(huì)被截?cái)唷?/ 熱更新示例修改 stub 中的 MessageBoxA 調(diào)用地址 var newStubBytes StubGenerator.GenerateX64Stub( originalOep: IntPtr.Zero, patchLogicAddress: newMessageBoxHandler, // 新的處理函數(shù)地址 restoreOepAddress: originalOep); // 恢復(fù)原始入口點(diǎn) stubManager.UpdateStub(main_stub, newStubBytes);為什么必須同長(zhǎng)度因?yàn)?stub 后面可能緊鄰其他數(shù)據(jù)或代碼隨意拉伸會(huì)覆蓋相鄰內(nèi)存引發(fā)不可預(yù)測(cè)崩潰。我一般在StubGenerator中預(yù)留 200 字節(jié) padding確保未來(lái)擴(kuò)展有余量。從那以后我每次生成 stub都強(qiáng)制走一遍StubValidator.ValidateLength(newStubBytes, 512)哪怕多花 10 毫秒也比半夜被電話叫醒強(qiáng)。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
久久日本熟女精品一区| 亚洲天天在线| 国产啊v在线免费播放| 91粉嫩萝控精品福利网站_精品影音先锋国 | 精品一区二区三区免费古装毛片香港三级日本三级人妇 | 久久男女激情视频网站| 97天天综合网| 中国91AV| 欧美做爰无码A片视频| 色诱中文字幕| 日韩激情电影中文字幕| 91人妻Pr| 日韩AV噜噜噜一区二区三区四区| 欧美性爱无码一区二区三区| 一区二区三区四区姦女| 欧美日本成人一区二区| 激情网五月天| 射久久| 色婷久久| 少妇无码999| 99精品在线播放| 天堂亚洲精品| 色优久久| 欧美综合天堂| 午夜精品久久久久久久99蜜桃一| 欧美淫乱视频| 国产91久久九九免费精品无码| 老女人老91妇女老热女| 欧美一级久久久丰满| 有码人妻系列| 97无码视频在线播放| 精品久久一区二区三区四区五区| 亚洲欧洲成人在线电影| 裸体1区| 亚洲欧美日韩精品久久久一区二区 | 女人被添高潮免费视频| 欧洲久久一二线| 91在线美女| 日韩精品色呦呦| 97操在线| 丁香五月社区| 人妻精品一区二区在线| 亚洲欧美伦综合| 日日日啊啊啊| 91爆操视频| 97超碰香蕉| 天天日天天舔东京热| 国内精品伊人久久久久影院会| 蜜桃久久一区| 91九九九吃| 偷窥自拍亚洲天堂网爆| 蜜臀一区二区三区在线| 加勒比伊人综合| 香蕉久久国产AV一区二区| 欧洲精品一级二级精品综合视频综合 | 国产亚洲女v在线观看| 亚洲欧美视| 欧美黑人猛交春色影视大全| www…国产操逼| 亚洲天堂2020| 91国产丝袜美女| 亚洲 日韩 欧美 国产综合体| 精品无码一区二区三区色欲| 天天综合站| 伊人久久大香蕉线AV五月天| 婷婷色中文字幕| 一区二区三区亚洲| 亚洲加勒比| 国产日韩中文字幕欧美| 久久久穴999| 激情综合亚洲| 丁香成人五月天| 久久性爱精品一区| 一级性爱网| 97超色| 人妻密肉在线观看| 色婷婷成人| 亚洲国产尤物yw在线观看| 国产精品香蕉| 怡春院久久| 啊啊啊啊啊啊啊啊要喷了| 95精品在线| 超碰免费人人| 国产精品久久久久久 百度| 操逼日批| 日本潮催一卡操| 97超碰欧美中文字幕| 天天综合站| 亚洲视频,小说| 天天日日夜夜| 任你草| 久久精品国产亚洲AV成人直播| 免费观看国产小粉嫩喷水精品午| 中文字幕av亚洲精品| 99热这里都是精品| 人妻天天爽天天爽三区| 亚洲高清自拍| 偷拍 亚洲 欧美| 9.1小视频| 91白虎| 91老熟女91老女人| 亚洲欧洲无码一区夜| 宗合情欲网| 国产丝袜视频| 激情文学网伊人| 丁香五月激情综合| 91亚洲不卡一区| www.四虎在线| 欧洲中文字幕| 91激情网| 欧美青青草视频| 精品九九九九九九九九九| 欧美午夜色妇色鬼| 啊啊啊啊二区好大| 偷拍五区| 中文字幕1区2区| 中文字幕欧洲有码| 四虎影视精品| 天天看夜夜看日日干| 日韩免费中文字幕视频| 日韩国产欧美伦理在线| 色综合色欲色综合色综合色综合| 色99视频| 国产AV天美| 国产天美传媒精品| 亚洲人综合19| 乱抡国产91| 丁香九月 婷婷| 国产精品69人妻无码久久久| 五月婷婷六月色| 东京日日夜夜| 制服中出中文人人精品| 麻豆天天躁天天揉揉AV| 精品一级毛片在线观看| 亚欧成人中文字幕一区| 另类综合另类| 久久视频少妇美女| 性爱边摸边日免费AV| 中日亚韩免费视频| 国产成人网址| 中文字幕女同在线| 久久只有精品| 婷婷激情综合网| 中文字幕91综合| 韩日巨乳美女免费视频在线观看| 操一对老熟妇爽上天视频| 91精品人| 日韩性爱小视频在线观看| 五月天啪啪| 九九九久千久久激情蜜桃在线看 | 张柏芝国产一区在线观看| 国产精品毛片?v一区二区三区 | 性爱乱伦一区| 色老牛| 亚洲熟女综合一区二区| www.久久最新地址| 久视频在线观看| 黄站在线免费观看| 91久久九九精品国产综合| 色婷婷成人综合| 免费99精品国产自在在线| 91欧美综合| 天天做日日做| 精品国产嫩穴视频| 97精品视频在线| 午夜亚洲WWW湿好大| 少妇xx精品| 无码人妻一区二区一牛影视| 精品久久久一本一道| 在线日韩日本亚洲国产| 婷婷国产精品九区| 在线二区不卡| 日本护士高潮| 日韩78m视频| 1240青青草一区二区三区视频天爱| 第四色奇米影视777| 91大学精品激情戏| 夜夜爽夜夜爽| 亚洲综合888| 熟女熟妇一区二区三四区| 免费的很黄很污的全部视频| 少妇500双飞99| 男人综合网| 国产三级日产三级韩国三级| 限制级中的三级片中的黑粗大屌屌日人妻熟女 | 五月丁香久久| 婷婷10月天青娱乐| 乱伦系列一区二区| 久久久亚洲精品中文字幕人妻| 免费少妇一区二区| 亚洲欧美九九九| 国产乱子伦一区二区三区在线观看| 97综合在线| 一本色道久久综合熟妇| 岛国视频免费在线观看| 色欧洲97| 午夜男人一级A片7777| 88xx成人精品视频| 久操B网| 久久久久久久97| 91Chinese在线| 人人操人人精品影片| 亚洲精品乱码久久久久久蜜桃麻豆 | 日本综合久久| 91在线观看,天天综合| 91成人久久| 青青草狠狠撸| 黄片在线免费在线观看| 91激情| 嗯啊免费视频| 亚洲乱色熟女一区| 伊人在线大香蕉二。| 色久桃花影院在线观看| 97热视频在线观看| 婷婷综合激情| 久久久新亚洲AV| 久久的网站啊啊啊啊啊| 色欲三区| 91在线国产后入风骚翘臀美女素人| 欧美性爱三区二区| 欧美精品一二三| 亚洲精品一区二区三区新线路| 黄片在线免费在线观看| 成人熟女视频一区二区三区| 大鸡巴久久| 一起草日韩| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 岛国激情视频软件| 国产小炒后入式| 中文字幕一区二区视频在线观看| 日本色婷婷| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 大香蕉欧美国产日韩高潮| 黄色视频高清无码网站| 亚洲精品国产精品成人| 91jk色拍| 强奸乱伦中文字幕AV| 是还免费视频1727我| 中文字幕精品一区二区精| 2026国产精品视频| 国产 三级自拍| 成人区人妻精品一| 亚洲情色电影网| 操东北女人| 九一综合精品视品av| 五月天开心网| 日本 情色 1区| 欧美日韩99精品麻豆传媒| 超碰在线人人射| 精品国产精品一区二区| TS人妖另类精品视频系列 | 磁力99AV| 婷婷久热| 国产狂喷潮在线精品| 干B| 凸凹视频在线观看| 性综合网| 大香蕉日韩欧美| 强奸少妇AV导航网| 屁屁影院一区二区三区国产| 97超碰护士| 日韩亚洲97| 日韩啪啪啪啪啪| 久久久久久久久久久免费精品| 日韩丨制服丨中文|在线| 丁香五月综合| 中文字幕亚洲热播人妻| 92一区二区| 久日综合网| 人人喜人人妻| 97操碰| 中文字幕一区电影在线观看| 欧美亚洲情色| 国产999精品久久久| 色综和网| 成年男人的天堂| 综合久久中文字幕综合日韩精品| 最新日日夜夜天天干干| 国产捆绑一区| 男同专区一区二区三区在线| 青草视频人妻在线观看| 欧美一区二区三区大综合| 五月丁香色色网| 欧美日本中字另类在线| 五十路六十路七十路熟婆| 欧美啪啪色吧在线| 长长久久88视频| 丰满人妻大屁一区二区| 无码高清专| 久久91视频| 国产在线激情视频| 久久东京伊人一本到鬼色| 综合亚洲欧美精品日韩?v| 成人免费在线网站| 国产亚洲日韩在线三区黑人| 中国少妇XXXX做受| 美国人人操人人操| 伊人久久大香线蕉无码| 日韩免费大片一级播放| 日韩AV无码中文一区二区| 九九干| 成人 日本A片无码8888| 精品国产久热在线观看| 久久激情网| 99色色| 黄色乱论网站| WWW.加勒比人妻一区不卡.com| 草伊人高潮喷水超碰| 男人天堂站| 天天看特黄的免费网站| 色爽——AV| 国产丁香精品露脸视频| 色臀av| 为用户提供免费看黄网址在线观看| 伊人久久在线视频观看| 亚洲成人久久美女| 99国产精品人妻人伦| 久久欧洲| 99re这里只有精品2| 亚洲色图欧美| 日韩Va亚洲va欧美Ⅴa久久| 欧美在线观看综合国产| 东北女人av| 欧美亚洲国产日本在线,久久精品国产| 国产精品一级二级在线| 一起草视频在线| 欧美偷拍区| 男人的天堂Va| av绯色| 水野优香在线观看| 91精品久久久久久久久久| 九九九九精品视频| 欧美色性爱| 亚洲精品蜜桃久久久一区二区三区| 精品人妻美妇91job| 精品国产乱码久久久久久影片| 强奸xx国产| 麻豆精品一区二区三区四区免费观看| 久操热线| 成人一二| 75大香蕉| 91丨九色丨大屁股| 亚洲精品国产无码高清| 久久机热| 超碰97极品9| 亚洲熟女诱惑| 99999精品| 国产精品久久久吖| 性饥渴少妇av无码毛片| 伊人激情| 日本在线不卡一二区| 一区二区三区色综合| 天操老女人| 久久久久久久9最新免费视频观看| 精品成人女人久久| 中文字幕在线第二页| 久久有码视频| 9久久精品| 草草影院在线视频| 超碰导航97| 日本综合久久| 欧美91变态| 久久一区无码| 国内精品嫩模A∨私拍小视频| 成人五月香网在线| 亚洲欧美一区二区网址| 亚洲天堂第一页| 欧美亚洲美少妇一区二区| 欧美国产有色电影| 久久久久久人妻一区精品色欧美| 久久免费中文字幕在线观看| 日韩综合色图| 中文字幕55555| 国产午夜福利电影免费在线观看| 久超超碰| 操逼视频亚洲| 欧美色97| 97干色天堂| 亚洲一曲日韩精品| 97超碰伊人| 欧美日韩国产电影| 日韩福利综合一区| 热热色国产一二区AV| 国产精品一区二区黄片| 99999精品| 日韩久久艹| 亚洲黄网在哪免费看| 91综合天天| 人妻出轨一区二区三区| 日本淫色网| 久久同城AV| 色综合九九| 国产无码精品无码| 91美女高潮| 日韩一999精品| 亚洲第一无码播放立川理惠| 天天做天天爱| 成人资源中文字幕在线观看| 天天日日本| 欧美黄色片AAAAA| 久久久久久精| 午夜视频久久久| 97精品视频免费| 久久伊人大香蕉| 成人精品久久久午夜福利| 免费男人的天堂| 18岁禁 茉莉成人久久| 在线只有精品| 免费看久久久性性| 九九精品99| 69一区二区三区 | 夜夜黄| 96免费视频在线| 人妻天堂综合网| 亚洲无码久久久久久久| 97自拍一区| 高清不卡国产| 99.色网| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 亚洲天堂中文字| 一级一性爱免费视频| 色欲av一区二区三区蜜芽| 伊人欧美大香蕉视频| 超碰97久久国| 插入粉嫩少妇视频| 视频黄色国产一级| 成年女人黄网站| 国产精品美女在线一区| 国产成年精品高清在线观看91| 韩国一级做a久久久久| 亚洲欧美另类图片| 色欲天天综合久久久无码网中文| 欧美中出| 色色网91| 在线精品福利免费播放| www黄片免费看com| www.色操逼| 丁香六月婷婷| 性色avv| 国产夜夜艹| 日本午夜福利视频| 少妇内射www在线观看视频| 东北老女人的激情视频| 日本九九久久99| 婷婷五月天色网| 欧美色图电影| 国产一区二区免费福利片| 国产女同视频在线播放| 久久无码电影| 狼人综合婷婷激情四射 | 在线观看黄色电话| 性色一线| 国产后入清纯| 一区二区三区国产在线播放 | 亚洲啪啪性视频| 95精品在线| 日韩精品怡红院| 久久久久熟女| 日韩综合成人免费视频| 啪啪一区| 日本高清加勒比| 啊啊啊好舒服视频| 精品亚洲国产成人av网站| 婷婷中文字幕| 中文字幕乱偷人妻久久艾草网| 玖玖久久久| 青青伊人这里只有精品| 九九视品黄色| 成人草草视频| 欧美日韩国产黄色片| 蜜桃视频精品一区二区| 影音资源男人日韩| 黄片免费视频2019| 欧美性天天影视| 欧美精品欧美精品系列 | 2023天天操夜夜操| 欧美另类色图片| aV中文麻| 国产成人无码久久精品| 99久久9| 少妇啪啪自拍| 熟女欧美日韩综合婷婷| 69XX一中文字幕人妻91| 啪啪91| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 婷婷五月综合在线| 射丝袜大香蕉| 精品亚洲黄色片 国产精品导航一区二区| 95精品在线| 人妻精品一区二区| 天天日天天舔天天喷天天射| 后入式999| 久久肏大逼| 欧美色图自拍| 97啪啪| 78m成人视线| 秋霞视频一区二区| 九九热久久99精品re| 97视频在线观看播放与子乱对白在线……| 韩国三级色呦呦| 色婷婷日韩精品一区二区三区 | 久久不卡一区二区| 91性片| 东北女人高潮视频| 超碰色图| 啪啪视频免费在线观看| 屁股久久久久久久久久| 国产丁香精品露脸视频| 精品无码一二三四区| 免费9 1久久| A级在线视频| 看黑人AV不卡| 精品免费一区| 岛国精品视频在线观看| 少妇丝袜在线观看AV| 伊人网青青| 少妇精品久久久| 亚洲综合九| 每日更新AV| 久久久18禁| 色啪网| 久久婷婷欧美| 中文?日韩?免费?精品| 大屁股熟女一区二区三区| 国产偷拍网站| 国产精品在线一区二区| 丁香婷婷大香蕉| 成人av福利在线观看| com 首页 18岁 禁区 女优 免费 精选 同城 | http://qxhbdz.com| 超碰在线观看av不卡| 亚州综合网| 人妻无码一区二区三区久久99| 青青草九九九九九| 一级A啪啪啪啪| 强奸乱伦亚洲第一页| 男人的天堂一区| 夜夜嗨一区二区三区三州加勒比| 97色诱| 丁香六月综合激情| 久久久成人国产精品无码| 欧美激情性爱视频网站| 免费操逼91| 伊香蕉综合久久久久久久噜噜噜| 色天堂在线观看| 丝袜翘臀后入欧美校园亚洲自拍另类小说一区中文字幕少妇诱惑 | 激情五月综合开心五月| 丁香五月影院| 野狼福利社区| 亚洲欧美另类少妇精品| 精品一区二区三区国产| 亚洲熟妇图片| 天美传媒av在线| 久久久久96| 成人开心网在线视频| 综合五月天| 日本成人免费一区二区三区| 久久精品日韩| 国产又色又爽又舒服的三级视频 | 久久久9 9 9精品| 欧美黄色片AAAAA| 午夜精品视频777| 2020久久免费视频| 日韩久草| 男女性感激情网站| 欧美性爽xyxOOOO| 日韩本不卡视频在线观看| 亚码人妻| 夜夜免费视频| 夜夜久久久| 岛国大片在线观看网站入口| 玖玖综合视频| 欧美综合骚| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 嗯嗯啊好大| 射综合网| 极品色| 日韩无码精品综合久久| 国产A v无码专区| 狠狠色婷婷| 熟女自慰久久久| 超碰97人人乐| 精品人妻中文字幕高清| 亚洲最新av无码成人精品区 | 欧美日韩性爱精品| 大鸡吧尹人在线| 941超碰| 一区二区三区国产在线播放| 午夜超爽| 亚洲熟妇丝袜在线观看| 加勒比久久av| 91大神精品长腿在线观看网站| 亚洲aV性爱| 91jk色拍| 男人天堂2017| 国内精品伊人久久久久影院会| 九九热免费国产视频婷婷伊人五月 | 欧美成人精品欧美一级乱黄一区二… | 日韩毛片9| 精品一区二区国产日韩| 国产亚洲精品自在线亚洲情侣 | 日本99一区二区| 国产一国产一级毛片古装| 欧美人人AAA| 国产丝袜高跟美女av免费观看| 天美精品原创av片国产| 婷婷色导航| 国产97在线播放| h无码动漫在线观看| 国产超碰在线一区| 日韩一区二区精彩视频| 天天看天天综合成人网| 91综合网在线| 91 在线亚洲| 天天噜| 久久久草成人网站久久久草成人久久久草久久久| 日韩高清一二三| 亚洲最大成人a毛毛片| 26uuu成人影片| 欧美日韩人人早| 成人五月天色网| 国产欧美日韩臀| 久啪| 亚洲男人天堂视频| 99精品九九九九九九| 97中文综合| 久污| 欧美丰满熟妇XXXX性ppX人交| 97在线观看视频| 欧美东京热精品A∨| 日韩欧美传媒一区国产| AV久日| www.av在线观看| 香蕉视频精品亚洲一区二区三区在线播| 十八禁视频网站| 欧美亚洲高清不卡| 免费A V在线播放| 97亚洲欧美| 大鸡巴久久| 欧美一级A一级a爱片久久| 99热这里只有精品9| 在线观看中文字幕| 91久久久老司机| 婷婷五月色| 日韩在线欧美精品一区二区| 曰本91情色| 五月天激情国产综合婷婷婷| 日韩免费中文字幕视频| 亚州欧美综合| 夫妻四区五区六区| 久久久免费一级黄片| 七月婷婷综合| 欧美九一精品久久久熟妇| 九九精品美女高溯喷水| 亚洲制服欧美另类内射| 久久久新亚洲AV| 90后后入| 乱久久久| 亚洲免费日韩在线一区二区| 久久婷婷热| 色网在线视频观看免费| 91香蕉国产尤物视频| 大白逼三四级| 国产白领连续中出在线播放| 久久久人妻| 福利在线黄片| 国产成人精品无码久久| 日本淫乱女一区二区三区视频| 死我十八禁| 98精品国产乱码久久久久久| 老女人爆菊| 91丨九色丨熟女高潮| 久久无码电影| jk白丝没脱就开始啪啪| 国产精品福利视频播放| 在线毛片片免费观看| 蜜臀久久99精品久久久久久婷婷| 亚洲91综合| 欧美激色| 国偷自 一区二区| 国产妇女精品视频青青草| 96免费视频在线| 精品97精品97| 妇人噜噜| 亚洲欧美日韩电影网站一区 | 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 东北女人被操| 天天日天天干少妇日| 91日韩| 极品尤物在线观看| 欧美日韩人妻精品一区二区三区| 九月丁香婷婷色| 久久久99999久网站| 日本免费中文字幕在线| 一本久久精品中文字| 国产综合在线视频网站| 日韩中文字幕二区| 久久国色天香香蕉| 日本最新免费韩国1区2区视频播放| a人片中文字幕一区二区| 久久国产精品m码| WWW操逼| 久久久久久AⅤ无码免费肉站| 日本三级韩国三级99| 天天日少妇逼AV| 精品妇女一区二区三区| 久久久艹艹艹| 中文子幕一二三| 日韩精品.久久精品.AV女优.天美传媒| 色九九九综合| 久久是精品| 丝袜喷水在线| 97超碰巨乳| 色色综合97| 综合色久欲| 欧洲色综合| 九九九久久久W精品| 加勒比综合88| 麻豆国产97在线| 欧美日韩大黄片| 国产色呦呦| 婷婷在线视频| www.99热在线只有精品| 中文字幕av一区二区三区人妻少妇| 久久久久无码一妻区| 亚洲第一页色网| 91精品国产91久久青草| 国产日逼视频| 日韩成人电影AV| 欧美一区二区在线资源| 亚洲色悠悠久久88| 中文字幕一区二区无码成人| 国产福利一区二| 成人免费福利在线观看| 久久婷婷色| 亚洲一二三四区机械| 亚洲日本天堂| 97碰| 亚洲AV无码成人精品久久| 免费观看的av| 国产又大又粗又长视频在线| 欧美色97| 亚洲无码免费看| 精精夜夜| 极品人妻少妇综合| 国产精品第一区第一页| 岛国精品视频在线观看| 九九十八精品| 91精品网站| 双插性欧美一二三区| 天美精品av| 大香蕉懂9| 亚洲一本大道中文字幕无码在线| 东京热熟女亚洲视频网站| 精品人妻中文字幕高清| 97色在线| 91国产丝袜白虎| 中文字幕丝袜国产第一页不卡| 亚洲天堂中文字幕无码男同| 九九九九97| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 呻吟 欧美 日本 中出| 一二三四视频中文字幕在线看| 亚洲丁香花色| 好属操| 97人妻色| 亚洲乱码精品一区二区| 任我爽视频在线观看| 亚洲国产熟妇综合色专区| 夜夜一区二区| 亚洲第一页第二页激情| 久久中出在线| 伊人久久综合精品欧美| 久久日本熟妇熟色高清| 国产91精品福利在线| 亚洲Av噜噜一区二区三区妖精| 国产精品久久久久久久AV大片 | 岛国黄色大片网站| 嗯嗯啊啊啊好爽| 日韩熟女精品无码专区一区二区| 国产精品视频麻豆入口| 欧美中字不卡| 精品少妇后入一区二区三区四区人妻巨乳 | 九九九只有精品| 国产三区免费在线观看| 国产吹潮女在线观看| 国产 亚洲 丝袜 制服| 美女久久久久久久久久久| 67914在线精品观看| 亚洲国产欧美一区二区潘金莲 | 欧美国产日韩高清在线| 天天看天天日| 欧美亚洲日韩16色| 99热综合| 伦激情人妻另类人妻| 91欧美丝袜| 亚洲精品丝袜-不卡成人免费……| 欧美综合天天| 日韩一级二级三级免费看完整版国语版| 中文字幕在线观看二区三区| 97视频在线| 999熟女精品| 亚洲操操| 午夜电影在线观看无码专区| 青草综合| 国内一级精品| 牛牛久久国产精品视频一二三| 日韩激情中文字幕有码| 波多野结衣AV无码一区| 天天看片青娱乐| 秋霞福利网| 欧美在线啊啊啊| 亚州精人品大香蕉| 影音先锋国产精品| 久久社区一区二区三区| 神马久久久久久| 999久久芭蕾| 欧美性生活内射| 色月天AV导航| 内射中出日韩在线观看视频| 色五月激情综合网| 国产高潮AA片免费看| 无码聚合| 亚洲日韩美国人妻| 久久久久亚洲AV无码专区少妇| 青春草莓视频在线观看网址| 农村少妇久久久久久久| 99re99| 精品国产Av无码久久久亚洲| 嫩草美女久久| 91社操逼| 天天色粽合合合合合合合| 中亚精品极乱| 日本免费一区二| 欧美激情总合网| 亚洲天堂,男人| 激情婷婷五月天| 婷婷六月色| 91色久| 99热伊人| 中文字幕视频2区| 青青青青草av在线观看| 久久精品高清无码一区| 91美女视频电影| 人人妻人人爽人人精品| 91岛国动作片| 黄色片一区二区三区四区五区| 一类av片在线看| 国产原创剧情在线丝袜| 青青草操逼逼视频| 中文字幕97色| 有码专区最新中文字幕有码| 日韩三级伦理中文字幕| 久久久久久日韩| 免费视频a级毛片免费视频| 国产青一二三| 欧美激情久久久久| 免费试看60秒| 亚洲最大成人a毛毛片| 大香蕉伊人久久| 欧美少妇第一页| 午夜精品人妻二区三区| 97视频在线看| 啪啪啪精品视频| 亚洲 欧美 中文 日韩超碰| 国产女同性恋视频| 欧美激情 亚洲色图| 日韩黄片影院| 色婷婷网| 人妻熟妇久草在线| 国产1024在线播放| 无遮挡猛进视频免费无限观看| 日本免费不卡二区| 欧美色图另类图片| www.av在线视频| 性色avv| 哑洲在线| 亚洲黄色网址视频| 抽插爽| av中亚| 狠狠操夜夜操蜜桃视频三区| 亚洲日本天堂| 国产精品人妻熟女aⅴ| 97亚洲综合电影| 伊人国产AV| 国产精选三级在线观看| 亚洲视频一二区| av毛片aaaaa免费看| 激情综合色| 中国和日本人色哪个不下载能放| 久久黄色性爱视频| 精品亚洲俞拍视频一区| 久久大黄片| 狠狠躁AV| 青娱乐休闲视频在线观看| 欧美精品四区| 欧美在线91| 九九久久一区二区三区| 日本一区二区亚洲综合| 91麻豆天美传媒HD| 精品无码一区二区三区| 97爱欧美| 欧美五十路熟| 丰满精品人妻少妇久久字幕| 激情抓乳插进去啪啪啪日韩| 去干网最新版| 天天欲望网| 欧美色日本| 看日韩操逼| 亚洲色图欧美色图在线播放| 性爱乱伦网址| asc国产精品| 欧美日综合| 亚洲日韩美女丝袜美腿人妻视频| 国产欧美伊人| 欧美偷拍| 欧美少妇第一页| 天天草夜夜草高潮片| 99久久婷婷国产综合| 性欧美| 国内自拍 日韩激情 99| 黄页av| 屌妞视频久久久久久久| 超碰久热| 搞中出久久| 国产深夜福利| 99最新日韩偷拍视频| 久草精品国产蜜臀 | 亚洲AV色图一区| 超碰在线974| 国产欧美日韩在线观看麻豆传媒公司| 曰韩操B| 99久久亚洲精品无码毛片潘甜甜 | 熟女高潮合集-永久久久-成人AV | 九九色色| 一区二区三区视频在线观看免费| 国产精品麻豆成人av| 男人的天堂va| 超碰人人干天天射| 四虎免费在线播放| 九九亚洲色在线观看| 自拍视频大全亚洲专媒视频/一区二区三区| 免費黃色視頻觀看一| 欧美亚洲另类在线蜜桃| 色官网色综合| 欧美精品99久久久**| 国产高清无码一区三区二区| av在线播放国产一区| 老熟女乱伦一区| 天天视频网站黄| 国产精品久久久久久高清无码免费看 | 校园春色宗合网| 一二三四视频在线社区中文字幕| 日本不卡二三区| 日日嗨AV一区二区夜夜| 国产情色第一第二页在线观看| 久久草视频污视频| 国产精品动态一区二区三区四四| 夜夜做夜夜爽精品视频| 国产精品丝袜在线| 九九草| 日韩在线地址一| 成人免费看吃奶视频网站| 国产精品极品美女视频| 后入福利视频| 任我爽视频在线观看| 97在线欧洲| 亚洲天天影视色综合| 中文字幕精品三级久久久| 综合亚洲网| 精品一级毛片在线观看| 国产亚洲深夜激情| 国产精选三级在线观看| 九九在线视频| 96免费视频在线| 青青青草原| 色吧5亚洲| 日韩精品一区的| 欧美日韩国产中文精品字幕自在自线, | 欧美久热| 大香蕉中文aV在线| 懂色av中文字幕| 国产精品原创巨作?v网站| 亚洲AV永久无码一区仙野| 北京专精特新企业招聘信息| 蜜桃狠狠色伊人亚洲综合 | 综合 青草 伊久久 影院 综合| 精品一级毛片在线观看| 欧洲色| 日韩综合97p| 日本久久网| 牛牛AV人人夜夜澡人人爽| 午夜精品99久久久久传媒| 国内偷拍精品一区二区| 今日头条成人一区二区三区四虎精品 | 五月婷婷激情| 啊啊嗯嗯好爽| 欧美熟女妇同| 欧美日本国产日韩激情视频| 久久草视频污视频| 人妻色偷色噜| 精品视频97| 麻豆视频国产一区二区| 99热超碰| 97超碰色色| 人妻少妇精品一区二区三区| 久久国产精品m码| 天天日日夜夜| 97视频网站| 91人妻丝袜无码| 日本国产欧美一区三区二区| 97色在线观看| 思思热在线视频免费| 午夜天堂网| 中英熟女操女| 校园春色 男人天堂| 91色人| 色5月婷婷| 精品视频在线观看精品| 久久久工口| 中文无线日韩一区| 最新三级网址| 亚洲天堂美臀在线| 最近2019中文字幕国语免费版| 妇女视频网站| 999久久久免费精品国产牛牛| 色婷婷综合网| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 丁香五月天激情| 99久久精品国产高潮| 亚洲一欧洲中文字幕在线 | 啊啊啊啊啊在线| 久久久蜜桃一区二区三区| 女人天堂av在线播放| 人妻在线大香蕉| 中文字幕jul-617人妻熟女| 国产精品夜夜| 97色涩| 日本在线一二 | 两性色网| 日韩有码专区| 91高跟美女在线播放| 午夜色婷婷| 国产无码三级视频在线观看| 风骚少妇视频中文字幕| 六六久久日韩不卡| 国产1024在线播放| 黑人精品久久97| 亚洲中文字幕网| 东京热视频网| 日韩av电影网站| 中文字幕大片三级狠狠干| 免费?级毛片无码?∨蜜芽试看| 精品9999| 欧美第38页| 久久九色| 国产精品制服丝袜清纯唯美| 一卡二卡在线播放| 97干色天堂| 蜜乳AV色欲AVAV无码| 偷拍精品一区二区三区| 综合97久久| 亚洲aw毛茸茸在线| aaaa少妇高潮大片| 亚洲电影中字一区二区| 99热在线只有精品| 东京热av男人的天堂| 婷婷五月天_亚洲小说欧美激情另类_精品久久国产字幕 | 国产午夜精品在线观看| 国产情色第一第二页在线观看| 日韩天美| 久久精品国产亚洲AV成人直播| 强奸抽插av| 亚洲图片欧美| 亚洲综合草草| 亚州色阁| 1024手机看片欧美日韩| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 欧美在线视频99| 亭亭丁香激情| 99热久| 99热只有这里有精品| 国产中文大片资源中文字幕| 免费A片三p视频| 国产强奸乱伦欧美| 亚洲九九九| 天天插网| 91欧美大片| 在线播放成人高清免费视频| 一区AV| 伊人黄色片| 国产 热久久久久国产精品| 18禁的网站在线| 国产剧情AV不卡在线观看| 免费黄色A片| 婷婷五月天成人网| 男人的天堂2018东京热啪啪啪| 欧美日韩超碰在线| 啊啊啊啊啊啊啊国| 久久久久久99AV无码免费网站| 亚洲男人久久综合天堂| 91精品女厕偷拍视频| 中文字幕亚韩| 五月婷视频| 国产九九久久久精品| 97干天天| 欧美女同在线| 亚州性色| 牛牛操视频逼| 成人乱码一区二区三少妇| 99视频内射三四| 日本三级日本三级三级人妇四虎| 久久亚洲不卡一区二区三区| 日本精品一区二区三| 日本加勒比无码专区| 99这里只有精品国产| www.亚洲成人一区| 蜜乳av一区二区| 五月激情影院| 亚洲少妇在线影音| 992视频一区| 26uuu性| 婷婷激情四射| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 欧美中字二区| 欧美激情亚洲| 婷婷在线视频在线观看| 超碰在线人妻| 香蕉免费一区二区三区不读| 国产精品一区二区三区免费视频| 色欲久久久久综合网| 欧美综合区| 久久超碰98| 亚洲色宗合| 国产吞精a级片激情电影| 欧美72网页| 少妇高潮九九九九| av日韩在线观看电影| 欧美色日本| 蜜臀久久99精品久久久| 人人色人人操在线| 加勒比伊人综合| 亚洲中文字幕精品一区| 99re久久| www久久精品| 亚洲中文一区二区三区| 最新亚洲风情电影| 黄片www视频免费| 色婷婷网| 自拍第一页| 中国一区二区亚洲人妻| 亚洲日韩熟女人妻高清在线| 午夜成人爽爽爽爽A片李冰冰| 亚洲第一综合| 亚洲天天自拍| 性做久久久久久免费观看软件| 欧美在线中M| 欧美日韩在线国产在线| 久久大线蕉一区| 26UUU欧美激情一区二区|