WinRT应用程序可以使用混淆吗?

Rom*_*iko 6 obfuscation windows-8 windows-runtime

在通过Windows 8 AppStore分发之前,必须检查所有Metro应用程序.这是否意味着不允许使用代码混淆?或者它仍然可能,并且在这种检查期间只会监控某些特定方面?

Duc*_*tro 5

这是一个扶手椅的答案,有些事情会浮现在脑海中:

  1. 如果它依赖于动态链接到运行时或API,即使是C++应用程序仍然可以被解析,WinRT应用程序就是这种情况.从理论上讲,Microsoft批准可以使用特殊的沙箱和/或OS钩子对您的应用程序进行自动或人工引导测试,该钩子能够检测您的应用程序是否尝试某些禁止的操作.

  2. 在幕后,WinRT的C++应用程序更像是原生C++应用程序,而不是C++/CLI,因此在C#的程度上不需要混淆,所有条件都相同.

  3. 您仍然可以构建以WinRT为目标的C#应用​​程序,但您的代码仍将被编译为CIL并在CLR中运行(或多或少),通过Microsoft提供的包装调用WinRT.因为它是CIL,所以混淆的问题应该等同于C#/.NET混淆的问题.


Luk*_*don 5

以下是一些事实:

  • WP7的市场允许C#应用程序被混淆(甚至MS建议这样做)并且我没有看到任何理由为什么Windows AppStore会禁止此类应用程序.
  • 几乎可以肯定某些供应商会提供兼容的C++混淆器.
  • 你应该关心你的客户而不是破解者.:)
  • 很多代码混淆的黑客将被禁止.

请记住,如果您有一些想要隐藏的逻辑,请创建一个Web服务并在您的客户端应用程序中使用它.最好花时间构建更好的应用程序,修复错误等.

没有骰子,如果有人可以访问二进制文件只是时间问题,当有人破解它.