Я разрабатываю приложение для Android, которое выйдет в ближайшее время. Некоторые из моих классов содержат очень важную информацию. Используя Proguard, я запутал весь исходный код, но позже я встретил большое количество ошибок. Теперь я планирую обфускацию кода один за другим. Как обфускать определенный класс и пропустить большую часть класса? Спасибо.Как обфускать определенный класс на Android?
ответ
У меня было много проблем с запутанными Java-классами. На самом деле yGuard (yGuard! = Proguard, я знаю) генерировал файлы * .class, которые не могли конвертироваться в * .dex.
Если ваш код содержит важные данные, это звучит как «security by obscurity». Возможно, вы должны хранить конфиденциальные данные не в вашем файле * .class, а не в зашифрованном файле свойств.
Но тогда можно декомпилировать файлы .class и получить ключ дешифрования. Неважно, что вы делаете, если вы полагаетесь на безопасность безвестности, всегда будет возможность ее разбить. – Marcelo
Jes, конечно. Вот почему я упомянул не хранить секреты в * .class-файлах. Если вы храните секретный секрет в своем коде, его можно украсть. –
Да, я рассмотрю ваш совет @ckuetbach. Но мне все еще нужно запутывать код. Я знаю, что это не сильно поможет супер-гениальному хакеру. Но это должно предотвратить любую очевидную попытку обратной инженерии. – KnightCavalry
Попробуйте использовать как этот
Если вы хотите, чтобы сделать процесс запутывания в конкретном классе, вы можете использовать следующие строки кода.
Синтаксис:
-keep public class yourPackageName.youClassname { *; }
Пример:
-keep общественного класса com.facebook.katana.MainClass {*; }
- 1. Как переопределить уже определенный класс на Java
- 2. Как ссылаться на класс, реализующий определенный интерфейс?
- 3. Как обфускать скрипт оболочки?
- 4. Как обфускать часть кода?
- 5. Как однозначно обфускать строки?
- 6. Обфускать электронную почту на PHP?
- 7. Как скрыть класс, когда определенный класс активен?
- 8. Минимизировать приложение Android, но не обфускать его
- 9. Как обфускать интерфейс библиотеки (Dotfuscator)?
- 10. Как обфускать код в C?
- 11. Обфускать общий модуль maven?
- 12. Как можно обфускать локальный var?
- 13. Как легко обфускать приложение для Android при использовании IntelliJ IDEA?
- 14. Android: Как библиотечный модуль использует класс, определенный в прикладном модуле?
- 15. : наведите курсор, но: не на определенный класс
- 16. .toggleClass() добавляет определенный класс ссылок на клик
- 17. Ориентация на определенный класс в jQuery
- 18. Кодировать/обфускать параметры HTTP
- 19. выяснить, какой класс влияет на определенный элемент.
- 20. Как обфускать ключи Google в Android с помощью ProGuard
- 21. Сохраните ссылку на JOptionPane, возвращающую определенный класс
- 22. Как получить определенный файл на устройстве Android?
- 23. уже определенный класс C++
- 24. Таргетинг на определенный класс с помощью jQuery
- 25. Как обфускать весь код даже файл манифеста в android?
- 26. Android & Proguard - как обфускать, но не оптимизировать какой-либо код?
- 27. Как обфускать проект библиотеки Android с помощью Eclipse?
- 28. Как обфускать класс, на который ссылается файл манифест с помощью Dexguard?
- 29. Обфускать пароль в url
- 30. Как удалить определенный класс размера из раскадровки?
Возможно полезно: http://stackoverflow.com/questions/4458909/how-to-use-java-annotations-to-guide-androids-proguard – Thilo
Вы понимаете, это не имеет никакого смысла, потому что .class и .dex файлы разные. Dex - это все классы в одном файле, невозможно просто изменить один класс, потому что вам также придется изменить все ссылки на него в другом месте вашего кода. –
Мое объяснение может немного странно. Я намерен запутать класс и найти некоторые ошибки, которые могут возникнуть. Если это безопасно, я включу другой класс в следующий процесс обфускации и снова найду некоторые ошибки. Я повторю этот шаг, пока не почувствую, что выйдет на рынок. – KnightCavalry