Articles of обфускация

Как отключить все функции Android ProGuard, кроме обфускации?

Google предполагает, что разработчикам может потребоваться обфускация байтового кода: http://android-developers.blogspot.com/2010/09/proguard-android-and-licensing-server.html Я следовал инструкциям Google, чтобы получить запутанное приложение для Android, которое, на первый взгляд, казалось, сработало. Но были введены некоторые странные ошибки, которые не находятся в непривязанных приложениях. Я продолжал отключать опции ProGuard, чтобы перейти к этой конфигурации: -dontoptimize -dontshrink -dontusemixedcaseclassnames -dontskipnonpubliclibraryclasses -dontpreverify -verbose Все […]

ProGuard – Как сохранить методы и запутать их в одно и то же время?

Я пытаюсь вручную обфускать мое приложение для Android (да, я знаю, это боль), и для этого мне нужно сохранить все методы, которые я реализую, но одновременно запутываю их вместе с ProGuard. Я попытался изменить конфигурацию следующим образом: -keep class com.project.x.* { } Но он сохранил все имена классов и имена методов и все еще удалил […]

Профавация Obfuscation, вызывающая ослабление dex, чтобы выбросить исключения

У меня есть приложение для Android, которое я только пытаюсь запутать с Proguard (следовательно, у меня есть флаги -dontoptimize -dontshrink -dontpreverify). Когда я строю с помощью Proguard, proguard сам не бросает никаких ошибок, но затем dex выдает следующее исключение: Exception in thread "pool-1-thread-1" com.android.dx.cf.code.SimException: com.android.dx.rop.cst.CstMethodRef cannot be cast to com.android.dx.rop.cst.CstInterfaceMethodRef at com.android.dx.cf.code.BytecodeArray.parseInstruction(BytecodeArray.java:810) … at java.lang.Thread.run(Thread.java:745) […]

Простое скрытие / обфускация строк в APK?

Иногда вам необходимо сохранить пароль в самом приложении, например, имя пользователя / пароль для связи с вашим собственным сервером. В этих случаях невозможно следить за нормальным процессом хранения паролей, то есть хешировать пароль, хранить хэш, сравнивать с хэшированием пользовательского ввода – потому что у вас нет пользовательского ввода для сравнения хэша. Пароль должен быть предоставлен […]

Возможные проблемы при обфускации с помощью Proguard

Мое приложение отлично работает до обфускации, но когда я включаю proguard, я получаю следующую ошибку: 2013-05-02 13:43:58.772 E 30138/AndroidRuntime: FATAL EXCEPTION: main java.lang.NumberFormatException: Invalid long: "0.20" at java.lang.Long.invalidLong(Long.java:125) at java.lang.Long.parse(Long.java:362) at java.lang.Long.parseLong(Long.java:353) at java.lang.Long.parseLong(Long.java:319) at com.sourcetone.data.model.Station.long getId()(SourceFile:195) at com.sourcetone.STStationListFragment.void deleteStation(com.sourcetone.data.model.Station)(SourceFile:298) at com.sourcetone.STStationListFragment.void access$4(com.sourcetone.STStationListFragment,com.sourcetone.data.model.Station)(SourceFile:293) at com.sourcetone.STStationListFragment$ArrayListAdapter$1.void onClick(android.view.View)(SourceFile:274) at android.view.View.performClick(View.java:3528) at android.view.View$PerformClick.run(View.java:14217) at android.os.Handler.handleCallback(Handler.java:605) at android.os.Handler.dispatchMessage(Handler.java:92) at […]

Android-приложение вылетает после обфускации proguard

Я запущен инструмент proguard в моем приложении, чтобы запутать. Я знаю, что при запутывании proguard сжимается и оптимизирует приложение по своему усмотрению. Поэтому после запутывания приложение открывается правильно, а затем, когда я пытаюсь войти в него, он падает. Лучшее, что я мог получить, это этот журнал, поскольку я подключил устройство. 10-03 11:12:47.384: E/AndroidRuntime(15058): FATAL EXCEPTION: […]

Как использовать proguard в android 2.3

Одна из особенностей Android 2.3 – это интегрированная защита proguard при создании релизов. Но как мне включить эту обфускацию при создании моего apk? благодаря!

Как скопировать защиту Android-приложения PhoneGap? Защищена функция Android Market Copy?

У меня есть приложение PhoneGap в Android. Теперь я готов опубликовать его, но я хотел бы защитить приложение от глаз сценаристов. Сначала я подумал, что это невозможно, поскольку я обнаружил функцию «Защита от копирования» при публикации приложения на рынке. Поэтому я был взволнован, но когда я включил его, это фактически ничего не делало. Я могу […]

Android, ProGuard и keepclasseswithmembernames

Обычным шаблоном в конфигурациях ProGuard для приложений Android является сохранение пользовательских классов View , поскольку на них, вероятно, ссылаются только из XML-макета вместо кода приложения. При создании проекта ADT поэтому добавляет эти правила к proguard.cfg проекта: -keepclasseswithmembernames class * { public <init>(android.content.Context, android.util.AttributeSet); } -keepclasseswithmembernames class * { public <init>(android.content.Context, android.util.AttributeSet, int); } Я предполагаю, […]

Как сказать ProGuard обфускации методов и имен классов?

Я использую ProGuard для обфускации моего apk, но нет изменений в именах классов и методов – они такие же, как и раньше. Изменены только имена переменных. Большинство из них не расширяет классы, такие как Activity; В моем коде есть некоторое наследование, но это на 100% написано мной. Я использую d2j-dex2jar и jd-gui для проверки результатов. […]

Intereting Posts
Как правильно выводить данные JSON с помощью PHP Использование инструмента jobb в Android Как я могу получить текст до и после «-» (тире) Изменить клавиатуру Android по умолчанию с использованием кода ADB или Java Как определить ColorStateList для TextView? Мое приложение не будет отображаться в диалоговом окне выбора для android.intent.action.VIEW с типом видео / * только на Marshmallow Crash: java.lang.NoClassDefFoundError: android.support.v7.appcompat.R $ layout Не удалось найти свойство «allJava» на исходном наборе main BluetoothLeScanner.startScan с Android 6.0 не обнаруживает устройств Android: Пользовательская панель заголовка Дублировать запросы от HttpClient Регистрация активности для открытия любого файла с определенным расширением TextView: заставить его усекать без уважения к пробелам между словами Практическое различие между идентификатором позиции и строки в onListItemClick () CalledFromWrongThreadException: только исходный поток, создавший иерархию представления, может касаться представлений