我想混淆我的應用程序,但我找不到用於商業用途的免費混淆器。我看到mono支持AOT編譯,那麼是否需要使用社區版Xamarin提前編譯我的應用程序?Xamarin - 在社區版編譯AOT?
如果不是:是否有免費的C#(xamarin)商用混淆器?
注: 我針對Android的
我想混淆我的應用程序,但我找不到用於商業用途的免費混淆器。我看到mono支持AOT編譯,那麼是否需要使用社區版Xamarin提前編譯我的應用程序?Xamarin - 在社區版編譯AOT?
如果不是:是否有免費的C#(xamarin)商用混淆器?
注: 我針對Android的
的AOT編譯選項需要一個企業許可證或更高。 AOT編譯僅在項目配置爲發佈模式時可用,並且默認情況下禁用。
至於混淆,Xamarin.Android不支持模糊開箱。您需要使用第三方混淆工具,如Dotfuscator。他們有關於here的教程。
很多人認爲Proguard
會混淆他們的代碼在Xamarin.Android項目,但它僅適用於Java結束。
的Xamarin.Android ProGuard的配置不模糊的APK,它是不可能通過的ProGuard,使模糊,即使有自定義配置文件。如果您想使用模糊處理,請參閱Application Protection with Dotfuscator。
AOT在Xamarin:
這取決於你是否針對Android或iOS。
正如@Jon Douglas在他的回答中所述,Android Xamarin中的AOT目前僅限於Enterprise許可證。 (提示:您可以通過限時企業許可證試用測試這個企業的特徵。)
的iOS AOT在Xamarin,在另一方面,是每部iOS構建的一部分,所以你與社區得到它免費許可證。但是請注意,完整的.Net程序集仍然包含在iOS發行版中,因此在iOS中擊敗了AOT「混淆」的目的。 :/
混淆:
ConfuserEx是一個偉大的.Net開源混淆器與一個MIT許可:
https://github.com/yck1509/ConfuserEx/
我仍然沒有測試ConfuserEx端至端在Xamarin的應用程序,但它看起來很有希望至今...(請注意,因爲很多人指出,ConfuserEx是有點「混亂」來使用......)
我想澄清的許可restric tions與Dotfuscator社區版(CE)一起提供。UUioP寫道「我知道Dotfuscator,但我實際上是在尋找一個免費的混淆器用於商業用途」Dotfuscator CE肯定帶有許可限制,排除大多數商業使用場景,但有一個例外(授予 - 它是一個非常狹窄的例外,但可能適用於某些例外)。如果被混淆的代碼由Dotfuscator CE用戶編寫並擁有,Dotfuscator CE可用於發佈商業軟件。換句話說,如果您開發自己的應用程序(它是您的應用程序 - 而不是您的僱主的應用程序),則可以使用Dotfuscator CE來混淆您的應用程序 - 即使它用於銷售或其他「商業/生產」用途。請參閱(Re) Introducing Dotfuscator CE - 許可條款在帖子末尾解釋。
爲什麼你關於編譯AOT的問題如果你也在問關於混淆的問題? –
@JonDouglas因爲如果在社區版本中不可行,那麼我想知道是否有免費的混淆器用於商業用途。 – UUioP