Обфускат сгенерированный жирная банка - PullRequest
0 голосов
/ 04 февраля 2019

Я создаю настольное приложение с Kotlin, и я пытаюсь запутать окончательный вывод

Я работаю над приложением, используя JavaFx и Kotlin.Я работаю с Gradle в качестве инструмента для сборки и ищу, как запутать свою банку, чтобы избежать обратного инжиниринга на банке.Сгенерированная банка - это толстая банка (вся библиотека находится внутри банки).Я уже пытался использовать proguard в моем gradle.build, но каждый раз, когда я запускаю свою сборку, я получаю массу «не могу найти ссылочный класс» с собственным классом библиотеки Java, таким как Object, String и т. Д.

Здесьмоя текущая задача proguard:

def jarNameWithoutExtension = jar.archiveName.with { 
it.take(it.lastIndexOf(".")) }
def obfuscatedJarName = "${jarNameWithoutExtension}-release.jar"
def jarFileLocation = jar.archivePath.parent
def obfuscatedFilePath = Paths.get(jarFileLocation, obfuscatedJarName)

task obfuscate(type: ProGuardTask) {
    configuration 'proguard.txt'

    injars jar.archivePath
    outjars obfuscatedFilePath.toString()
    libraryjars files(configurations.compile.collect())
    libraryjars "/usr/lib/jvm/java-11-oracle/lib/rt.jar"
    doLast {
        jar.archivePath.renameTo(Paths.get(jarFileLocation, "$jarNameWithoutExtension-original.jar").toFile())
        obfuscatedFilePath.toFile().renameTo(jar.archivePath)
    }
}

jar.finalizedBy(project.tasks.obfuscate)

Файл proguard.txt в настоящее время пуст. Пример ошибки: «Предупреждение: javafx.animation.Animation: не удается найти суперкласс или интерфейс java.lang.Object»

Я ожидаю, что при сборке моего проекта будет создан запутанный файл jar, но все, что у меня есть, это ошибка компиляции

Я надеюсь, что кто-нибудь может помочь мне с моей проблемой

1 Ответ

0 голосов
/ 06 февраля 2019

JShrinker - это инструмент для обфускации банок, который предоставляет графический интерфейс пользователя.Если вы не ограничены Pro Guard, это может решить вашу проблему.Это очень удобно для пользователя и избавляет вас от всех настроек и царапин на голове, что почти неизбежно при использовании других программ.

...