Si ejecuté javap -c ASM.class > ASM.java
para obtener el código de ensamblado, ¿cómo volvería a compilarlo en el bytecode de JVM?¿Cómo compilo el código ensamblador JVM en bytecode?
Respuesta
Jasmin es un ensamblador para bytecodes de Java. Sin embargo, no sé si puede hacer frente a la salida de javap.
ACTUALIZACIÓN
La documentación Jasmin dice lo siguiente acerca javap
de salida:
Sun proporciona un programa javap que puede imprimir el código de montaje en un archivo de clase. Sin embargo, el resultado de javap no es apropiado para usar como formato de ensamblador. Está diseñado para ser leído por una persona, no para ser analizado por un ensamblador, por lo que tiene una serie de omisiones e inconvenientes.
Sobre la base de esto, diría que hay pocas posibilidades de encontrar un ensamblador que tome la salida javap
como entrada.
se puede tratar de hacerlo por ASM, puede ser generar clase o modificar la clase en tiempo de ejecución
Esto no responde la pregunta, IMO. –
ASM solo le permite modificar bytecode java en tiempo de ejecución, no tomar código de ensamblado y convertirlo en bytecode, sin embargo, no es inviable que uno pueda hacer un programa para leer el ensamblado y generar el bytecode con ASM. – mailmindlin
- 1. ¿Cómo puedo examinar el bytecode JVM para una función clojure?
- 2. ¿Cómo se ejecuta scala bytecode en el jvm?
- 3. ¿Cómo se verifica el bytecode en la JVM?
- 4. Aprendiendo sobre el bytecode de Java y la JVM
- 5. ¿Es posible transformar el bytecode LLVM en bytecode de Java?
- 6. ¿Es el Hotspot JVM Bytecode Interpreter un JIT de rastreo?
- 7. Ejecutando bytecode Java en Android - Sun JVM encima de DalvikVM
- 8. Analizar código ensamblador
- 9. ¿Cómo escribo y compilo el código Objective-C?
- 10. ¿Cómo obtener el código c para ejecutar el bytecode hexadecimal?
- 11. ¿Cómo compilo el código Perl dentro de un programa C?
- 12. ¿Para qué se utiliza el NOP en el bytecode de JVM?
- 13. Ejecutando código ensamblador con python
- 14. ¿Cómo compilo programas de DOS en Debian?
- 15. ¿Cómo compilo el soporte Readline en Ruby
- 16. ¿Cuál es la diferencia entre el código de ensamblaje y el bytecode?
- 17. Traducción de código Python a JVM
- 18. ¿Cómo generan los lenguajes/tiempos de ejecución basados en JVM un bytecode de Java?
- 19. ¿El código fuente abierto es JVM?
- 20. ¿Cómo compilo archivos .rc cuando compilo con CL.exe?
- 21. ¿Cómo funciona un ensamblador?
- 22. gas vs. nasm: ¿qué ensamblador produce el mejor código?
- 23. Especificación de bytecode de Java
- 24. ¿Cómo compilo C++ con Clang?
- 25. ¿Cómo compilo una UDF Colmena
- 26. Tipos en Bytecode
- 27. ¿Cómo compilo jzmq para ZeroMQ en OSX?
- 28. ¿Qué ensambladores de JVM hay?
- 29. ¿Interpretar algo y ejecutar el bytecode generado en Java?
- 30. Java bytecode equivalentes para ilasm/ildasm
primera trate de no usar '.java' para Java montaje, ya que es la confusión. yo uso '.jasm' –
@ColeJohnson Gracias. No sabía acerca de esa extensión de archivo. – Orcris
como desarrollador, puede etiquetar sus archivos como lo desee. No hay un estándar Simplemente elegí jasm para diferenciarlo entre .asm y elegí j porque es como nasm, masm, etc. (??? ASeMbler) –