• Stars
    star
    213
  • Rank 185,410 (Top 4 %)
  • Language
    C
  • License
    BSD 3-Clause "New...
  • Created almost 12 years ago
  • Updated over 8 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

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 <stdio.h>
#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);
    }
}

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.

More Repositories

1

ssexy

Translate regular Assembly into Extended Instructions
Python
85
star
2

rreat

Reverse Engineer ALL The Things (tm)
C
54
star
3

pyasm2

An easy and powerful assembler engine in python.
Python
52
star
4

vb6tracer

Runtime tracer for the vb6 virtual machine
C
51
star
5

jsunpck

Javascript Unpacker and Simplifier
Python
41
star
6

vtdl

Easiest way to download samples through VirusTotal Intelligence
Python
38
star
7

goatse.mbr

A 512-byte bootloader displaying ASCII Goatse on boot.
Assembly
29
star
8

pyn

Awesome Python bindings for Pintool
C++
24
star
9

godware

Short for Good Ware; it assists Reverse Engineers in the analysis of Windows Malware.
C++
24
star
10

agent

Cuckoo Agent.
Python
23
star
11

readb4write

Pintool to detect Read before Write memory access
C++
21
star
12

cuckoo-salt

SaltStack formula for deploying Cuckoo Sandbox
SaltStack
15
star
13

rc4

Python package for the RC4 algorithm
Python
12
star
14

gdbservrce

Turning an arbitrary GDBserver session into RCE
Python
10
star
15

darmu

Simple ARMv7 emulator on top of Darm
C
10
star
16

fbprivacy

Facebook Stalker
Python
9
star
17

sbi

Static Binary Instrumentation: Rewrite binaries.
Python
9
star
18

readpe

Portable Executable file parser
Python
8
star
19

longcuckoo

Cuckoo Sandbox tailored to feature longterm analysis as well (to be merged upstream!)
Python
7
star
20

vmcloak-deps

Dependency repository for VMCloak.
6
star
21

cyield

Win32 and Linux Implementation of the `yield' (python) keyword in C
C
5
star
22

vmcloak-files

3rd party files for VMCloak.
5
star
23

dotfiles

Dotfiles.
Vim Script
5
star
24

scrapheap

Scrap Heap - Scraping liek a bauz.
4
star
25

darmbi

A lightweight Dynamic ARMv7 Binary Instrumentation framework
C
4
star
26

idascript

IDA Pro Script wrapper
Python
4
star
27

threadctx

Thread Context ALL The Things Proof of Concept
C
3
star
28

thfun

Obfuscation and fun through threads
C
3
star
29

windows

Common DLLs of various Windows Versions
3
star
30

hd

Hexdump library and utility.
Python
2
star
31

pindos

Simple Pintool Denial of Service
C
2
star
32

darm.re

darm.re website
JavaScript
2
star
33

pintool-makefile

Bash makefile for building Pintools on Windows
2
star
34

cuckoo-conf

Default Cuckoo Sandbox configuration.
Python
2
star
35

vboxrpc

VirtualBox RPC Service
Python
2
star
36

trolling

Trolling Tools
C
2
star
37

apachelog

Simplistic Python Library for parsing and handling of Apache Log files
Python
1
star
38

cuckoo-releases

Tracks the changes in each alpha/beta/stable Cuckoo Sandbox release.
JavaScript
1
star
39

zecart

Efficient & customizable Tracing framework on top of Pin.
C++
1
star
40

hitbkul

Challenges for Hack in the Box 2012 Kuala Lumpur CTF
C
1
star
41

horsempdc

Horse MPDC
Python
1
star
42

virtualbox

Unofficial VirtualBox mirror.
C
1
star
43

dast

Parsing and Building Data Structures in Python
Python
1
star
44

triegen

Trie Code Generator for Fast Lookup
Python
1
star