Вопросы по теме 'java-bytecode-asm'

Есть ли программа для чтения байт-кода Java, реализованная в javascript?
Я знаю, что существует множество библиотек, которые считывают байт-коды, написанные на Java. Кто-нибудь знает о библиотеке байт-кода, реализованной в Javascript?
840 просмотров
schedule 28.10.2022

определение и назначение переменных обнаруживают байт-код asm
Я пытаюсь использовать API дерева байт-кода ASM для статического анализа кода Java. У меня есть ClassNode cn, MethodNode m, и список инструкций в этом методе называется InsnList list. Предположим, что для заданной инструкции (например,...
1592 просмотров

Простой способ собрать пару посетителей ASM-Bytecode?
В настоящее время я реализую некоторый код, который должен для каждого метода класса запускать пару посетителей в файле .class, чтобы инструментировать его байт-код. На данный момент я только что реализовал MethodRenamerVisitor, но это уже становится...
216 просмотров
schedule 20.07.2023

Как скомпилировать код сборки JVM в байт-код?
Если бы я запустил javap -c ASM.class > ASM.java , чтобы получить ассемблерный код, как мне перекомпилировать его обратно в байт-код JVM?
2805 просмотров

Проверка ошибок реализации прокси метода с использованием библиотеки модификации байт-кода ASM
У меня возникают трудности с использованием библиотеки байт-кода ASM для создания прокси-методов. Я хочу преобразовать следующий код: public ReturnType doSomething( ParameterOne parameterOne, ParameterTwo parameterTwo ){ ReturnType...
674 просмотров
schedule 20.11.2022

Как использовать visitLdcInsn для загрузки объекта
Я использую ASM для внедрения кода, и до сих пор мне с ним везло. Во время стресс-теста я заметил, что вижу некоторое снижение производительности, поскольку код, который я написал, делает много статических вызовов, чтобы оптимизировать его, я...
1115 просмотров

Java ASM, как читать значение байт-кода LOAD или STORE
Я работаю с asm (здесь документы http://asm.ow2.org/asm40/javadoc/user/ ), точнее, я пытаюсь динамически настроить некоторый код. Моя проблема в том, что я не знаю, как и могу ли я через то, что предлагает asm, читать фактические переменные...
1291 просмотров
schedule 19.05.2023

Есть ли аналог visitLdcInsn для загрузки объектов (не константа)?
Мы написали простой интерпретатор PostScript на Java и хотим оптимизировать его, генерируя байт-код непосредственно для определенных частей исходного кода. Для этого нам нужно загрузить объект из контекста контекста байт-кода Java. Указывать такой...
320 просмотров

Проверьте байт-код Java, сгенерированный ASM
Я использую ASM ( http://asm.ow2.org/index.html ) для измерения некоторые классы Java. После инструментирования я получу новые файлы .class. Однако иногда, когда я запускаю новые файлы .class, JVM выдает java.lang.VerifyError. Интересно, есть ли...
44 просмотров
schedule 25.02.2023

Для по сравнению с Doseq (и слишком большой код метода)
user=> (def r (range 1)) user=> (for [a r, b r, c r, d r, e r, f r, g r, h r :when (and (= 0 a) (not= 1 b))] (list a b c d e f g h)) ((0 0 0 0 0 0 0 0)) user=> (doseq [a r, b r, c r, d r, e r, f r, g r, h r :when (and (= 0 a) (not=...
1107 просмотров
schedule 27.07.2022

Замена вызова метода java из поля вызовом метода
Я пытаюсь создать насмешливую структуру в java, которая соответствует конкретным требованиям проекта. Сценарий таков, у меня есть метод public String returnRandom(){ String randomString = this.randomGenerator.returnRandom() }...
1513 просмотров

Ошибка проверки JVM «Недопустимый тип в постоянном пуле»
В настоящее время я пишу свой собственный компилятор и пытаюсь скомпилировать следующий код: List[String] list = List("a", "b", "c", "d") list stream map((String s) => s.toUpperCase()) System out println list У компилятора нет проблем с...
7969 просмотров
schedule 16.02.2023

Код операции ifeq/ifne JVM всегда разветвляется
[TL;DR: следующие инструкции байт-кода JVM, похоже, не работают: iconst_0 istore 6 ...sequential iinc 6 1 jsr L42 ... ; L42 iload 6 ifeq L53 ; Always branches!!! astore 8 iinc 6 -1 ; L53 LDC 100 ISUB ; ERROR, returnAddress is at the top of the...
1811 просмотров

Создание FrameNode с помощью ASM API
Мне удалось реализовать встроенную оптимизацию метода байт-кода, и сгенерированный код кажется мне нормальным. Тем не менее, проверка завершается с ошибкой с сообщением: java.lang.VerifyError: Expecting a stackmap frame at branch target 47...
467 просмотров

Разобрать приемник вызова метода Java на уровне байт-кода
Я ищу решения для распознавания правильного получателя вызова метода при анализе байт-кодов Java. То есть, чтобы определить, является ли получатель из каких членов поля или аргументов класса. Возьмите байт-код ниже, например, есть два члена поля:...
147 просмотров

Как загрузить постоянный сложный объект в стек с помощью LDCInsnNode в ASM
Я хочу использовать библиотеку ASM для создания метода байт-кода, способного возвращать постоянное значение во время выполнения. Один из классов ASM, который я могу использовать, — это LdcInsnNode. Итак, мой пример кода: class Myclass{ final...
692 просмотров

Прекрасная печать сигнатуры метода Java и обратный анализ
Я делаю редактор байт-кода Java, который переводит байт-код в какой-то промежуточный код, который может быть изменен пользователем, а затем анализирует этот код обратно в байт-код. На данный момент объявление метода выглядит ужасно и трудночитаемо....
1550 просмотров
schedule 20.07.2023

Как преодолеть ошибку VerifyError: Ожидание кадра карты стека для приложения JDK 7/8?
Я использую библиотеку модификации байт-кода ASM 5.0.3 с Tomcat 8 и JDK 8. Я намерен успешно внедрить байт-код во все классы. Однако я столкнулся со следующей ошибкой: java.lang.VerifyError: Expecting a stackmap frame at branch target 18...
2709 просмотров
schedule 27.02.2023

как создать экземпляр другого класса с помощью Instrumenting/ASM
Я пытаюсь использовать ASM в javaagent , чтобы изменить создаваемый класс ( sun/misc/URLClassPath ) в другой ( fommil/URLClassPath ), который наследуется от него и переопределяет все методы. Я знаю, что целевой класс ( java/net/URLClassLoader ),...
294 просмотров

Байт-код ASM получает значения, передаваемые в качестве аргументов при вызове некоторых методов.
Бьюсь с ASM уже 5 дней и никак не могу решить свою проблему. Требование состоит в том, чтобы получить все значения, переданные в качестве аргументов при вызове метода. Я знаю, что есть много инструментов для этого. Я пошел на ASM (не знаю,...
1919 просмотров
schedule 14.07.2023