0x01 ZwSetInformationThread () 介绍
ZwSetInformationThread 等同于 NtSetInformationThread,通过为线程设置 ThreadHideFromDebugger,可以禁止线程产生调试事件。函数原型如下:
VOID DisableDebugEvent(VOID)
{
HINSTANCE hModule;
ZW_SET_INFORMATION_THREAD ZwSetInformationThread;
hModule = GetModuleHandleA("Ntdll");
ZwSetInformationThread = (ZW_SET_INFORMATION_THREAD)GetProcAddress(hModule, "ZwSetInformationThread");
ZwSetInformationThread(GetCurrentThread(), ThreadHideFromDebugger, 0, 0);
}
破解方法:注意到该处 ZwSetInformationThread 函数的第 2 个参数为 ThreadHideFromDebugger,其值为 0x11。调试执行到该函数时,若发现第 2 个参数值为 0x11,跳过或者将 0x11 修改为其他值即可
本文介绍了ZwSetInformationThread函数在Windows系统中用于隐藏线程调试的方法,通过设置ThreadHideFromDebugger标志来阻止调试事件的产生。破解方法是检查并修改函数调用参数,防止线程被隐藏。此技术涉及到逆向工程和系统调试领域的知识。
&spm=1001.2101.3001.5002&articleId=116146392&d=1&t=3&u=ec4c2532dffa4a3497094a6bcbd26ea7)
346

被折叠的 条评论
为什么被折叠?



