Если бы я запустил javap -c ASM.class > ASM.java
, чтобы получить ассемблерный код, как мне перекомпилировать его обратно в байт-код JVM?
Как скомпилировать код сборки JVM в байт-код?
Ответы (2)
Jasmin — это ассемблер для байт-кодов Java. Однако я не знаю, справится ли он с выводом из javap.
ОБНОВЛЕНИЕ
В документации Jasmin говорится о выводе javap
:
Sun предоставляет программу javap, которая может печатать ассемблерный код в файле класса. Однако вывод javap не подходит для использования в качестве формата ассемблера. Он предназначен для чтения человеком, а не для разбора ассемблером, поэтому имеет ряд упущений и недостатков.
Исходя из этого, я бы сказал, что мало шансов найти ассемблер, который принимает javap
выходных данных в качестве входных данных.
person
Stephen C
schedule
26.05.2012
вы можете попытаться сделать это с помощью ASM, это может быть генерация класса или изменение класса во время выполнения
person
user1421213
schedule
29.05.2012
Это не отвечает на вопрос, ИМО.
- person Stephen C; 12.06.2012
ASM просто позволяет вам изменять байт-код java во время выполнения, а не брать ассемблерный код и преобразовывать его в байт-код, однако вполне возможно, что можно сделать программу для чтения ассемблера и сгенерировать байт-код с помощью ASM.
- person mailmindlin; 28.12.2014
.java
для сборки java, так как это путаница. я использую.jasm
- person Cole Johnson   schedule 26.05.2012