python dll注入 网络_python – 检测反射型DLL注入
如何掛接VirtualProtect API。因為加載本身的DLL肯定會在其內存代碼范圍內執(zhí)行。這是因為(如您所提到的),他們使用用戶訪問權限,因此他們必須使用進程用戶空間API。
NTSYSAPI NTSTATUS NTAPI ZwProtectVirtualMemory(
IN HANDLE ProcessHandle,
IN PVOID * BaseAddress,
IN SIZE_T * NumberOfBytesToProtect,
IN ULONG NewAccessProtection,
OUT PULONG OldAccessProtection
);
如果您在程序開始時掛鉤,則可以過濾出可疑保護呼叫(啟用代碼執(zhí)行的呼叫)。然后,我將掃描PE頭或者在所請求的頁面前面知道它的一個可加載的模塊…注意:我認為這不是為常規(guī)DLL調用的,因為LoadLibrary處理這個內核空間。對? TODO:驗證
通常,PE頭位于第一個可執(zhí)行代碼前面的0x1000(4096)字節(jié)或一頁。所以一個非常基本的方法可以掃描“MZ”標簽:
char* pe = ((char*)BaseAddress) - 0x1000;
if ((NewAccessProtection == PAGE_EXECUTE || ... ) & pe[0] == 'M' && pe[0] == 'Z')
{
// do checks here
}
如果您需要有關API鉤的更多信息,請在網上查詢或閱讀大量文章。另一個掛鉤的候選人是:FlushInstructionCache(…)。但是我認為只有暴雪正在使用這個防守防騙模塊,因為x86架構上沒有理由稱之為這個。
… 只是一個想法,
將
總結
以上是生活随笔為你收集整理的python dll注入 网络_python – 检测反射型DLL注入的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 美的电饼铛怎么拆卸?
- 下一篇: python 判断是否有余数_判断多个坐