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

Как я могу получить синтаксическое дерево из coderef в Perl?
Я хотел бы проверять и управлять кодом произвольных процедур Perl (полученных с помощью coderefs) в Perl. Есть ли для этого инструмент / модуль / библиотека? Что-то похожее на B :: Concise , за исключением того, что B :: Concise печатает код на...
425 просмотров

Сгенерируйте код, реализующий JSR 308 instanceof @MyAnotations runtime check.
JSR 308 предлагает добавлять аннотации типов в Java. После его ратификации программисты смогут добавлять аннотации везде, где в настоящее время разрешен тип Java. Это включает в себя не только декорации методов / полей / локальных / параметров, но...
313 просмотров

Добавить поле в прокси-класс, созданный с помощью Javassist
Я создаю прокси-класс с помощью Javassist ProxyFactory со следующим кодом: ProxyFactory factory = new ProxyFactory(); factory.setSuperclass(entity.getClass()); factory.setInterfaces(new Class[] { MyCustomInterface.class }); ..... Class clazz =...
2392 просмотров
schedule 06.11.2021

Как собрать данные об использовании константных выражений с помощью анализа байт-кода?
Класс A объявляет константу C следующим образом: public class A { public static final int C = 10; } Эта константа используется в методе M класса B следующим образом: public class B { public int M() { return A.C;...
45 просмотров

Javassist, кажется, генерирует неверный код доступа к полю
Я пытаюсь дополнить некоторый код дополнительными функциями во время запуска моего приложения. Вся установка работает нормально, но есть один момент, когда я думаю, что javassist может генерировать плохой код. Я делаю это для определенного метода...
308 просмотров
schedule 27.02.2022

редактор байтового кода Java
Возможный дубликат: редактор байт-кода java? Я ищу редактор байт-кода Java со следующими минимальными функциями. GUI - просто загрузить файлы классов и просмотреть байтовый код Отредактируйте байт-код Java и сохраните его
1310 просмотров
schedule 28.03.2022

Байт-код ASM с HttpURLConnection
Используя библиотеку ASM ByteCode, добавьте заголовок запроса (UUID), когда создан HttpUrlConnection ic. Ниже приведен мой код. Также я получаю вывод === > Это метод Http CONNECT!. Но не знаете, как добавить заголовок? package com.eg.agent;...
249 просмотров

Как получить, где объект инициализируется с помощью ASM?
У меня есть определенный класс, о котором я хочу позаботиться. public class TargetClass { public TargetClass() { /* .. */ } } В моем большом проекте у меня есть несколько мест, где я создаю новый экземпляр этого класса. public class A...
213 просмотров

Анализ байт-кода в Java
Я работаю над проектом анализа байт-кода, для которого я использую ASM. Все идет хорошо, я могу успешно анализировать, получать информацию о классах и методах. Но я застрял в понимании представления байт-кода для дженериков. Вот один пример из...
2602 просмотров

Манипуляции с байт-кодом Java - как внедрить в середине метода?
Я видел много фреймворков, которые позволяют внедрять байт-код в классы Java во время выполнения. Но во всех примерах и документации они просто показывают, как внедрить методы BEFORE и AFTER. Но мне нужно ввести где-то в СРЕДНЕМ методе. Как мне это...
1565 просмотров
schedule 23.06.2022

Как скопировать файлы ресурсов в папку классов с помощью Gradle?
Окружающая среда Я использую стороннюю библиотеку, которая требует инструментария байт-кода. Инструмент, который выполняет инструментарий байт-кода, требует некоторых файлов описания, и эти файлы должны находиться в той же структуре папок, что и...
6986 просмотров

Запрос дополнительной информации об опкодах ASM
Я изучаю структуру ASM для инструментирования байт-кода и написал пару примеров для достижения того же. Я видел, что в большинстве примеров JVM OPCodes используются для ex: DUP, AASTORE, LSTORE и т. д., но глядя на javadocs ASM Opcodes, я не не вижу...
435 просмотров

JVMTI RetransformClasses() занимает много времени
Я развернул простой агент JVMTI для тестирования инструментария байт-кода. Моя стратегия состоит в том, чтобы вызвать функцию RetransformClasses в обратном вызове CompiledMethodLoad , чтобы вызвать ClassFileLoadHook . Для этого я написал...
616 просмотров

Инструкции байт-кода луча
Привет, ребята, у меня есть вопрос о передаче байт-кода формата файла. Что такое {label,1} и {line,1} для инструкций? И есть ли у кого-нибудь хороший веб-сайт/лист, где я могу прочитать о файлах реверсивного луча? Спасибо
591 просмотров
schedule 29.08.2022

Java bytecode asm - лучший способ справиться со ссылкой на подкласс в заменяемом классе?
Я заменил класс на SimpleRemapper просто для того, чтобы изменить имя класса. Однако у меня возникла проблема с классом, у которого есть метод со ссылкой на подкласс. Например, public class Target { public void func(TargetSubclass other) {...
74 просмотров

Автономный верификатор байт-кода
В моем проекте инструментирования байт-кода я часто натыкаюсь на VerifyErrors. Однако java Verifier по умолчанию дает мало информации о том, какая инструкция привела к ошибке (он дает только метод и небольшое сообщение). Есть ли какой-нибудь...
1457 просмотров
schedule 28.04.2023

Можно ли изменить строки (содержание и размер) в байт-коде Lua, чтобы он оставался правильным?
Можно ли изменить строки (содержание и размер) в байт-коде Lua, чтобы он оставался правильным? Речь идет о переводе строк в байт-код Lua. Конечно, не во всех языках размер каждого слова одинаков...
391 просмотров

Обработка байт-кода для перехвата установки значения поля
Есть ли способ добавить инструкции байт-кода в класс, используя библиотеку, такую ​​​​как ASM или cglib , для выполнения кода всякий раз, когда установлено значение поля класса? Например, предположим, что у меня есть этот класс: public...
2500 просмотров

Как добавить статическое конечное поле с инициализатором с помощью ASM?
Я хочу добавить статическое конечное поле в файл .class с помощью ASM, а исходный файл public class Example { public Example(int code) { this.code = code; } public int getCode() { return code; } private final...
4962 просмотров

Создайте новый объект с помощью ASM
Я пытался использовать структуру ASM для внедрения байт-кода в интересующее меня место, и до сих пор мне это удавалось. В настоящее время я пытаюсь внедрить код, который в основном создает новый экземпляр/объект класса, и, немного прочитав, я...
2273 просмотров