c++ - 使用 ADS(备用数据流)隐藏可执行文件

标签 c++ c filesystems ntfs

我听说 NTFS 备用数据流可用于隐藏正在运行的可执行文件。
例如 支持我在 Windows XP 上有一个名为 hiddenProgram.exe 的 exe,使用 cmd.exesystem(char*) 在 c 中调用,

type hiddenProgram.exe > c:\windows\system32\svchost.exe:hiddenProgram.exe

start c:\windows\system32\svchost.exe:hiddenProgram.exe

启动 svchost 并同时启动 hiddenProgram.exe
但是 hiddenProgam.exe 没有显示在 Windows 任务管理器中!! 不幸的是,svchost显示为svchost:hiddenProgram

Qn 如何确保 hiddenProgram.exe 完全隐藏在任务管理器中。

最佳答案

在 NTFS 中,您可以将一个或多个流与一个文件相关联。总有一个每个人都知道的未命名流,但您也可以拥有被称为备用数据流 (ADS) 的命名流。

starts svchost and at the same time hiddenProgram.exe

不,它只启动流中包含的程序:svchost:hiddenProgram

How can i ensure that hiddenProgram.exe is hidden totally in task manager

你做不到。所有正在运行的进程都显示在任务管理器中。请参阅下面@joveha 的评论。

关于c++ - 使用 ADS(备用数据流)隐藏可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2547630/

相关文章:

c++ - strtol 对两个不同的十六进制字符串给出相同的答案

c++ - 构造顺序复杂——涉及虚继承

c - 如何使用 GNU C 预处理器预定义宏?

c++ - 使用锁定文件作为多个进程之间的锁定的正确方法

c++ - 安卓NDK : Not picking up CPP includes

c++ - 从 Base 引用对象调用派生类的成员

c - 如何让变量名和行号出现在 GDB 中?

c - Python Ctypes OSError : exception: access violation reading 0x00000000

并行在/dev/shm中创建大文件: performance

javascript - 从 WinDBG 的 JavaScript 脚本访问文件系统