Как запутать мой алгоритм, чтобы сделать его нечитаемым - PullRequest
0 голосов
/ 17 мая 2018

Я использовал ProGuard, чтобы запутать свой проект, используя следующее:

release {
    debuggable false
    minifyEnabled true
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}

Исходный код в некоторой степени запутан. Хотя алгоритмы, которые я хочу защитить, по-прежнему читабельны. ProGuard запутывает имена классов / функций. Тем не менее, он сохраняет тот же контроль. Все точно так же. Я использовал Dex2Jar плюс JD для проверки конечного результата.

Как мне защитить мои алгоритмы и сделать их нечитаемыми? Это не связано с предполагаемой проблемой дублирования. Автор из связанной темы спрашивает о том, как предотвратить обратный инжиниринг / декомпиляцию APK-файлов, что невозможно. Моя проблема специфична и связана с улучшением запутывания моего кода.

Спасибо.

P.S. В одной из моих предыдущих версий проекта конечный результат был аналогичным, хотя он включал преобразование цикла while в нечто, включающее метки. Также цикл для был преобразован в:

for (;;)

Класс / алгоритмы не были изменены никоим образом. Однако старая версия была разработана на старой системе gradle.

...