我想弄清楚如何检测注入 dll 的进程。我找到了这个线程,但我想不出一个简单的方法来解决它。
我想澄清我的意图:给定一个 pid - 如果该进程是否注入了 dll,我想返回一个答案。
我想转储一个进程的所有依赖项,然后将其与正在运行的进程进行比较 - 问题是依赖项加载了自己的 dll...
我听说 Antivirus 会比较校验和或类似的东西 - 但不明白到底是怎么回事。
我想弄清楚如何检测注入 dll 的进程。我找到了这个线程,但我想不出一个简单的方法来解决它。
我想澄清我的意图:给定一个 pid - 如果该进程是否注入了 dll,我想返回一个答案。
我想转储一个进程的所有依赖项,然后将其与正在运行的进程进行比较 - 问题是依赖项加载了自己的 dll...
我听说 Antivirus 会比较校验和或类似的东西 - 但不明白到底是怎么回事。
您可以递归地跟踪依赖项以找出哪些 DLL 是由 Windows 加载程序直接加载的。您可以创建一个imported modules list. 填写imported module list您在主 PE 的导入表中找到的每个模块。然后递归解析您以这种方式找到的所有 DLL 的导入表。您将拥有一个包含所有已导入 DLL 的列表。然后,只需将其与加载的模块列表进行比较。
您发现的差异可能是注入的 DLL 或动态加载的 DLL。
动态识别加载的DLL可能会有点更具挑战性,但识别那些一种方法是拆卸可执行文件和搜索呼叫LoadLibrary,LoadLibraryEx等等。