这个问题无法回答。 这首先取决于这一过程的隐蔽性。 例如,有人可以通过向各个过程注入一个用户版的DL,来隐藏一个过程,这些过程包括:hoo条码、Process32Next
等,以及与过程清单有关的所有其他的APIC。 这将绕过一条绕行,绕过一条 tram。
然而,如果通过修改载有程序清单的“CkernelEPROCESS
号”链接清单来掩盖这一过程,那么,还需要另一种方法来颠覆那些从事藏匿工作的守则。 如果你确定你认为某一过程是隐蔽的,也许我们可以建议如何发现这一进程。 你认为哪些进程是隐蔽的,但进程探索者仍在发现?
Also taking what you say into consideration that there could be
multiple ways to hide a process. What are some of the common ways to
detect this ?
问题是,如果你不了解你所期待的东西,就几乎不可能找到。 支撑一个过程通过打字将其隐藏在任务主管机构。 你们可能认为,这是一个容易发现的情况。 然而,可以通过多种不同方式打上。 例如,在职能开始时,无条件地 h一只IAT hook,在上造成出入违规,并赶上有活力的H和修改EIP/RIP等。 即使在这种简单的情况下,也不可能保证发现 h。 所有这一切都假设,光线是在特定的抗体反应器上安装的,而且该代码也没有试图躲避探测。
If you are looking for general guidelines, the best method is probably to look at common detouring techniques. Once you know how a method works, it is trivial to write code to detect the manipulation.
也许,如果你给你写信的动机,或者说它会起到什么作用,我们就可以更好地帮助你。
If you are looking for ways that programs detour execution of other processes, it is usually through one of two means:
- Dynamic (Runtime) Detouring - This is the more common method and is what is used by libraries such as Microsoft Detours. Here is a relevant paper where the first few bytes of a function are overwritten to unconditionally branch to the instrumentation.
- (Static) Binary Rewriting - This is a much less common method for rootkits, but is used by research projects. It allows detouring to be performed by statically analysing and overwriting a binary. An old (not publicly available) package for Windows that performs this is Etch. This paper gives a high-level view of how it works conceptually.
尽管Detours展示了一种动态的绕行方法,但该行业所使用的方法不胜枚举,特别是在反向工程和黑客场。 这些办法包括上文提及的“国际金枪鱼养委会”和“散点”方法。 为了给你指明正确方向,你应研究在研究项目和反向工程领域进行的研究。