我试图在依赖 walker 中分析几个 .NET 可执行文件,并且总是得到这样的结果:
GetProcAddress(0x7C800000 [KERNEL32.DLL], "FlsAlloc") 从地址 0x79006079 的“MSCOREE.DLL”调用并返回 0xFFBADD11。
我尝试制作一个新的 Windows 窗体项目 VS2005,除了构建它什么也没做。Dependency walker 仍然给出同样的错误。这是否意味着不再可能分析 .Net 应用程序,还是我遗漏了什么?
我试图在依赖 walker 中分析几个 .NET 可执行文件,并且总是得到这样的结果:
GetProcAddress(0x7C800000 [KERNEL32.DLL], "FlsAlloc") 从地址 0x79006079 的“MSCOREE.DLL”调用并返回 0xFFBADD11。
我尝试制作一个新的 Windows 窗体项目 VS2005,除了构建它什么也没做。Dependency walker 仍然给出同样的错误。这是否意味着不再可能分析 .Net 应用程序,还是我遗漏了什么?
Dependency walker 只能分析非托管程序。
有同样的问题,但常见问题解答是这样说的:
Dependency Walker 是否可以与 COM、Visual Basic 或 .NET 模块一起使用?
是的。Dependency Walker 可以与任何 32 位或 64 位 Windows 模块一起使用,无论使用什么语言来开发它。然而,许多语言都有自己的方式来指定模块之间的依赖关系。例如,COM 模块可能在注册表中嵌入了类型库和注册信息,而 .NET 模块可能使用 .NET 程序集。这些技术都是作为核心 Windows API 之上的层实现的。最后,这些层仍然需要调用诸如 LoadLibrary 和 GetProcAddress 之类的核心 Windows 函数来完成实际工作。Dependency Walker 正是在这个核心级别上了解正在发生的事情。因此,虽然 Dependency Walker 可能无法理解应用程序的所有语言特定复杂性,但它仍然能够在核心 Windows API 级别跟踪所有模块活动。