寻找关于使用.NET和C++;管理型与本地型

寻找关于使用.NET和C++;管理型与本地型,.net,windows,obfuscation,.net,Windows,Obfuscation,我的公司目前正在从VB6程序过渡到.NET。我已经为遗留程序编写了一些模块,作为原生C++ DLL,现在我的老板设想了一个场景,我们基本上将GUI和相关逻辑(什么按钮出现在何时)等移植到VB.NET上,并将基础程序逻辑作为原生C++ DLL开发。 他相当担心.NET代码可能会被复制,因为中间语言可以轻松可靠地进行反编译,就像Java类文件一样。所以请假设有人真的想要他的代码,但是从本机代码中反汇编对他们来说是不可行的 现在,我认为只需在.NET中开发所有的东西就更明智了,比如托管C++。那么GU

我的公司目前正在从VB6程序过渡到.NET。我已经为遗留程序编写了一些模块,作为原生C++ DLL,现在我的老板设想了一个场景,我们基本上将GUI和相关逻辑(什么按钮出现在何时)等移植到VB.NET上,并将基础程序逻辑作为原生C++ DLL开发。 他相当担心.NET代码可能会被复制,因为中间语言可以轻松可靠地进行反编译,就像Java类文件一样。所以请假设有人真的想要他的代码,但是从本机代码中反汇编对他们来说是不可行的

<>现在,我认为只需在.NET中开发所有的东西就更明智了,比如托管C++。那么GUI和程序之间的接口可能就不那么麻烦了,不涉及COM或其他进程间通信,而且我还可以使用整个.NET API,我认为这可能会节省我相当多的编码时间

请告诉我我的假设是否有问题或错误。但是,如果这是正确的,并且如果必须在GUI中使用.NET,您也会建议只在.NET中编程,那么我可以向我的老板提出哪些好的论据


我听说有混淆器。它们可靠吗?反编译有多困难?是否有一个特别好的,或者,对于测试,一个免费的,你已经有了很好的结果?我想确保他的代码库是安全的是这里最大的问题,但我也在寻找关于这整件事的其他方面的见解。

我的理解是,有很好的混淆器,尽管我没有足够的经验来说明它们有多好。我听说了一些好消息。他们确实有一个评估版本

如果您要编写.NET代码,我建议您在.NET中尽一切可能。我编写新的本机代码的唯一原因是,如果我真的需要性能(.NET代码对于繁重的计算会更慢),或者如果本机代码正在做一些在.NET中做不到的事情。也就是说,如果不需要的话,我不建议将现有的本机代码转换为.NET。使用平台调用从.NET调用本机代码非常简单


<>但是我会在托管C++中编写新代码,或者其他托管语言中的一个。它使事情变得更容易。此外,您可以利用.NET运行时库,这可能会节省您的编码时间。您将使用与GUI代码相同的运行时环境,这意味着您可以使用它们使用的相同数据结构。这将简化编码并减少在GUI代码和处理代码之间封送数据时遇到的问题。

有趣的是,现在我在这里看到了反逆向工程广告:)