检测程序集是否是为 .NET Compact Framework 构建的
拥有 .NET 程序集,如何检测它是为 .NET CF 还是完整框架构建的?
Having a .NET assembly, how can I detect whether it was built for .NET CF or a full framework?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这很简单:
It's quite simple:
我宁愿使用 CCI 或 Cecil 来解析其元数据并检查它依赖于哪一组引用。
http://ccimetadata.codeplex.com/
http://www.mono-project.com/Cecil
I rather use CCI or Cecil to parse its metadata and check out which set of references it depends on.
http://ccimetadata.codeplex.com/
http://www.mono-project.com/Cecil
最好的选择是获取名为 winnt.h 的 C 包含文件头,该文件位于标准 VS Professional 中(通常为 C:\Program Files\Microsoft Visual Studio 9.0\VC\include),然后从那里将 .EXE 加载到某种 PE 转储器,或使用六角转储器。
组合在一起,您就可以判断可执行文件是否为 .NET 且适用于 CF。
看看 此处了解更多详细信息。
希望这有帮助,
此致,
汤姆.
The best bet would be to grab the C's include file header called winnt.h, found in your standard VS Professional (usually C:\Program Files\Microsoft Visual Studio 9.0\VC\include) and from there, load the .EXE into a PE Dumper of some sort, or use a Hex Dumper.
Combined together you can then tell if the executable is .NET and for the CF.
Look here for more details.
Hope this helps,
Best regards,
Tom.