Tôi đang tìm kiếm một thư viện disassembler Java x86 nên có các tính năng sau:Bất kỳ thư viện phân tách Java x86 linh hoạt hướng đối tượng nào?
- tháo X86 Mã
- Mô tả lệnh với các lớp Java X86 và Objects
- Các lớp lệnh nên chấp nhận một vị khách trong đó có một generic trở lại giá trị
Vì vậy, nếu tôi có một số mã mà sẽ tháo rời như thế này:
MOV EAX, EBX
CALL 1234
JMP 88
thì thư viện sẽ tạo ba đối tượng cho MOV, CALL và JMP. Sau đó, tôi triển khai một khách truy cập thực hiện những điều đa dạng (ví dụ: diễn giải, chuyển đổi thành x64 hoặc hướng dẫn cho kiến trúc bộ vi xử lý khác).
Xin cảm ơn trước.
Tôi không tin rằng tồn tại một bộ tách rời như vậy, bởi vì trình lắp ráp là thủ tục. Vì vậy, bạn không thể chuyển đổi từ thủ tục thành Object Oriented mà không cần thiết kế lại ứng dụng và phải được thực hiện bằng tay. – Zemzela
Điểm không phải là về việc chuyển đổi thủ tục sang thiết kế hướng đối tượng. Tôi chỉ muốn một thư viện mô tả các thủ tục như các đối tượng Java và tôi có thể làm bất cứ điều gì tôi muốn với chúng. – belgther
Nhưng tại sao bạn không sử dụng bộ tách rời x86 thông thường để tháo rời nhị phân và phân tích đầu ra bằng một Java-Programm. Sau đó bạn có thể đọc mã đã tháo rời trong danh sách các đối tượng đại diện cho các lệnh MOV hoặc CALL; hoặc bạn có thể cố gắng xây dựng một cấu trúc cây cố gắng xác định các phần tử con theo hướng dẫn nhảy. –