mirror of
https://github.com/NohamR/Reclass.git
synced 2026-05-10 19:59:21 +00:00
refactor readme
This commit is contained in:
112
README.md
112
README.md
@@ -1,10 +1,42 @@
|
|||||||
This tool helps you inspect raw bytes and interpret them as types (structs, arrays, primitives, pointers, padding) instead of just hex. It is essentially a debugging tool for figuring out unknown data structures either runtime or from some static source.
|
<div align="center">
|
||||||
|
|
||||||

|
# ReclassX
|
||||||
|
|
||||||

|
**A structured binary editor for reverse engineering — inspect raw bytes as typed structs, arrays, and pointers.<p>A complete overhaul of the popular "reclassing" tools**
|
||||||
|
|
||||||

|
[Download](https://github.com/IChooseYou/Reclass/releases) · [Build Instructions](#build) · [MCP Integration](#mcp-integration) · [Alternatives](#alternatives)
|
||||||
|
|
||||||
|
[](https://github.com/IChooseYou/Reclass/actions/workflows/build.yml)
|
||||||
|
[](LICENSE)
|
||||||
|
[](https://github.com/IChooseYou/Reclass/releases)
|
||||||
|
[]()
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
ReclassX helps you inspect raw bytes and interpret them as types (structs, arrays, primitives, pointers, padding) instead of just hex. It is essentially a debugging tool for figuring out unknown data structures — either at runtime from a live process, or from a static source like a binary file or crash dump.
|
||||||
|
|
||||||
|
Built with C++17, Qt 6, and QScintilla. The entire editor surface is rendered as formatted plain text with inline editing, fold markers, and hex/ASCII previews.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- **Structured binary view** — render raw bytes as typed fields (integers, floats, pointers, vectors, matrices, strings, booleans, padding)
|
||||||
|
- **Struct & array nesting** — define nested structs and arrays with collapsible fold regions
|
||||||
|
- **Inline editing** — click to edit type names, field names, values, and base addresses directly in the editor
|
||||||
|
- **Undo/redo** — full undo history for all mutations via command stack
|
||||||
|
- **Split views** — multiple synchronized editor panes over the same document
|
||||||
|
- **Type autocomplete** — popup type picker when changing field kinds
|
||||||
|
- **Hex + ASCII margins** — raw byte previews alongside the structured view
|
||||||
|
- **MCP bridge** — expose all tool functionality to AI clients via Model Context Protocol
|
||||||
|
- **Plugin system** — extend with custom data source providers via DLL plugins; following ship by default
|
||||||
|
- **Process plugin** — access memory of live processes on Windows and Linux
|
||||||
|
- **WinDbg plugin** — access data sources live in WinDbg debugging sessions
|
||||||
|
- **ReClass.NET compatibility layer** — load existing .NET and native ReClass.NET plugins
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Data Sources
|
## Data Sources
|
||||||
|
|
||||||
@@ -12,9 +44,22 @@ This tool helps you inspect raw bytes and interpret them as types (structs, arra
|
|||||||
- **Process** — attach to a live process and read its memory in real time
|
- **Process** — attach to a live process and read its memory in real time
|
||||||
- **WinDbg** — load `.dmp` crash dump files or connect to live debugging sessions
|
- **WinDbg** — load `.dmp` crash dump files or connect to live debugging sessions
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Screenshots
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## MCP Integration
|
## MCP Integration
|
||||||
|
|
||||||
Built-in [Model Context Protocol](https://modelcontextprotocol.io/) bridge via `ReclassMcpBridge`. The server does not start by default and can be toggled from the File menu. It exposes all tool functionality to any MCP-compatible client (e.g. Claude Code) and falls back to UI prompts when the client requests something not yet covered by tools. To connect, add this to your MCP client config (e.g. `.mcp.json`):
|
Built-in [Model Context Protocol](https://modelcontextprotocol.io/) bridge via `ReclassMcpBridge`. The server does not start by default and can be toggled from the File menu. It exposes all tool functionality to any MCP-compatible client (e.g. Claude Code) and falls back to UI prompts when the client requests something not yet covered by tools. To connect, add this to your MCP client config (e.g. `.mcp.json`):
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"mcpServers": {
|
"mcpServers": {
|
||||||
@@ -25,31 +70,54 @@ Built-in [Model Context Protocol](https://modelcontextprotocol.io/) bridge via `
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Build
|
## Build
|
||||||
|
|
||||||
1. Prerequisites
|
### Prerequisites
|
||||||
|
|
||||||
- Qt 6 with MinGW - Qt Online Installer https://doc.qt.io/qt-6/qt-online-installation.html , note to select MinGW kit + CMake/Ninja from Tools section (online installers index: https://download.qt.io/official_releases/online_installers/)
|
- **Qt 6** with MinGW — [Qt Online Installer](https://doc.qt.io/qt-6/qt-online-installation.html) (select MinGW kit + CMake/Ninja from the Tools section)
|
||||||
- CMake 3.20+ - https://cmake.org/download/ - bundled with Qt
|
- **CMake 3.20+** — [cmake.org](https://cmake.org/download/) (bundled with Qt)
|
||||||
- windeployqt docs - https://doc.qt.io/qt-6/windows-deployment.html
|
- **Ninja** — bundled with the Qt installer
|
||||||
|
|
||||||
2. Quick Build (relies on powershell| for manual build skip to step 3)
|
### Quick Build
|
||||||
|
|
||||||
git clone --recurse-submodules https://github.com/IChooseYou/Reclass.git
|
```bash
|
||||||
cd Reclass
|
git clone --recurse-submodules https://github.com/IChooseYou/Reclass.git
|
||||||
.\scripts\build_qscintilla.ps1
|
cd Reclass
|
||||||
.\scripts\build.ps1
|
.\scripts\build_qscintilla.ps1
|
||||||
^ script above tries to autodetect Qt install (as we learned not everyone installs to C:/Qt/)
|
.\scripts\build.ps1
|
||||||
|
```
|
||||||
|
|
||||||
3. Manual Build
|
The build script auto-detects your Qt install location.
|
||||||
|
|
||||||
Step by step for peoplewho want to run commands themselves:
|
### Manual Build
|
||||||
1. Clone with --recurse-submodules (+ fallback git submodule update --init --recursive)
|
|
||||||
2. Build QScintilla: qmake + mingw32-make in third_party/qscintilla/src
|
1. Clone with `--recurse-submodules` (or run `git submodule update --init --recursive` after cloning)
|
||||||
3. CMake configure + build with -DCMAKE_PREFIX_PATH
|
2. Build QScintilla: `qmake` + `mingw32-make` in `third_party/qscintilla/src`
|
||||||
4. optionallly windeployqt the exe
|
3. Configure and build:
|
||||||
|
```bash
|
||||||
|
cmake -B build -G Ninja -DCMAKE_PREFIX_PATH=/path/to/Qt/6.x.x/mingw_64
|
||||||
|
cmake --build build
|
||||||
|
```
|
||||||
|
4. Optionally run `windeployqt` on the output executable
|
||||||
|
|
||||||
|
### Running Tests
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ctest --test-dir build --output-on-failure
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Alternatives
|
## Alternatives
|
||||||
|
|
||||||
- ReClass.NET (reclass.net) - https://github.com/ReClassNET/ReClass.NET
|
- [ReClass.NET](https://github.com/ReClassNET/ReClass.NET)
|
||||||
- ReClassEx - https://github.com/ajkhoury/ReClassEx
|
- [ReClassEx](https://github.com/ajkhoury/ReClassEx)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<div align="center">
|
||||||
|
<sub>MIT License</sub>
|
||||||
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user