Ragnaroek is a tool for interacting with the bootloaders of Samsung devices.
It's meant to serve as a hackable platform for research into various Samsung bootloader protocols, as well as a replacement for the semi-maintained Heimdall flash tool.
In addition to Heimdall's features, this project also strives to support more obscure use cases. These include dumping memory via upload mode or flashing Samsung smartwatches via wireless download mode.
Ragnaroek was started at spline late one night after a multi-hour long futile attempt to hack wireless download mode support into Heimdall.
Some older devices (Galaxy S3, S5) have working flashing. Some newer devices (e.g. Galaxy A40) have working protocol initialization, but not flashing. Yet others (such as some of the Intel-based Samsung tablets) don't even have that.
Testing of new devices is always appreciated! Just remember that bricking is always a possibility.
Attention: Currently the GUI and flashing via USB instead of Wifi is not supported.
The CLI's arguments may change frequently, as it's under very active development. Therefore, they're not documented in this README. Instead, look at the tool's help output:
cargo run --bin ragnaroek-cli -- --help
To start the GUI (experimental, missing major features):
cargo run --bin ragnaroek-gui
cargo build --all-features --release
Test coverage of the codebase is currently quite low. Only the Odin archive and PIT parsers are somewhat covered. A test harness for automatically testing against real devices would be appreciated.
To run the tests:
cargo test --all --all-features