Nếu tôi chạy javap -c ASM.class > ASM.java
để lấy mã lắp ráp, làm cách nào tôi biên dịch lại mã này thành mã bytecode JVM?Làm cách nào để biên dịch mã assembly JVM thành bytecode?
Trả lời
Jasmin là một trình kết hợp cho các bytecode Java. Tuy nhiên, tôi không biết liệu nó có thể đối phó với đầu ra từ javap hay không.
CẬP NHẬT
Các tài liệu Jasmin nói này về javap
đầu ra:
Sun không cung cấp một chương trình javap có thể in mã lắp ráp trong một tập tin lớp. Tuy nhiên, đầu ra javap là không phù hợp để sử dụng như một định dạng của trình biên dịch. Nó được thiết kế để được đọc bởi một người, không được phân tích bởi một người lắp ráp, do đó nó có một số thiếu sót và hạn chế.
Trên cơ sở điều này, tôi muốn nói rằng có rất ít cơ hội tìm một bộ lắp ráp có đầu ra là javap
làm đầu vào của nó.
bạn có thể cố gắng thực hiện theo ASM, có thể tạo lớp hoặc sửa đổi lớp trong thời gian chạy
Điều này không trả lời câu hỏi, IMO. –
ASM chỉ cho phép bạn sửa đổi bytecode java khi chạy, không lấy mã assembly và chuyển đổi nó thành bytecode, tuy nhiên nó không phải là không khả thi mà người ta có thể làm cho một chương trình đọc assembly và tạo bytecode với ASM. – mailmindlin
- 1. Làm thế nào để chạy mã bytecode scala trên jvm?
- 2. F # Làm thế nào để biên dịch một mã báo giá thành một assembly
- 3. khi java jvm biên dịch bytecode, mã đó đi đâu trong không gian quá trình?
- 4. Làm thế nào tôi có thể kiểm tra mã bytecode JVM cho một chức năng clojure?
- 5. Tháo rời Java JIT biên dịch bytecode bản địa
- 6. Lua với trình biên dịch JVM?
- 7. Cách biên dịch clang thành llvm IR
- 8. Tìm hiểu về Java bytecode và JVM
- 9. Cách dễ nhất để xây dựng trình biên dịch F # chạy trên JVM và tạo ra bytecode Java là gì?
- 10. Cách biên dịch ocaml thành mã gốc
- 11. Biên dịch C++ cho JVM
- 12. Biên dịch mã OpenMP thành mã C
- 13. Viết một trình biên dịch JIT trong assembly
- 14. Làm cách nào để biên dịch mã objc trên Linux?
- 15. Biên dịch mã lua, lưu mã bytecode rồi tải và thực hiện nó
- 16. Biên dịch sang bytecode java (không sử dụng Java)
- 17. Tôi có thể biên dịch Java thành mã gốc không?
- 18. NOP trong bytecode JVM được sử dụng cho là gì?
- 19. Làm cách nào để biên dịch lại mã byte 2.5 của Python thành 2.7?
- 20. Biên dịch openmp thành pthreads Mã C
- 21. Làm cách nào để biên dịch và liên kết mã C++ với mã C đã biên dịch?
- 22. Biên dịch java thành mã gốc?
- 23. Biên dịch trong thời gian thực của Java bytecode
- 24. Có cách nào để tạo mã bytecode bằng Python không?
- 25. Làm cách nào để phân tích mã để xây dựng trình biên dịch trong Java?
- 26. Viết trình biên dịch cho .net - IL hoặc Bytecode?
- 27. Làm thế nào để sử dụng clang để biên dịch OpenCL thành mã ptx?
- 28. Bytecode được xác minh như thế nào trong JVM?
- 29. Trách nhiệm của JVM bytecode verifier
- 30. Mã LINQPad biên dịch như thế nào?
trước tiên không sử dụng '.java' để lắp ráp java vì nhầm lẫn. tôi sử dụng '.jasm' –
@ColeJohnson Cảm ơn. Tôi không biết về phần mở rộng tập tin đó. – Orcris
là nhà phát triển, bạn có thể gắn nhãn cho tệp của mình bất cứ điều gì bạn muốn. Không có tiêu chuẩn. Tôi chỉ chọn jasm để phân biệt nó giữa .asm và chọn j vì nó giống như co thắt, co thắt, vv (??? ASeMbler) –