Need help with darm?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

jbremer
201 Stars 39 Forks BSD 3-Clause "New" or "Revised" License 416 Commits 11 Opened issues

Description

A light-weight and efficient disassembler written in C for the ARMv7 instruction set.

Services available

!
?

Need anything else?

Contributors list

# 21,727
OCaml
vdex
Android
CSS
276 commits
# 439,871
Rails
C
HTML
aws-sqs
3 commits
# 747,462
C
Python
2 commits
# 152,169
Bash
ellipsi...
libusb
TeX
2 commits
# 526,600
C
C++
Shell
paramet...
1 commit
# 225,806
Rust
binary-...
program...
C
1 commit
# 169,096
Bitcoin
C
C++
Shell
1 commit

darm

A light-weight and efficient ARMv7/Thumb/Thumb2 disassembler written in C with Python bindings. VFP/Neon/SIMD (it's all the same) support is upcoming!

Warning: project is no longer maintained, a better alternative might be capstone.

Example code

Using the darm library is fairly straightforward - just call the right function with the right parameter and you're all set. Following is an example of disassembling an ARMv7 instruction in C and printing its string representation to stdout.

#include 
#include "darm.h"

int main() { darm_t d; darm_str_t str;

if(darm_armv7_disasm(&d, 0x42424242) == 0 &&
        darm_str2(&d, &str, 1) == 0) {

    printf("-> %s\n", str.total);
}

} </stdio.h>

And the exact same program, but using the Python bindings.

import darm

print str(darm.disasm_armv7(0x42424242))

License

The darm library is released under the BSD 3-Clause License, also known as BSD Simplified.

Support & Contact

For support and contact, feel free to check out the official Darm website, the IRC channel, #darm at freenode, or you can always reach me on my email: [email protected].

Acknowledgement

(See also the Contributors page on darm.re.)

Many thanks to Valentin Pistol without whom this project would never have seen the light of day.

Thanks to Peter Geissler, Jay Little, Michael Laurenzano, Jonathan Tetteroo, Joshua Drake, and rednovae for contributions, suggestions, additional tests, etc.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.