# HexRaysPyTools

> IDAPython plugin for IDA Pro's Hex-Rays decompiler that helps rebuild structures and classes from pseudocode. Its structure builder collects the fields a variable accesses within one function or, with deep scan, across the functions it is passed to, marks virtual tables, resolves conflicting fields and finalizes a C declaration applied to every scanned variable; a Classes view edits classes and their virtual functions, and a graph shows how local types relate. Pseudocode helpers recast and rename across assignments and calls, propagate names, rewrite out-of-bounds pointers as CONTAINING_RECORD for a containing structure, edit function signatures, rename functions from assert strings and untangle if statements.

- Type: Tool
- Targets: Binary
- Category: Native analysis tools
- Relationship: Foundation tool
- Sources reviewed: 2026-10-20
- Added to the catalog: 2026-11-02
- Original resource: <https://github.com/igogo-x86/HexRaysPyTools>
- Primary source: <https://github.com/igogo-x86/HexRaysPyTools/blob/b8ebf757a92fda934c35c418fc55bfdd6fc8e67c/readme.md>
- Catalog page: <https://awesomerea.org/resources/hexrayspytools/>
- Record JSON: <https://awesomerea.org/resources/hexrayspytools/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/hexrayspytools/index.md)

## Requirements & limits

- No commits since 2020-02-15 and no releases; the tags ida_6_8 and ida_7_2 mark older code. The README states support for IDA Pro 7.x with Python 2 or 3 and says nothing about later IDA releases; it notes that IDA 7.4 added an official implementation of its structure cross-references (Shift+X), describes Guessing Allocation as a very raw feature and marks its API as under construction.
- Needs IDA Pro with the Hex-Rays decompiler. Installation copies HexRaysPyTools.py and the HexRaysPyTools directory into IDA's plugins folder; settings live in IDADIR\cfg\HexRaysPyTools.cfg, and by default the cross-references collected during decompilation are stored in the database (store_xrefs). It works on the analyst's own IDA databases and type libraries.
- The repository has no license file and GitHub detects no license, so it grants no explicit reuse terms.

## Primary sources

1. <https://github.com/igogo-x86/HexRaysPyTools/blob/b8ebf757a92fda934c35c418fc55bfdd6fc8e67c/readme.md>
2. <https://github.com/igogo-x86/HexRaysPyTools/blob/b8ebf757a92fda934c35c418fc55bfdd6fc8e67c/HexRaysPyTools/settings.py#L11>
3. <https://github.com/igogo-x86/HexRaysPyTools/tree/b8ebf757a92fda934c35c418fc55bfdd6fc8e67c/HexRaysPyTools>
4. <https://github.com/igogo-x86/HexRaysPyTools/wiki/History/a83ae2746d63e55aa215ffb595642163101d5003>

## More in Native binaries

- [CAPE Sandbox (CAPEv2)](https://awesomerea.org/resources/capev2/index.md) · Tool
- [LuaDec](https://awesomerea.org/resources/luadec/index.md) · Tool
- [xpcspy](https://awesomerea.org/resources/xpcspy/index.md) · Tool
- [de4py](https://awesomerea.org/resources/de4py/index.md) · Tool
- [Dwarf](https://awesomerea.org/resources/dwarf-debugger/index.md) · Tool
- [bddisasm](https://awesomerea.org/resources/bddisasm/index.md) · Tool

## 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.
