MCPcopy Create free account
hub / github.com/Benjamin-Dobell/Heimdall

github.com/Benjamin-Dobell/Heimdall @v1.4.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.4.2 ↗ · + Follow
386 symbols 616 edges 75 files 2 documented · 1% updated 23mo ago★ 3,068229 open issues

Browse by type

Functions 326 Types & classes 60
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Heimdall

Heimdall is a cross-platform open-source tool suite used to flash firmware (aka ROMs) onto Samsung mobile devices.

Supported Platforms

Officially, AMD64/x86-64 (64-bit) or x86 (32-bit) computers running:

  • Linux
  • macOS
  • Windows (XP, Vista, 7 etc.)

However, several third-parties have reported success running Heimdall on ARM chipsets (in particular Raspberry Pi), as well as additional operating systems such as FreeBSD.

How does Heimdall work?

Heimdall connects to a mobile device over USB and interacts with low-level software running on device, known as Loke. Loke and Heimdall communicate via the custom Samsung-developed protocol typically referred to as the 'Odin 3 protocol'.

USB communication in Heimdall is handled by the popular open-source USB library, libusb.

Free & Open Source

Heimdall is both free and open source. It is licensed under the MIT license (see LICENSE).

Heimdall is maintained and predominantly developed by Glass Echidna, a tiny independent software development company. If you appreciate our work and would like to support future development please consider making a donation.

Documentation

For more details about how to compile and install Heimdall please refer to the appropriate platform specific README:

Linux

OS X

Windows

Core symbols most depended-on inside this repo

Shape

Method 308
Class 58
Function 18
Enum 2

Languages

C++99%
C1%

Modules by API surface

heimdall-frontend/source/mainwindow.cpp59 symbols
libpit/source/libpit.h42 symbols
heimdall/source/BridgeManager.cpp22 symbols
heimdall-frontend/source/FirmwareInfo.h21 symbols
heimdall/source/FlashAction.cpp14 symbols
heimdall/source/Interface.cpp13 symbols
heimdall/source/Arguments.h13 symbols
heimdall/source/BridgeManager.h11 symbols
libpit/source/libpit.cpp10 symbols
heimdall-frontend/source/FirmwareInfo.cpp8 symbols
heimdall/source/EndFileTransferPacket.h7 symbols
heimdall/source/InboundPacket.h6 symbols

For agents

$ claude mcp add Heimdall \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page