mjhouse / deaf

A library for inspecting/modifying ELF binaries
GNU General Public License v3.0
7 stars 0 forks source link

Select disassembler crate(s) for integration #15

Closed mjhouse closed 1 year ago

mjhouse commented 1 year ago

At some point, this library will include the ability to modify function assembly programmatically. To do this, I'll need to be able to disassemble the assembly, expose instructions somehow, and reassemble for multiple architectures. If no good disassembler can be found that handles all architectures, I'll need to piece together a solution or write my own (a huge task).

This issue is for collecting crates that disassemble:

Name Architecture Notes Url
iced x86 64/32 Fantastic crate, but only for x86 link
bad64 Arm 64 Wrapper, lightly supported link

(I'll add more as I find them)

mjhouse commented 1 year ago

I've decided that since-

  1. This is a learning project anyway (no due dates, no deadlines)
  2. There's no great, pure, safe Rust ARM disassembly crates that I've found
  3. I have different goals (read AND write instructions programmatically)

I'm going to write my own disassembler for x86 and then extend it to include support for ARM/ARM64.