# IOReport: investigating and decompiling Apple’s reporting library

> IOReport decompile investigates Apple’s IOReport dylib, which provides calls for reading system reports and counters. The author describes disassembling powermetrics to understand its use of IOReport and provides an incomplete Objective-C reconstruction with a Makefile-built test program.

- Type: Case study
- Targets: Binary
- Category: Independent reconstruction cases
- Relationship: Independent reconstruction project
- Sources reviewed: 2026-11-07
- Added to the catalog: 2026-11-09
- Original resource: <https://github.com/dehydratedpotato/IOReport_decompile>
- Primary source: <https://github.com/dehydratedpotato/IOReport_decompile/blob/9bcf1a81dcabcd8795f741d2c1e366809a467028/README.md>
- Catalog page: <https://awesomerea.org/resources/ioreport-decompile-case/>
- Record JSON: <https://awesomerea.org/resources/ioreport-decompile-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/ioreport-decompile-case/index.md)

## Requirements & limits

- **Prerequisites:** The test build uses clang with the CoreFoundation, Foundation and IOKit frameworks.
- **Limits:** The IOReport dylib reconstruction remains incomplete.
- **License:** No licence file in the repository.

## Primary sources

1. <https://github.com/dehydratedpotato/IOReport_decompile/blob/9bcf1a81dcabcd8795f741d2c1e366809a467028/README.md>
2. <https://github.com/dehydratedpotato/IOReport_decompile/blob/9bcf1a81dcabcd8795f741d2c1e366809a467028/Makefile>

## More in Native binaries

- [dargh: reconstructing Dynamic Animation Replacer for Skyrim](https://awesomerea.org/resources/dargh-case/index.md) · Case study
- [ndec-re: reconstructing an MS-DOS encryption program](https://awesomerea.org/resources/ndec-re-case/index.md) · Case study
- [re-sysinternals-suite: rebuilding Sysinternals strings.exe](https://awesomerea.org/resources/re-sysinternals-strings-case/index.md) · Case study
- [ExCrypt: reconstructing Xbox 360 XeCrypt functions](https://awesomerea.org/resources/excrypt-case/index.md) · Case study
- [L1J-Encode-CLI: reconstructed Lineage 1 ServerData codec](https://awesomerea.org/resources/l1j-encode-cli-case/index.md) · Case study
- [Wirenet Reverse Engineering: analysing a Linux trojan](https://awesomerea.org/resources/wirenet-analysis-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.
