All Projects → galli-leo → emmutaler

galli-leo / emmutaler

Licence: other
A set of tools for fuzzing SecureROM. Managed to find and trigger checkm8.

Programming Languages

go
31211 projects - #10 most used programming language
python
139335 projects - #7 most used programming language
c
50402 projects - #5 most used programming language
Meson
512 projects
shell
77523 projects
C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to emmutaler

rust-verification-tools
RVT is a collection of tools/libraries to support both static and dynamic verification of Rust programs.
Stars: ✭ 237 (+88.1%)
Mutual labels:  fuzzing
sandsifter
The x86 processor fuzzer
Stars: ✭ 21 (-83.33%)
Mutual labels:  fuzzing
Kirenenko
Super Fast Concolic Execution Engine based on Source Code Taint Tracing
Stars: ✭ 84 (-33.33%)
Mutual labels:  fuzzing
LuckyCAT
A distributed fuzzing management framework
Stars: ✭ 55 (-56.35%)
Mutual labels:  fuzzing
fuzza
Customizable TCP fuzzing tool to test for remote buffer overflows.
Stars: ✭ 29 (-76.98%)
Mutual labels:  fuzzing
fuzzuf
Fuzzing Unification Framework
Stars: ✭ 263 (+108.73%)
Mutual labels:  fuzzing
doona
Network based protocol fuzzer
Stars: ✭ 64 (-49.21%)
Mutual labels:  fuzzing
go-sqlancer
go-sqlancer
Stars: ✭ 61 (-51.59%)
Mutual labels:  fuzzing
katnip
Extension library for the Kitty fuzzing framework
Stars: ✭ 73 (-42.06%)
Mutual labels:  fuzzing
FuSeBMC
FuSeBMC is a novel Energy-Efficient Test Generator that exploits fuzzing and BMC engines to detect security vulnerabilities in real-world C programs.
Stars: ✭ 26 (-79.37%)
Mutual labels:  fuzzing
evine
Interactive CLI Web Crawler
Stars: ✭ 140 (+11.11%)
Mutual labels:  fuzzing
dizzy-legacy
Network and USB protocol fuzzing toolkit.
Stars: ✭ 35 (-72.22%)
Mutual labels:  fuzzing
healer
Kernel fuzzer inspired by Syzkaller.
Stars: ✭ 194 (+53.97%)
Mutual labels:  fuzzing
microgp4
A multi-purpose extensible self-adaptive evolutionary tool
Stars: ✭ 21 (-83.33%)
Mutual labels:  fuzzing
fuzzing-tutorial
Curated list of classic fuzzing books, papers about fuzzing at information security top conferences over the years, commonly used fuzzing tools, and resources that can help us use fuzzer easily.
Stars: ✭ 74 (-41.27%)
Mutual labels:  fuzzing
lagopus
Distributed fuzzing platform
Stars: ✭ 28 (-77.78%)
Mutual labels:  fuzzing
leaky-paths
A collection of special paths linked to major web CVEs, known misconfigurations, juicy APIs ..etc. It could be used as a part of web content discovery, to scan passively for high-quality endpoints and quick-wins.
Stars: ✭ 507 (+302.38%)
Mutual labels:  fuzzing
pyradamsa
Python bindings for calling radamsa mutators
Stars: ✭ 16 (-87.3%)
Mutual labels:  fuzzing
ML4Sec-papers
Research papers on ML for security
Stars: ✭ 27 (-78.57%)
Mutual labels:  fuzzing
ida-iboot-loader
IDA loader for Apple's 64 bits iBoot, SecureROM and AVPBooter
Stars: ✭ 62 (-50.79%)
Mutual labels:  checkm8

emmutaler

A set of tools to enable fuzzing of the iPhone boot loader (and much more). This was developed for my thesis. For some more information of how certain parts of this work, see my thesis.

I plan on sharing my *.idb for the different SecureROMs sometime soon. Need to first figure out whats the best way to do that :)

I also need to figure out a License for this (not sure if I am using anything that requires me to have a restrictive license). If you need to use it urgently and are concerned about the license, let me know :)

Disclaimer: Everything is as is and will almost certainly not work out of the box. You will have to change quite a few things to make it run locally.

Directory Layout

The following is very incomplete, but it should give you an idea on what to look for where.

go/

Contains the go part of this project. The go part contains the binary patcher, IMG4 generation and other things such as generating various files for the compilation of the final binary.

It also contains commands to make it easier to run IDA from build scripts.

python/

Contains the python part of this project. Almost all python things are used inside IDA.

python/scripts/

Contains various scripts that are ran inside IDA.

  • coverage.py: Loads coverage into lighthouse, then creates tikz graphs and latex tables. Beware this is ugly
  • emmu_loader.py: A SecureROM loader for IDA that works more nicely than what I could find before. Requires the go part of this project however to be ran against the SecureROM beforehand.
  • symbolicate.py: Exports symbols from IDA into a format that the go part can understand. We can then use these symbols from our C code.

python/emmutaler/

The python package contain a lot of code used by the scripts.

src/

Contains the C code that builds to the main binary that will be fuzzed. Lots of sorcery going on here :)

src/heap/

Contains the custom heap implementation, FETA.

src/usb/

Contains a bunch of the USB stuff used for fuzzing USB messages.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].