Здравствуйте.Имеется java код вроде как по защите от декомпиляции indyprotectordemo Создал jar через marven
mvn compile
mvn packade
Запускаю
cmd -> java -jar IndyProtectorDemo-1.0.jar test.java test2.java
создается test2.java только пустой. В cmd имею ошибку
Exception in thread "main" java.lang.IllegalArgumentException
at org.objectweb.asm.ClassReader.<init>(Unknown Source)
at org.objectweb.asm.ClassReader.<init>(Unknown Source)
at org.objectweb.asm.ClassReader.<init>(Unknown Source)
at javaone2015.con7442.indyprotector.Demo.main(Demo.java:48)
Ошибка происходит из-за
InputStream in = Files.newInputStream(Paths.get(args[0]))
Гуглил решения так и не нашел. Пробовал sdk 1.8 и 1.7 а так же разные библиотеки asm.Но ошибки не исчезают и на выходе получаю пустой класс.Кто подскажет в чем проблема и как ее решить?
ClassReader
из библиотеки asm
принимает на вход поток байтов, содержимого откомпилированного класса.
Следовательно, вам нужно передать в качестве аргументов пути до файлов с расширением *.class
Можно доработать вашу программу, сделав компиляцию во время выполнения. Будет это выглядеть так:
JavaCompiler javac = ToolProvider.getSystemJavaCompiler();
String fileName = arg[0];
javac.run(null, null, null, fileName);
fileName = fileName.replace(".java", ".class");
try (InputStream in = Files.newInputStream(Paths.get(fileName));
OutputStream out = Files.newOutputStream(Paths.get(args[1]))) {
ClassReader cr = new ClassReader(in);
ClassWriter cw = new ClassWriter(0);
ClassProtector cp = new ClassProtector(cw);
cr.accept(cp, 0);
out.write(cw.toByteArray());
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Есть инфо-блокПри нажатии на кнопку "Читать далее" (с указателем вниз), выезжает подробный текст инфо-блока, кнопка должна менятся на "Свернуть"...
Всем добро! То ли я дурак, то ли лыжи не катятНе могу разобраться как увеличить размер миниатюры в fancybox, установленного на сайте битрикс
ЗдравствуйтеПишу код с использованием Обещаний для последовательного запуска функций
Всем приветПодскажите скрипт для загрузки больших файлов до 2 гб через ajax с возможность показа процента загрузки