Depthcharge
What is Depthcharge?
Depthcharge is a toolkit designed to support security research and "jailbreaking" of embedded platforms using the U-Boot bootloader. It consists of:
- An extensible Python 3 depthcharge module
- Python scripts built atop of the
depthcharge
module API - Depthcharge "Companion" firmware, which is used to perform attacks requiring a malicious peripheral device.
- Some example "helper" payload binaries and build scripts to get you started with U-Boot "standalone" program-esque payloads.
Project Documention
More information can be found in the online documentation for the Depthcharge project.
If you'd like to build this documentation for offline viewing, You can find the Sphinx-based documentation "source" in the doc directory.
Branches
The Depthcharge source repository contains two primary branches:
main
- The latest release. This corresponds to what is available on PyPinext
- "Bleeding edge" changes scheduled for inclusion in the next release.
At each release, the contents of next are merged to main and tagged accordingly.
Under some circumstances, selected fixes may be merged to main in order publish an interim patch release.
Versioning
Depthcharge uses a Semantic versioning scheme for both the Python API and the Companion Firmware. The version number for published releases will follow that of the Python API version. The CHANGELOG shall document the current version state of both, along with any compatibility information.
Currently, this project uses "unstable" version numbers; API-breaking changes may occur within this minor version series, if deemed to be sufficiently beneficial for the future of the project. Refer to the CHANGELOG for guidance on handling any API changes.
Each published release will have a "codename". This serves no real purpose, other than to amuse the author and add a little fun to preparing releases. (Maybe they'll even be useful to remember!) The codenames are song titles from punk bands, increasing alphabetically with each release.
License
All Depthcharge components are licensed under the BSD 3-Clause License, found in the License.txt file. Project files use the corresponding SPDX Identifier to denote this.
Logo
The Depthcharge logo was created by the incredibly talented Juupiter.