process hacker可检测dll/apc/远程线程注入木马:需管理员权限运行,通过父进程id、完整性级别、会话号识别异常进程,检查可疑模块路径与签名,在内存段中筛选page_execute_readwrite页,分析线程起始地址及调用栈确认注入行为,支持终止线程、导出模块镜像并暂停进程。

当你怀疑Win10系统中存在通过DLL注入、APC注入或远程线程创建等方式潜伏的注入型木马时,Process Hacker能直接暴露其寄生痕迹——它不依赖任务管理器的简化视图,而是实时抓取内核级进程快照,显示被隐藏模块、异常线程、可疑内存页及父进程篡改关系。
启动Process Hacker并获取管理员权限
双击ProcessHacker.exe → 若弹出UAC提示,点击【是】;若未弹出,右键快捷方式→选择“以管理员身份运行”。【必须以管理员权限启动,否则无法枚举受保护进程、查看完整模块列表或读取远程线程内存】
启动后主界面默认显示所有进程,左上角状态栏应显示“Running as Administrator”。
定位疑似被注入的宿主进程
点击顶部菜单「View」→「Select Columns…」→ 在弹出窗口中勾选「Parent Process ID」、「Integrity Level」、「Session」、「Start Time」四项 → 点击OK。这一步让关键溯源字段可见。
按「Start Time」列降序排列(最新启动的排最前),重点筛查以下特征进程:
• 进程名看似正常(如explorer.exe、svchost.exe、chrome.exe),但「Parent Process ID」指向非预期父进程(例如chrome.exe父进程是powershell.exe);
• 「Integrity Level」为“Medium”却加载了“High”或“System”级模块;
• 「Session」为0但实际在用户桌面会话中运行。
检查进程模块与内存段异常
双击目标进程打开属性窗口 → 切换到「Modules」标签页。
观察模块列表:正常系统进程的模块路径均位于System32、SysWOW64或程序安装目录;若发现路径含临时文件夹(如AppData\Local\Temp)、随机命名DLL(如xq7z.dll、k23.dll)、无数字签名或签名无效的模块,立即右键→「Verify Signature」确认真伪。
切换到「Memory Regions」标签页 → 点击「Refresh」→ 按「State」列筛选出“MEM_COMMIT”,再按「Protect」列筛选出“PAGE_EXECUTE_READWRITE”或“PAGE_EXECUTE_WRITECOPY”。【此类可执行+可写内存页极大概率承载注入Shellcode,原生进程绝少主动申请】
分析线程行为与调用栈
回到进程属性窗口 → 切换到「Threads」标签页 → 点击「Refresh」→ 查看「Start Address」列。
方法一:识别非模块地址线程
若某线程起始地址不在任何已加载模块范围内(即不指向kernel32.dll、ntdll.dll等合法模块基址+偏移),而是落在“MEM_PRIVATE”或“MEM_MAPPED”内存段中,该线程高度可疑。
方法二:提取线程调用栈
右键可疑线程→「Stack」→ 等待符号加载完成(需联网下载PDB)→ 观察栈顶函数:若出现RtlUserThreadStart → NtTestAlert → ZwWaitForSingleObject,属正常;若出现VirtualAllocEx → WriteProcessMemory → CreateRemoteThread调用链,或栈中含“ReflectiveLoader”、“Shellcode”、“mimikatz”等关键词,确认为注入行为。
终止恶意线程并导出内存镜像
在「Threads」标签页中,右键确认为恶意的线程→「Terminate Thread」。注意:仅终止线程,不结束整个进程,避免触发木马自毁逻辑。
返回「Modules」标签页→ 右键可疑DLL→「Dump Module…」→ 保存为dump.bin。该文件可用于后续用Ghidra或x64dbg逆向分析注入逻辑。
最后,右键该进程→「Suspend Process」→ 暂停其全部线程,防止继续通信或加密文件。











