Jeśli uruchomiłem javap -c ASM.class > ASM.java
, aby uzyskać kod zespołu, w jaki sposób mogę ponownie skompilować to z powrotem do kodu bajtowego JVM?Jak skompilować kod zestawu JVM do kodu bajtowego?
Odpowiedz
Jasmin to asembler dla bajtów Java. Jednak nie wiem, czy może poradzić sobie z wyjściem z javap.
UPDATE
Dokumentacja mówi Jasmin ten temat javap
wyjściowe:
Sun ma zapewnić program javap które można wydrukować kod montaż w pliku klasy. Jednak wynik javap jest nieodpowiedni do użycia jako format asemblera. Jest przeznaczony do odczytu przez osobę, a nie do parsowania przez asembler, więc ma wiele pominięć i wad.
W związku z tym powiedziałbym, że istnieje małe prawdopodobieństwo znalezienia asemblera, który pobiera dane wyjściowe jako javap
.
można spróbować zrobić to przez ASM, może być wygenerować klasę lub zmodyfikować klasę w czasie wykonywania
To nie odpowiada na pytanie, IMO. –
ASM pozwala tylko na modyfikację kodu bajtowego java w czasie wykonywania, a nie na kodowanie i konwertowanie go na kod bajtowy, jednak nie jest możliwe wykonanie programu do odczytu zespołu i wygenerowania kodu bajtowego za pomocą ASM. – mailmindlin
najpierw spróbować nie używając '.java' Java montażowej, jak to jest zamieszanie. Używam '.jasm' –
@ColeJohnson Dzięki. Nie wiedziałem o tym rozszerzeniu pliku. – Orcris
jako programista, możesz oznaczyć swoje pliki dowolnie. Nie ma standardu. Wybrałem właśnie jaśmin, aby odróżnić go między .asm i wybrałem j, ponieważ jest to nosa, masm, itp. (??? ASeMbler) –