Защита приложения от декомпиляции путем скрытия манифеста и преобразования кода в символ Unicode

Я хочу сделать свое приложение защитным, используя обфускацию или любую хорошую технику, как я показываю. Я рассмотрел ряд вопросов о SO.

При декомпиляции я вижу две хорошие техники.

  1. Приложение скрывает Androidmanifest.xml поскольку я декомпилировал код, и это Manifest.xml отсутствует или нет.
  2. И еще один код, который я видел после декомпиляции, как показано ниже.

     private static void \u02ca(final Context context, String s, final String s2) { if (s == null || s.equals("")) { return; } final long currentTimeMillis = System.currentTimeMillis(); final boolean \u02cf = \u0632.\u02cf(context); if (!\u02cf || (\u02cf && !\u0632.\u02ce(context))) { if (s == null) { s = null; } \u02ca(context, s); } while (true) { if (s2 == null || s2.equals("")) { break Label_0076; } try { Toast.makeText(context, (CharSequence)s2, 1).show(); \u0632.\u02ca(context, "letang_last_time", currentTimeMillis); } catch (Exception ex) { continue; } break; } } 

Может кто-нибудь понять, что этот пример использует для защиты apk от декомпиляции.

Как сделать мой код в UniCode похожим символом после декомпиляции? И как скрыть манифест от декомпиляции.

редактировать

Я тестировал три разных декомпилятора. Но код остается прежним. Ни один из Procyon,CFR,FernFlower помогает увидеть код.

Как сделать мой код в UniCode похожим символом после декомпиляции? И как скрыть манифест от декомпиляции.

Имейте в виду, что нет 100% защиты. Вы можете добавить простые способы, которые затрудняют работу потенциального злоумышленника, но в этой среде нет безопасной гавани. Существует инструмент с открытым исходным кодом от Google под названием Proguard . Это также помогает вам запутывать исходный код.

  • Создание более компактного кода, для небольших архивов кода, более быстрая передача по сетям, более быстрая загрузка и меньшие отпечатки памяти.
  • Сделать программы и библиотеки сложнее перепроектировать.

  • Отобразить мертвый код, чтобы его можно было удалить из исходного кода.

  • Retargeting и preverifying существующие файлы классов для Java 6 или выше, чтобы в полной мере использовать их более быструю загрузку классов.

Приложение скрывает Androidmanifest.xml, поскольку я декомпилировал код, и это Manifest.xml отсутствует или нет.

Я тестирую это, когда я учился использовать proguard. На самом деле оказалось, что даже если вам удастся извлечь файл AndroidManifeste.xml, он пуст. Я тестировал это на нескольких APK, xml пуст

Что касается вашего второго вопроса, я бы предложил вам протестировать APK, который имеет этот вид Unicode, и декомпилировать его с помощью декомпилятора AndroChef. AndroChef всегда извлекает код JAVA из большинства APK даже при использовании proguard.