亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在易語言中實現反OD調試反復附加

發布時間:2021-06-03 16:03:47 來源:億速云 閱讀:559 作者:Leah 欄目:編程語言

怎么在易語言中實現反OD調試反復附加?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

DLL命令表

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

自定義數據類型

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

反OD調試反復附加的代碼

.版本 2
.支持庫 eAPI
.支持庫 spec
.程序集 窗口程序集1
.程序集變量 addr, 整數型
.程序集變量 dadt, 字節集
.程序集變量 當前窗口信息, 窗口信息型, , "16"
.子程序 __啟動窗口_創建完畢
反OD調試 ()
反OD附加 ()
.子程序 反OD調試, , , 取運行環境
.局部變量 Path, 文本型
.局部變量 hProcess, 整數型
.局部變量 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”)
  信息框 (“非法運行環境”, #錯誤圖標, )
  addr = 取函數地址 (取模塊句柄 (“ntdll.dll”), “DbgBreakPoint”)
  終止進程 (取句柄2 ())
  結束自身 ()
.如果真結束
.子程序 反OD附加, , , hook
.局部變量 寫入字節集, 字節集
.局部變量 t
.如果真 (addr = 0)
  addr = 取函數地址 (取模塊句柄 (“ntdll.dll”), “DbgBreakPoint”)
  修改虛擬保護 (addr, 8, 64, 0)
.如果真結束
dadt = 指針到字節集 (addr, 8)
t = 取子程序真實地址 (&DbgBreakPoint) - addr - 5
寫入字節集 = { 233 } + 到字節集 (t)
寫到內存 (寫入字節集, addr, 8)
.子程序 DbgBreakPoint, 整數型, , 被hook
.局部變量 寫入字節集, 字節集
.局部變量 t
.局部變量 ret, 整數型
.如果真 (取字節集長度 (dadt) > 0)
  寫到內存 (dadt, addr, )
.如果真結束
終止進程 (取句柄2 ())
結束自身 ()
t = 取子程序真實地址 (&DbgBreakPoint) - addr - 5
寫入字節集 = { 233 } + 到字節集 (t)
寫到內存 (寫入字節集, addr, 8)
返回 (ret)
.子程序 取句柄2, 整數型
.局部變量 窗口列表, 窗口信息型, , "0"
.局部變量 i, 整數型
.計次循環首 (枚舉窗口信息 (窗口列表), i)
  .如果真 (尋找文本 (窗口列表 [i].窗口標題, “[LCG”, , 假) ≠ -1) ' 取OD特征碼,后續自己添加并加密
    返回 (窗口列表 [i].進程ID)
  .如果真結束
.計次循環尾 ()
返回 (-1)
.子程序 枚舉窗口信息, 整數型
.參數 臨時窗口信息, 窗口信息型, 數組, 枚舉出來的窗口信息數組
_枚舉窗口 (&窗口信息回調函數, 0)
臨時窗口信息 = 當前窗口信息
清除數組 (當前窗口信息)
返回 (取數組成員數 (臨時窗口信息))
.子程序 窗口信息回調函數
.參數 hwd, 整數型
.局部變量 窗口標題, 文本型
.局部變量 窗口類名, 文本型
.局部變量 局_進程ID, 整數型
.局部變量 線程ID, 整數型
.局部變量 臨時窗口信息, 窗口信息型
.如果真 (_窗口是否可見 (hwd))
  窗口標題 = 取空白文本 (256)
  窗口類名 = 取空白文本 (256)
  GetWindowText (hwd, 窗口標題, 255)
  GetClassName (hwd, 窗口類名, 255)
  線程ID = _取窗口進程ID (hwd, 局_進程ID)
  臨時窗口信息.進程ID = 局_進程ID
  臨時窗口信息.線程ID = 線程ID
  臨時窗口信息.窗口句柄 = hwd
  臨時窗口信息.窗口類名 = 窗口類名
  臨時窗口信息.窗口標題 = 窗口標題
  加入成員 (當前窗口信息, 臨時窗口信息)
.如果真結束
.子程序 取子程序真實地址, 整數型
.參數 子程序指針, 子程序指針
置入代碼 ({ 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)
.子程序 結束自身, , , 取模塊所在進程,然后殺掉
.局部變量 a, 整數型, , , ebp-4
.局部變量 b, 整數型, , , ebp-8
a = 申請內存 (512, 假) + 100 + 512 + 10000
b = addr + 10000
寫到內存 (-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 })

看完上述內容,你們掌握怎么在易語言中實現反OD調試反復附加的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

长治县| 柳江县| 阳山县| 集贤县| 白朗县| 廊坊市| 浦东新区| 鸡东县| 二连浩特市| 芜湖市| 云梦县| 麻江县| 文成县| 高清| 蚌埠市| 湾仔区| 桦甸市| 望城县| 兴安县| 闽清县| 潮安县| 晋宁县| 临城县| 鄂伦春自治旗| 寿阳县| 夏津县| 高要市| 普安县| 西宁市| 比如县| 罗江县| 长顺县| 平舆县| 泗洪县| 巴彦县| 芜湖县| 中西区| 古交市| 育儿| 灯塔市| 贵定县|