C# Unity3D加密托管dll与非托管dll

C# Unity3D加密托管dll与非托管dll,c#,c++,unity3d,encryption,dll,C#,C++,Unity3d,Encryption,Dll,我正在Unity中构建一个API/插件,希望加密我的代码 据我所知,托管dll(C#)可以反编译成可读代码,而非托管dll(C++)很难反编译成可读代码 但在非托管dll中,我们不能使用统一类,如单行为或网格 我的理解正确吗?这就是为什么应该使用封送处理。 unity提供了一个非常好的跨平台解决方案。 从只持有客户端(没有意义的算法)的C代码中调用C++ DLL 你可以从C语言环境中调用你的C++ DLL: [DllImport(dllName)] 你打算通过加密你的代码来实现什么?如果您的代码

我正在Unity中构建一个API/插件,希望加密我的代码

据我所知,托管dll(C#)可以反编译成可读代码,而非托管dll(C++)很难反编译成可读代码

但在非托管dll中,我们不能使用统一类,如单行为网格


我的理解正确吗?

这就是为什么应该使用封送处理。 unity提供了一个非常好的跨平台解决方案。 从只持有客户端(没有意义的算法)

的C代码中调用C++ DLL

你可以从C语言环境中调用你的C++ DLL:

[DllImport(dllName)]


你打算通过加密你的代码来实现什么?如果您的代码已加密,则无法编译。如果你想加密你的dll,那么它就不能被使用。你可能的意思是模糊,这确实使事情变得更难,但不是不可察觉的。如果你想保护你的代码/插件,请使用许可证。嗨,Luke,我不希望其他人看到和理解我的代码,如果你加密为非托管dll(c++),你仍然可以使用,而人们看不到我相信的原始代码。你为什么不希望其他人看到它?如果dll是加密的,则它只能由具有解密密钥的软件使用。我认为你把加密和模糊混淆了,正如我前面所说的。例如,在Vuforia的API中,人们看不到“Plugins/x86/VuforiaWrapper.dll”中的代码,我不希望人们以与Vuforia相同的理由看到它,因为代码中的算法很重要。
 private static extern void Foo (string s1, string s2, bool ret);