我正在挖掘.NET源代码,并在COM对象中找到了一个interop类。如果我有guid,我该如何找到有问题的DLL和类(就此而言,.NET如何根据guid加载DLL)?
是否在某个地方的GAC?
答案 0 :(得分:1)
COM dll不会放入GAC(仅适用于.NET程序集 - 因此名称为全局程序集缓存)。
如果你知道COM组件的guid并想知道实际二进制文件的路径,你可以在注册表中找到它。
开始regedit.exe
,导航至
HKEY_CLASSES_ROOT\CLSID\<guid value>\InprocServer32
并检查密钥的默认值。或者,对于命令行爱好者,请使用reg.exe
工具:
reg query HKEY_CLASSES_ROOT\CLSID\{0000002F-0000-0000-C000-000000000046}
HKEY_CLASSES_ROOT\CLSID\{0000002F-0000-0000-C000-000000000046}\InprocServer32 (Default) REG_SZ C:\Windows\System32\oleaut32.dll ThreadingModel REG_SZ Both