我需要处理一个文件夹中的一些dll和exe文件,并确定我正在处理的文件类型:.NET,COM,Win32或其他一些外来生命形式.
我一直在尝试确定检测DLL类型的最简单方法,你怎么看待这个:
COM dll =>我做了一个LoadLibrary,然后是" DllRegisterServer "的GetProcAddress .如果我得到有效的回报,那就是一个COM文件.
.NET dll =>如果dll依赖于MSCOREE.DLL,它总是一个.NET dll?
Win32 dll =>如果上述测试都失败了,那就是Win32 dll?
当然必须有更好的方法来检测我们正在处理的dll类型.以上是非常笨重的,并不适用于EXE文件?必须有一些我没想到的其他方式.
理想情况下,我希望能够让解析器确定编译文件的编译器,以及它使用的功能,如MFC,Atl,Stl等......但我怀疑在预反射时代是否可行?