Tool for decompiling *nix ELF programs for binary analysis
Go to file
2023-03-01 01:52:19 -06:00
notes Rework ELF data into structs, break up main.rs 2023-02-05 23:11:57 -06:00
src Finish linear sweep implementation, add polish, update README 2023-03-01 01:51:58 -06:00
testing Finish linear sweep implementation, add polish, update README 2023-03-01 01:51:58 -06:00
.gitignore Initial commit 2023-01-23 20:31:41 -06:00
Cargo.toml Lots of changes 2023-02-28 06:03:24 -06:00
LICENSE Initial commit 2023-01-23 20:31:41 -06:00
README.md Actually update README this time 2023-03-01 01:52:19 -06:00

chisel

chisel is a tool for decompiling *nix ELF programs for binary analysis and reverse engineering. This project is being developed for assignments pertaining to Auburn University's COMP5970 Binary Program Analysis course.

Binary Analysis Technique

chisel uses a linear dissassembly approach for converting the ELF text section into x86 assembly instructions. Future implementations will have more advances analysis techniques such as recursive descent, as well as potential binary patching.

Supported formats

chisel supports binaries compiled to the ELF format from most x86/x64 *nix systems, and does not currently support macOS Mach-O or Windows PE binaries.

Due to an indexing bug, current iterations of chisel do not support 32-bit x86 applications. Only x86-64 is supported.

Building and Installing

To build and install chisel, use the following steps:

$ git clone git@github.com:Gman0064/chisel.git

$ cd chisel && cargo install

Usage

The following format can be used to pass a binary to chisel to analyze. The repository also includes a few binaries in ./testing/ as included examples.

$ chisel [path to ELF executable]