Hook_CreatProcess阻止创建新的进程和主线程

易语言 2020-07-10 09:28:10

Hook_CreatProcess阻止创建新的进程和主线程

.如果真 (pFunAddress ≠ 0)
返回 (真)
.如果真结束
hLibModule = LoadLibraryA (Dll)
.如果真 (hLibModule = 0)
返回 (假)
.如果真结束
pFunAddress = GetProcAddress (hLibModule, Func) ' 获取API函数地址
.如果真 (pFunAddress = 0)
FreeLibrary (hLibModule)
返回 (假)
.如果真结束
.如果真 (VirtualProtect (pFunAddress, 5, 64, dwOldProtect) = 假)
FreeLibrary (hLibModule)
返回 (假)
.如果真结束
pData = 指针到字节集 (pFunAddress, 5) ' 保存API入口前5个字节
写到内存 ({ 233 } + 到字节集 (到整数 (NewAddr - (pFunAddress + 5))), pFunAddress, 5) ' 修改API入口前5字节
pData = pData + { 233, 0, 0, 0, 0 }
addrData = 取字节集变量数据地址 (pData, pData, 0)
写到内存 (到整数 (pFunAddress + 5 - (addrData + 10)), addrData + 6, 4)
FreeLibrary (hLibModule)