DLL命令代碼
.版本 2.DLL命令 NtQuerySystemInformation, 整數(shù)型, "NTDLL.DLL", "NtQuerySystemInformation" .參數(shù) SystemInformationClass, 整數(shù)型 .參數(shù) pSystemInformation, 整數(shù)型 .參數(shù) SystemInformationLength, 整數(shù)型 .參數(shù) ReturnLength, 整數(shù)型, 傳址.DLL命令 CopyMemory, , "kernel32", "RtlMoveMemory" .參數(shù) pDst, MODULES, 傳址 .參數(shù) pSrc, 整數(shù)型 .參數(shù) ByteLen, 整數(shù)型.DLL命令 GlobalSize, 整數(shù)型, "kernel32", "GlobalSize", , 返回全局內(nèi)存塊大小 .參數(shù) hMem, MODULES
自定義數(shù)據(jù)類(lèi)型表
.版本 2.數(shù)據(jù)類(lèi)型 內(nèi)核驅(qū)動(dòng)成員 .成員 驅(qū)動(dòng)文件名, 文本型.數(shù)據(jù)類(lèi)型 MODULES .成員 dwNumberOfModules, 整數(shù)型 .成員 ModuleInformation, INFORMATION.數(shù)據(jù)類(lèi)型 INFORMATION .成員 dwReserved, 整數(shù)型, , "2" .成員 dwBase, 整數(shù)型 .成員 dwSize, 整數(shù)型 .成員 dwFlags, 整數(shù)型 .成員 Index, 短整數(shù)型 .成員 Unknown, 短整數(shù)型 .成員 LoadCount, 短整數(shù)型 .成員 ModuleNameOffset, 短整數(shù)型 .成員 ImageName, 字節(jié)型, , "256"
判斷驅(qū)動(dòng)是否存在的代碼
.版本 2.支持庫(kù) spec.程序集 窗口程序集1.子程序 _判斷按鈕_被單擊.判斷開(kāi)始 (驅(qū)動(dòng)是否存在 (“PCHunter64ao.sys”) = 真 或 驅(qū)動(dòng)是否存在 (“PCHunter32ao.sys”) = 真) 信息框 (“存在”, 64, , ).默認(rèn) 信息框 (“不存在”, 16, , ).判斷結(jié)束.子程序 驅(qū)動(dòng)是否存在, 邏輯型, 公開(kāi), 取系統(tǒng)已加載的驅(qū)動(dòng),成功取到返回真,失敗返回假.參數(shù) 驅(qū)動(dòng)名, 文本型.局部變量 驅(qū)動(dòng)成員, 內(nèi)核驅(qū)動(dòng)成員, , "0".局部變量 循環(huán)計(jì)次, 整數(shù)型枚舉系統(tǒng)驅(qū)動(dòng) (驅(qū)動(dòng)成員).計(jì)次循環(huán)首 (取數(shù)組成員數(shù) (驅(qū)動(dòng)成員), 循環(huán)計(jì)次) .如果真 (驅(qū)動(dòng)成員 [循環(huán)計(jì)次].驅(qū)動(dòng)文件名 = 驅(qū)動(dòng)名) 返回 (真) 跳出循環(huán) () .如果真結(jié)束.計(jì)次循環(huán)尾 ()返回 (假).子程序 枚舉系統(tǒng)驅(qū)動(dòng), 整數(shù)型, , 枚舉驅(qū)動(dòng),成功返回驅(qū)動(dòng)數(shù)量,失敗返回0.參數(shù) 驅(qū)動(dòng)文件名, 內(nèi)核驅(qū)動(dòng)成員, 數(shù)組.局部變量 Ret, 整數(shù)型.局部變量 ModulesInfo, MODULES.局部變量 i, 整數(shù)型.局部變量 x, 整數(shù)型.局部變量 驅(qū)動(dòng)名稱(chēng), 文本型, , "0".局部變量 位置, 整數(shù)型.局部變量 判斷函數(shù), 整數(shù)型.局部變量 裝載類(lèi)型, 內(nèi)核驅(qū)動(dòng)成員.局部變量 內(nèi)存申請(qǐng), 整數(shù)型清除數(shù)組 (驅(qū)動(dòng)名稱(chēng))NtQuerySystemInformation (11, 0, 0, Ret)內(nèi)存申請(qǐng) = 申請(qǐng)內(nèi)存 (Ret × 2, 真)NtQuerySystemInformation (11, 內(nèi)存申請(qǐng), Ret × 2, Ret)CopyMemory (ModulesInfo, 內(nèi)存申請(qǐng), GlobalSize (ModulesInfo))加入成員 (驅(qū)動(dòng)名稱(chēng), 到文本 (ModulesInfo.ModuleInformation.ImageName))i = ModulesInfo.dwNumberOfModules判斷函數(shù) = i.判斷循環(huán)首 (i > 1) i = i - 1 內(nèi)存申請(qǐng) = 內(nèi)存申請(qǐng) + 71 × 4 CopyMemory (ModulesInfo, 內(nèi)存申請(qǐng), GlobalSize (ModulesInfo)) 加入成員 (驅(qū)動(dòng)名稱(chēng), 到文本 (ModulesInfo.ModuleInformation.ImageName)).判斷循環(huán)尾 ().計(jì)次循環(huán)首 (取數(shù)組成員數(shù) (驅(qū)動(dòng)名稱(chēng)), x) 位置 = 倒找文本 (驅(qū)動(dòng)名稱(chēng) [x], “/”, , 假) 裝載類(lèi)型.驅(qū)動(dòng)文件名 = 取文本右邊 (驅(qū)動(dòng)名稱(chēng) [x], 取文本長(zhǎng)度 (驅(qū)動(dòng)名稱(chēng) [x]) - 位置) 加入成員 (驅(qū)動(dòng)文件名, 裝載類(lèi)型).計(jì)次循環(huán)尾 ().如果 (判斷函數(shù) > 1) 返回 (取數(shù)組成員數(shù) (驅(qū)動(dòng)名稱(chēng))).否則 返回 (0).如果結(jié)束釋放內(nèi)存 (內(nèi)存申請(qǐng))
運(yùn)行結(jié)果:
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)VeVb武林網(wǎng)的支持。
新聞熱點(diǎn)
疑難解答
圖片精選