Xamarin Android использует «Bundle сборок в нативный код» и «обфускацию» - PullRequest
0 голосов
/ 25 мая 2018

Я пытаюсь объединить запутывание моего проекта xamarin android, а затем связать сборки в собственный код с помощью опции Visuals Studio 2017 Pro.

Я смог запутать свои сборки этим учебным пособием https://blog.noser.com/xamarin-android-code-obfuscation/

К сожалению, запутанные сборки не попадают в родной комплект.

Вероятно, я перехватил процесс сборки в неправильном месте.

<Target Name="Obfuscate" AfterTargets="_CopyIntermediateAssemblies" Condition="'$(Configuration)' == 'Release'">

Кто-нибудь знает, как слить запутанные сборки в родной комплект?Спасибо за помощь заранее.

1 Ответ

0 голосов
/ 25 мая 2018

Я помогаю разработать еще одно средство запутывания / защиты .NET, Dotfuscator.Мы написали интеграцию сборки Xamarin, которая автоматически обрабатывает защиту как часть обычного процесса сборки, поэтому вам не нужно вручную писать собственные цели MSBuild или копировать файлы.Официальные документы Xamarin рекомендуют использовать Dotfuscator для защиты сборок Android , но эта интеграция также работает для iOS и UWP.

Поскольку Dotfuscator Community Edition включен в Visual Studio ,Вы можете попробовать эту интеграцию бесплатно.Я написал гостевой пост для блога Xamarin , в котором объясняется, как это сделать.

Правка относительно настройки в вопросе : я провел ограниченное тестирование, и Dotfuscator работаетхорошо с настройкой "Bundle сборки в нативный код".Я установил последнюю версию Visual Studio 2017 Enterprise версии 15.7.2, но обнаружил , что в этой версии есть ошибка, связанная с этим параметром .Чтобы обойти это, я использовал неофициальную установку VSIX, упомянутую по этой ссылке.Затем я открыл пример приложения Dotfuscator-Xamarin и включил настройку собственного кода.Я также добавил код в пример, чтобы показать имя класса, используемого приложением.Затем я развернул приложение в эмуляторе.Приложение работало нормально, а оператор loging отображал запутанное имя для класса, указывая, что Dotfuscator правильно защищал приложение до того, как оно было встроено в собственный код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...