# blackhack: runblack.exe UI widget decompilation

> blackhack rebuilds the SetupControl UI widget classes of runblack.exe as hand-decompiled C, covering buttons, big and tab buttons, check boxes, lists, sliders, edit fields, colour pickers, pictures and graph widgets, along with parts of Lionhead's lhlib. A Detours launcher checks the executable's md5, injects a DLL and swaps original functions for the rebuilt ones through per-version tables of function and data addresses. It also patches the fullscreen setter so runblack.exe always runs windowed.

- Type: Case study
- Targets: Binary · Game
- Category: Independent reconstruction cases
- Relationship: Independent reconstruction project
- Sources reviewed: 2026-11-09
- Added to the catalog: 2026-11-10
- Original resource: <https://gitlab.com/bwrsandman/blackhack>
- Primary source: <https://gitlab.com/bwrsandman/blackhack/-/blob/d4f2a517f52d174cf5429b304797d01c3221e1b6/README.md>
- Catalog page: <https://awesomerea.org/resources/blackhack-case/>
- Record JSON: <https://awesomerea.org/resources/blackhack-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/blackhack-case/index.md)

## Requirements & limits

- **Prerequisites:** Requires runblack.exe version 1.41 with the no-CD patch (md5 174b1a64e74b2321f3c38ccc8a511e78); other versions need new function and global address tables.
- **Prerequisites:** Builds with CMake 3.14 or later and the Detours library.
- **Limits:** The SetupControl implementation is almost complete.
- **License:** No licence file in the repository.

## Primary sources

1. <https://gitlab.com/bwrsandman/blackhack/-/blob/d4f2a517f52d174cf5429b304797d01c3221e1b6/README.md>
2. <https://gitlab.com/bwrsandman/blackhack/-/blob/d4f2a517f52d174cf5429b304797d01c3221e1b6/launcher.c>
3. <https://gitlab.com/bwrsandman/blackhack/-/blob/d4f2a517f52d174cf5429b304797d01c3221e1b6/Libs/SetupThing/src/SetupButton.cpp>
4. <https://gitlab.com/bwrsandman/blackhack/-/blob/d4f2a517f52d174cf5429b304797d01c3221e1b6/src/Game.h>

## More in Games

- [Blast Corps: Nintendo 64 decompilation](https://awesomerea.org/resources/blastcorps-decomp/index.md) · Case study
- [Blitz_MasterVer22-Decomp: a Splatoon 2 version 3.1.0 decompilation](https://awesomerea.org/resources/splatoon-2-310-decomp-case/index.md) · Case study
- [Blood Omen 2: functional decompilation toward a Switch port](https://awesomerea.org/resources/bloodomen2nx-case/index.md) · Case study
- [Boku Doraemon: Dreamcast executable and model reconstruction](https://awesomerea.org/resources/boku-doraemon-decomp-case/index.md) · Case study
- [Bomberman 64: The Second Attack!: partial N64 decompilation](https://awesomerea.org/resources/bm64tsa-case/index.md) · Case study
- [Boom Street: a Wii decompilation in progress](https://awesomerea.org/resources/boom-street-decomp-case/index.md) · Case study

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
