.net – MonoTouch:如何保护我的应用程序

前端之家收集整理的这篇文章主要介绍了.net – MonoTouch:如何保护我的应用程序前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用Dotfuscator来防止我的应用程序逆向工程我加密了 Windows应用程序中的dll文件,但是如何在OSX / MonoTouch中执行它?

从ipa中提取dll,然后在windows中混淆dll,并将加密的dll重新打包成IPA,然后将其发布到appstore?

有什么简单的解决方案吗?

解决方法

首先,您需要记住,iOS不允许JIT(及时)编译.这意味着一切都需要通过AOT(提前)编译器.

这将导致程序集中的所有IL代码都被转换为本机ARM(v6,v7和/或thumb)指令,并且不再需要IL.

这意味着,当您构建Release | iPhone时,IL代码将从您的程序集中删除.由于它被剥离,它将不会在你发布的应用程序中存在(被反编译).

笔记

>组件仍将在应用程序内部,因为仍然需要元数据(例如System.Reflection需要它).因此,符号名称和资源文件不会像混淆器一样被破坏/加密;>您可以拆卸ARM程序集(即使在AOT编译之前模糊程序集也是如此),但是比IL更难理解(并返回到C#).>从IPA提取程序集并处理它们至少会打破应用程序的签名(您可以重新签名).它也可能会打破很多其他事情(因为代码将引用可能已经改变的名称/结构).我不认为这会奏效(但这取决于您从混淆器使用的选项).

猜你在找的iOS相关文章