«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как я могу эффективно скрыть конфиденциальные строки в запутанном коде?

Как я могу эффективно скрыть конфиденциальные строки в запутанном коде?

Опубликовано 10 ноября 2024 г.
Просматривать:465

 How can I effectively hide sensitive strings in obfuscated code?

Раскрытие скрытых строк в запутанном коде

Обфускаторы, такие как ProGuard, могут повысить безопасность кода, скрывая видимые строки, но их может быть недостаточно для конфиденциальной информации например URL-адреса или данные о лицензировании.

Скрытие конфиденциальных строк

Чтобы эффективно скрыть конфиденциальные строки, рассмотрите следующие методы:

  • Кодирование: Кодируйте строки, используя такие методы, как Base64, чтобы они выглядели зашифрованными.
  • Шифрование: Шифруйте строки, используя такие алгоритмы, как AES, чтобы сделать их неразборчивыми без ключа шифрования.

Чтобы реализовать эти методы, вы можете:

  1. Вручную зашифровать строку, используя известный ключ.
  2. Настройте свой код для использования расшифрованной версии строки. Например:
// Before encryption
public class Foo {
    private String mySecret = "http://example.com";
}

// After encryption
public class Foo {
    private String encrypted = "";
    private String key = "";
    private String mySecret = MyDecryptUtil.decrypt(encrypted, key);
}

Нахождение класса R

Во время декомпиляции класс R не всегда виден из-за обфускации. Однако файл сопоставления ProGuard может предоставить информацию о его местонахождении:

  • Найдите раздел «классы» в файле сопоставления.
  • Выполните поиск «R.java», чтобы найти оригинал. путь к классу R.
  • Перейдите к этому пути в каталоге декомпилированного кода, чтобы получить доступ к классу R.

Понимание номеров классов R

Числа типа «2130903058» в декомпилированном коде представляют собой идентификаторы ресурсов. Эти числа относятся к ресурсам вашего проекта, например файлам макета.

Чтобы найти соответствующие ресурсы:

  • Декомпилируйте файл R.java из файла сопоставления.
  • Искать идентификатор ресурса в декомпилированном файле R.java.
  • Соответствующий ресурс (например, файл макета) будет указан в результатах поиска.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3