我知道所有程序集都可以以某种方式反编译,但 C# 和 VB 应用程序最容易使用 ( .Net Reflector ) 等工具反编译为源代码。
所以我的问题是,如果我使用 C++ 的 .Net 程序集和函数来编写应用程序,是否可以轻松反编译它,就好像它是带有 .Net 反射器和此类工具的 C# 或 VB 应用程序一样?
好吧,如果我在不使用 .Net 框架中的任何功能的情况下对其进行编程,并仅使用调用 .Net 程序集的 UI 进行编程,那么也很容易解密吗?
我的问题与此类似:这个 C++ 项目可以用 .NET Reflector 这样的工具反编译吗? https://stackoverflow.com/questions/14238953/could-this-c-project-be-decompiled-with-such-tools-like-a-net-reflector但没有人正确回答他,所以有人可以帮助我吗?
我想使用 .Net 和 C++ 将我的应用程序编译为本机代码和托管代码!
没有“C++.Net”。 C++/CLI 是一种类似 C++ 的语言,可用于将本机 C++ 代码与 .NET 世界粘合在一起。您在其中编写的托管代码(引用类)将被编译为 MSIL。 “本机”代码将编译为 MSIL 或本机。如果你想将某些部分编译为本机代码,你需要
#pragma managed(push, off)
void foo() {}
#pragma managed(pop)
在你的来源中。这托管编译指示 http://msdn.microsoft.com/en-us/library/0adb9zxe(v=vs.80).aspx可用于选择每个函数的编译目标。或者你可以不使用编译/clr
标记每个模块并设置您的项目以生成混合模式程序集。
请注意,将本机类型封送到 .NET 并返回可能会对应用程序的性能造成严重影响 - 每次跨越本机管理边界时都会发生这种情况。但这种嵌入式本机代码和托管代码之间的互操作比普通的 p/invoke 快得多。
另请参阅这个问题:C++CLI。本机部分是用纯 C++ 编写的,但在 CLI 中编译的速度与纯本机 C++ 一样快吗? https://stackoverflow.com/questions/5693477/ccli-does-the-native-parts-written-in-pure-c-but-compiled-in-cli-are-as-fas
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)