IChooseYou 4c6bb9564f Fix 7 verified bugs: ref invalidation, bounds check, double refresh, dangling pointer, undo bypass, overflow, hash collision
- BUG-1 (HIGH): Replace dangling QVector reference with local copies in applyTypePopupResult
- BUG-2 (MEDIUM): Add missing upper-bound check in EditTarget::Name handler
- BUG-5 (LOW): Remove redundant unconditional refresh() at end of applyTypePopupResult
- BUG-6 (LOW): Use QPointer for m_cachedPopup to auto-null on parent destruction
- BUG-7 (LOW): Rewrite materializeRefChildren to use undo macro (cmd::Insert + cmd::Collapse)
- BUG-8 (LOW): Guard against integer overflow in byteSize() and clamp arrayLen/strLen in fromJson
- BUG-9 (LOW): Use QPair<uint64_t,uint64_t> key in collectPointerRanges visited set
2026-02-15 08:16:52 -07:00
2026-02-15 03:24:12 +01:00
2026-02-13 07:35:43 -07:00
2026-02-13 17:58:27 -07:00

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.

screenshot

State

  • MCP (Model Context Protocol) bridge via ReclassMcpBridge.exe. The server starts by default and can be stopped 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):
    {
      "mcpServers": {
        "ReclassMcpBridge": {
          "command": "path/to/build/ReclassMcpBridge.exe",
          "args": []
        }
      }
    }
    
  • Plugin system is partially implemented. Some UI bugs exist.
  • Vector/Matrix improvements have been made but are not entirely complete.
  • Every edit goes through a full undo/redo system.

Build

  1. Prerequisites
  1. Quick Build (relies on powershell| for manual build skip to step 3)

    git clone --recurse-submodules https://github.com/IChooseYou/Reclass.git cd Reclass .\scripts\build_qscintilla.ps1 .\scripts\build.ps1 ^ script above tries to autodetect Qt install (as we learned not everyone installs to C:/Qt/)

  2. Manual Build

Step by step for peoplewho want to run commands themselves:

  1. Clone with --recurse-submodules (+ fallback git submodule update --init --recursive)
  2. Build QScintilla: qmake + mingw32-make in third_party/qscintilla/src
  3. CMake configure + build with -DCMAKE_PREFIX_PATH
  4. optionallly windeployqt the exe

Alternatives

Description
⚠️ ARCHIVED: Original GitHub repository no longer exists. Preserved as backup on 2026-05-11T01:57:13.340Z
Readme MIT 17 MiB
Languages
C++ 92.7%
CMake 1.8%
C 1.7%
PowerShell 1.3%
Python 1.2%
Other 1.2%