Mik*_*wan 10
这个问题无法回答.这取决于该过程首先被隐藏的方式.例如,某人可以通过注入一个用户模式DLL到钩所有进程隐藏的方法EnumProcesses,Process32Next等,所有处理枚举相关其他API.这将被跳过钩子的蹦床绕过.
但是,如果通过修改EPROCESS保存进程列表的内核链表来隐藏进程,则需要另一种方法来破坏执行隐藏的代码.如果您定义了一个过程被"隐藏"的方式,我们可以建议如何检测它.您认为哪些进程被隐藏但仍被Process Explorer发现?
同时考虑到你所说的可能存在多种隐藏进程的方法.有哪些常见方法可以检测到这种情况?
问题是,如果你不知道你在寻找什么,几乎不可能找到它.假设一个进程通过挂钩使自己隐藏在任务管理器中EnumProcesses.您可能认为这将是一个容易检测的案例.但是,这个过程可能会EnumProcesses以各种不同的方式挂钩.例如,函数开头的无条件钩子,IAT钩子,导致访问冲突发生在EnumProcessesVEH并修改EIP/RIP等等.即使在这个简单的情况下,它也不是可以保证检测钩子.这都是假设钩子已经在特定API的usermode上执行,并且代码也没有试图隐藏自己的检测.
如果您正在寻找一般指导方针,最好的方法可能是查看常见的绕行技术.一旦你知道一个方法如何工作,编写代码来检测操作是微不足道的.
也许如果你给出了编写这种代码的动机或它将服务的目的,我们就能够更好地帮助你.
如果您正在寻找程序绕道其他进程的执行方式,通常通过以下两种方法之一:
虽然Detours演示了一种动态绕行的方法,但业内使用了无数的方法,特别是在逆向工程和黑客攻击领域.这些包括我上面提到的IAT和断点方法.为了"指出你正确的方向",你应该看看在研究项目和逆向工程领域进行的"研究".
| 归档时间: |
|
| 查看次数: |
2721 次 |
| 最近记录: |