Thanks to visit codestin.com
Credit goes to github.com

Skip to content

matheus-git/binkit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Binkit

rust

A modular toolbox for analyzing, disassembling, and patching binary formats. Currently, binkit supports ELF64 only.

Do not use binkit to modify or inject code into third-party software without permission, as doing so may be illegal and could result in criminal or civil liability. This project is intended for educational, research, and security analysis purposes only.

Usage

Info

binkit info <FILE> --header    
binkit info <FILE> --programs
binkit info <FILE> --sections

Inject

Code injection is performed at the end of the binary, and then one of the program and section headers are modified to point to the injected code. The command returns the address where the code was inserted and a reference to the original entry point or address. A common workflow is to update the file’s entry point with binkit update, then later return to the original entry point. The binkit check-inject command performs a pre-check of which addresses will be used so you can edit or prepare the payload before injection. The modified section will be renamed to .inject. Use --help for more options.

binkit inject <FILE> --inject <BIN_FILE> --output <OUTPUT>

Check Inject

Shows injection address and a relative reference to the return address (defaults to the entry point).

binkit check-inject <FILE>
binkit check-inject <FILE> --return-address <HEX_ADDRESS>

Disassembler

Displays all instructions for the x86_64 architecture (for now) using Intel syntax. You can choose which section to disassemble.

binkit disasm <FILE> --section <SECTION>

Update

Update binary (currently only changes the entry point).

binkit update <FILE> --entry <HEX_ADDRESS> 

Install

Download

Download the binary from Releases

Build

cargo build --release
./target/release/binkit -h

Cargo

cargo install --locked binkit

Updates and Contributing

This is a work-in-progress project, new features will be added over time. If you want to contribute, you can add support for other formats, such as PE or ELF32, or create an issue suggesting a feature you'd like to implement.

📝 License

This project is open-source under the MIT License.

About

A modular toolbox for analyzing, disassembling, and patching binary formats.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages