whatisgithub

What is hddtools?

grimdoomer/hddtools — explained in plain English

Analysis updated 2026-05-18

55PythonAudience · researcherComplexity · 4/5Setup · hard

In one sentence

A collection of Python scripts and IDA loaders for reverse engineering hard drive and SSD firmware.

Mindmap

mindmap
  root((HDDTools))
    What it does
      Analyze HDD SSD firmware
      Reverse engineering scripts
      IDA loader support
    Tech stack
      Python
      IDA Pro
    Parts
      IDA loader scripts
      Utility scripts
      Documentation wiki
    Use cases
      Load firmware into IDA
      Unpack and decrypt firmware
      Study drive commands
    Audience
      Security researchers
      Firmware engineers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Load Western Digital hard drive firmware images into IDA for analysis.

USE CASE 2

Unpack or decrypt firmware files from various HDD and SSD models using utility scripts.

USE CASE 3

Study documented firmware commands and internals via the project's wiki.

What is it built with?

PythonIDA Pro

How does it compare?

grimdoomer/hddtoolsbhartiyashesh/purelymailcalendarequality-machine/claude-p
Stars555555
LanguagePythonPythonPython
Setup difficultyhardmoderateeasy
Complexity4/54/53/5
Audienceresearchergeneraldeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Requires a licensed copy of IDA Pro (tested with version 9.0) and familiarity with reverse engineering workflows.

So what is it?

HDDTools is a collection of Python scripts for analyzing the internal firmware of hard drives and solid state drives from different manufacturers. Firmware is the low-level software built into a storage device that controls how it operates, and this project is aimed at people who want to look inside that firmware and understand how it works, typically for reverse engineering purposes. The repository also links to a wiki that documents internal workings, commands, and other technical details useful for that kind of research. There are two main parts to the project. The first is a set of loader scripts for IDA, a popular disassembler and reverse engineering tool, which help load firmware images into IDA so they can be examined and analyzed there. Right now, the README confirms support for Western Digital hard drives that use the Marvell or ROYL chip family, noting that other drives may work too but have not been confirmed. These loader scripts have been tested with IDA version 9.0. Installing them means copying the contents of the IDA folder into your IDA installation directory, merging folders if prompted, and then copying a specific folder into IDA's loaders directory. Once installed, opening a supported firmware image in IDA should show the matching loader available for use. The second part is a set of utility scripts that can unpack, decrypt, or display information from firmware files across various HDD and SSD types. The README points to the project's wiki for the full list of these utility scripts and instructions on how to use each one, rather than listing them directly in the README itself. This project would be useful to security researchers, firmware engineers, or hobbyists interested in understanding how storage device firmware is structured, particularly those already familiar with IDA and reverse engineering workflows. No software license is mentioned in the README.

Copy-paste prompts

Prompt 1
Walk me through installing the IDA loader scripts from this project.
Prompt 2
Explain what the utility scripts in this repository are used for.
Prompt 3
Which drive manufacturers and models does this project currently support?
Prompt 4
Help me understand how firmware reverse engineering works using this toolkit.

Frequently asked questions

What is hddtools?

A collection of Python scripts and IDA loaders for reverse engineering hard drive and SSD firmware.

What language is hddtools written in?

Mainly Python. The stack also includes Python, IDA Pro.

How hard is hddtools to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is hddtools for?

Mainly researcher.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.