国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > 易語言 > 正文

易語言實現(xiàn)反OD調(diào)試反復(fù)附加的代碼

2024-07-21 23:02:33
字體:
供稿:網(wǎng)友

DLL命令表

.版本 2.DLL命令 ZwQueryInformationProcess, 整數(shù)型, "NTDLL.DLL"  .參數(shù) ProcessHandle, 整數(shù)型  .參數(shù) ProcessInformationClass, 整數(shù)型  .參數(shù) ProcessInformation, PROCESS_BASIC_INFORMATION  .參數(shù) ProcessInformationLength, 整數(shù)型  .參數(shù) ReturnLength, 整數(shù)型, 傳址.DLL命令 OpenProcess, 整數(shù)型, "kernel32.dll", "OpenProcess"  .參數(shù) dwDesiredAccess, 整數(shù)型  .參數(shù) bInheritHandle, 整數(shù)型  .參數(shù) dwProcessId, 整數(shù)型.DLL命令 CloseHandle, 整數(shù)型, , "CloseHandle"  .參數(shù) hwnd, 整數(shù)型.DLL命令 GetProcessImageFileNameA, , "Psapi.dll", "GetProcessImageFileNameA"  .參數(shù) ProcessHandle, 整數(shù)型  .參數(shù) lpFilename, 文本型  .參數(shù) nSize, 整數(shù)型.DLL命令 修改虛擬保護, 整數(shù)型, "kernel32", "VirtualProtect", , 修改虛擬保護  .參數(shù) lpAddress, 整數(shù)型  .參數(shù) dwSize, 整數(shù)型  .參數(shù) flNewProtect, 整數(shù)型  .參數(shù) lpflOldProtect, 整數(shù)型, 傳址.DLL命令 取函數(shù)地址, 整數(shù)型, "kernel32", "GetProcAddress", , 返回函數(shù)地址  .參數(shù) 模塊句柄, 整數(shù)型  .參數(shù) 函數(shù)名, 文本型.DLL命令 取模塊句柄, 整數(shù)型, "kernel32", "GetModuleHandleA", , 獲取一個應(yīng)用程序或動態(tài)鏈接庫的模塊句柄 如執(zhí)行成功成功,則返回模塊句柄。零表示失敗。會設(shè)置GetLastError  .參數(shù) 模塊名, 文本型, , 指定模塊名,這通常是與模塊的文件名相同的一個名字。例如,NOTEPAD.EXE程序的模塊文件名就叫作NOTEPAD;.DLL命令 _枚舉窗口, 邏輯型, , "EnumWindows"  .參數(shù) 枚舉過程, 子程序指針  .參數(shù) 參數(shù), 整數(shù)型.DLL命令 _窗口是否可見, 邏輯型, , "IsWindowVisible", , 判斷窗口是否可見 如窗口可見則返回TRUE(非零)  .參數(shù) 窗口句柄, 整數(shù)型, , 要測試的那個窗口的句柄.DLL命令 GetWindowText, 整數(shù)型, , "GetWindowTextA"  .參數(shù) 句柄, 整數(shù)型, , 欲獲取文字的那個窗口的句柄  .參數(shù) 文本, 文本型, , 預(yù)定義的一個緩沖區(qū),至少有cch+1個字符大小;隨同窗口文字載入  .參數(shù) 文本長度, 整數(shù)型, , lp緩沖區(qū)的長度; .DLL命令 GetClassName, 整數(shù)型, , "GetClassNameA"  .參數(shù) 句柄, 整數(shù)型, , 欲獲得類名的那個窗口的句柄  .參數(shù) 文本, 文本型, , 隨同類名載入的緩沖區(qū)。預(yù)先至少必須分配nMaxCount+1個字符  .參數(shù) 文本長度, 整數(shù)型, , 由lpClassName提供的緩沖區(qū)長度;.DLL命令 _取窗口進程ID, 整數(shù)型, , "GetWindowThreadProcessId", , user32.dll獲取與指定窗口關(guān)聯(lián)在一起的一個線程和進程標(biāo)識符  .參數(shù) 窗口句柄, 整數(shù)型, , hwnd,指定窗口句柄  .參數(shù) 進程標(biāo)識符, 整數(shù)型, 傳址, lpdwProcessId,指定一個變量,用于裝載擁有那個窗口的一個進程的標(biāo)識符

自定義數(shù)據(jù)類型

.版本 2.數(shù)據(jù)類型 PROCESS_BASIC_INFORMATION  .成員 ExitStatus, 整數(shù)型  .成員 PebBaseAddress, 整數(shù)型  .成員 AffinityMask, 整數(shù)型  .成員 BasePriority, 整數(shù)型  .成員 UniqueProcessId, 整數(shù)型  .成員 InheritedFromUniqueProcessId, 整數(shù)型.數(shù)據(jù)類型 窗口信息型, , 枚舉窗口信息  .成員 窗口句柄, 整數(shù)型, 傳址  .成員 進程ID, 整數(shù)型, 傳址  .成員 線程ID, 整數(shù)型, 傳址  .成員 窗口類名, 文本型  .成員 窗口標(biāo)題, 文本型

反OD調(diào)試反復(fù)附加的代碼

.版本 2.支持庫 eAPI.支持庫 spec.程序集 窗口程序集1.程序集變量 addr, 整數(shù)型.程序集變量 dadt, 字節(jié)集.程序集變量 當(dāng)前窗口信息, 窗口信息型, , "16".子程序 __啟動窗口_創(chuàng)建完畢反OD調(diào)試 ()反OD附加 ().子程序 反OD調(diào)試, , , 取運行環(huán)境.局部變量 Path, 文本型.局部變量 hProcess, 整數(shù)型.局部變量 Info, PROCESS_BASIC_INFORMATION.局部變量 文件名, 文本型ZwQueryInformationProcess (-1, 0, Info, 24, 0)hProcess = OpenProcess (1040, 0, Info.InheritedFromUniqueProcessId)Path = 取空白文本 (4096)GetProcessImageFileNameA (hProcess, Path, 4096)CloseHandle (hProcess)文件名 = 取文本右邊 (Path, 取文本長度 (Path) - 倒找文本 (Path, “/”, , 假))反OD附加 ().如果真 (文件名 ≠ “explorer.exe”)  信息框 (“非法運行環(huán)境”, #錯誤圖標(biāo), )  addr = 取函數(shù)地址 (取模塊句柄 (“ntdll.dll”), “DbgBreakPoint”)  終止進程 (取句柄2 ())  結(jié)束自身 ().如果真結(jié)束.子程序 反OD附加, , , hook.局部變量 寫入字節(jié)集, 字節(jié)集.局部變量 t.如果真 (addr = 0)  addr = 取函數(shù)地址 (取模塊句柄 (“ntdll.dll”), “DbgBreakPoint”)  修改虛擬保護 (addr, 8, 64, 0).如果真結(jié)束dadt = 指針到字節(jié)集 (addr, 8)t = 取子程序真實地址 (&DbgBreakPoint) - addr - 5寫入字節(jié)集 = { 233 } + 到字節(jié)集 (t)寫到內(nèi)存 (寫入字節(jié)集, addr, 8).子程序 DbgBreakPoint, 整數(shù)型, , 被hook.局部變量 寫入字節(jié)集, 字節(jié)集.局部變量 t.局部變量 ret, 整數(shù)型.如果真 (取字節(jié)集長度 (dadt) > 0)  寫到內(nèi)存 (dadt, addr, ).如果真結(jié)束終止進程 (取句柄2 ())結(jié)束自身 ()t = 取子程序真實地址 (&DbgBreakPoint) - addr - 5寫入字節(jié)集 = { 233 } + 到字節(jié)集 (t)寫到內(nèi)存 (寫入字節(jié)集, addr, 8)返回 (ret).子程序 取句柄2, 整數(shù)型.局部變量 窗口列表, 窗口信息型, , "0".局部變量 i, 整數(shù)型.計次循環(huán)首 (枚舉窗口信息 (窗口列表), i)  .如果真 (尋找文本 (窗口列表 [i].窗口標(biāo)題, “[LCG”, , 假) ≠ -1) ' 取OD特征碼,后續(xù)自己添加并加密    返回 (窗口列表 [i].進程ID)  .如果真結(jié)束.計次循環(huán)尾 ()返回 (-1).子程序 枚舉窗口信息, 整數(shù)型.參數(shù) 臨時窗口信息, 窗口信息型, 數(shù)組, 枚舉出來的窗口信息數(shù)組_枚舉窗口 (&窗口信息回調(diào)函數(shù), 0)臨時窗口信息 = 當(dāng)前窗口信息清除數(shù)組 (當(dāng)前窗口信息)返回 (取數(shù)組成員數(shù) (臨時窗口信息)).子程序 窗口信息回調(diào)函數(shù).參數(shù) hwd, 整數(shù)型.局部變量 窗口標(biāo)題, 文本型.局部變量 窗口類名, 文本型.局部變量 局_進程ID, 整數(shù)型.局部變量 線程ID, 整數(shù)型.局部變量 臨時窗口信息, 窗口信息型.如果真 (_窗口是否可見 (hwd))  窗口標(biāo)題 = 取空白文本 (256)  窗口類名 = 取空白文本 (256)  GetWindowText (hwd, 窗口標(biāo)題, 255)  GetClassName (hwd, 窗口類名, 255)  線程ID = _取窗口進程ID (hwd, 局_進程ID)  臨時窗口信息.進程ID = 局_進程ID  臨時窗口信息.線程ID = 線程ID  臨時窗口信息.窗口句柄 = hwd  臨時窗口信息.窗口類名 = 窗口類名  臨時窗口信息.窗口標(biāo)題 = 窗口標(biāo)題  加入成員 (當(dāng)前窗口信息, 臨時窗口信息).如果真結(jié)束.子程序 取子程序真實地址, 整數(shù)型.參數(shù) 子程序指針, 子程序指針置入代碼 ({ 83, 81, 139, 69, 8, 64, 139, 8, 128, 249, 232, 117, 248, 139, 72, 1, 141, 92, 8, 5, 139, 11, 193, 225, 8, 129, 249, 0, 85, 139, 236, 141, 64, 4, 117, 225, 139, 195, 89, 91, 201, 194, 4, 0 })返回 (0).子程序 結(jié)束自身, , , 取模塊所在進程,然后殺掉.局部變量 a, 整數(shù)型, , , ebp-4.局部變量 b, 整數(shù)型, , , ebp-8a = 申請內(nèi)存 (512, 假) + 100 + 512 + 10000b = addr + 10000寫到內(nèi)存 (-277, a, )置入代碼 ({ 139, 69, 248, 45, 16, 39, 0, 0, 139, 125, 252, 51, 201, 51, 237, 51, 246, 51, 210, 51, 219, 129, 239, 16, 39, 0, 0, 139, 231, 131, 196, 100, 106, 0, 106, 255, 129, 239, 0, 2, 0, 0, 87, 51, 255, 106, 0, 137, 4, 36, 195 })

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對VeVb武林網(wǎng)的支持。


注:相關(guān)教程知識閱讀請移步到易語言教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 岫岩| 会宁县| 嘉兴市| 万荣县| 独山县| 永善县| 新郑市| 嘉义市| 板桥市| 长宁区| 嘉祥县| 什邡市| 舟曲县| 临泽县| 宁南县| 怀集县| 吉林市| 竹北市| 宣化县| 钟祥市| 香河县| 会理县| 迭部县| 吉林省| 九台市| 太仆寺旗| 邻水| 巴楚县| 万源市| 驻马店市| 九寨沟县| 宁南县| 敖汉旗| 平原县| 克什克腾旗| 寻甸| 宁津县| 马龙县| 个旧市| 都安| 平顺县|