# **XrefXpert** πŸ› οΈ **An advanced cross-reference navigation tool for IDA Pro.** ## **Overview** XrefXpert is a powerful IDA Pro plugin that enhances cross-reference (xref) navigation by providing a **dockable window** displaying all references to a function. It allows quick navigation between xrefs and **auto-syncs** with the pseudocode window for efficient reverse engineering. βœ… **Instantly list cross-references (xrefs) to a function** βœ… **Click an xref to open it in the pseudocode window** βœ… **Use hotkeys (`Shift+X`) to jump between xrefs** βœ… **Auto-scrolls and highlights the current xref** βœ… **Docked to the right of the pseudocode window for quick access** image πŸ“œ Filter Down βœ… **Filter on Immediate Values** βœ… **Filter on Parameter Counts** βœ… **Filter on Binary Signatures** image --- ## **Installation** πŸ“¦ ### **Requirements** - **IDA Pro 9.0+** - **Python 3.x** (Bundled with IDA Pro) - **Hex-Rays Decompiler** (for pseudocode integration) ### **Steps to Install** 1. **Download the XrefXpert plugin** - Clone the repository: ```sh git clone https://github.com/yourusername/XrefXpert.git ``` - Or download the **xrefxpert.py** file manually. 2. **Move the file to IDA's plugin folder** - **Windows:** `C:\Program Files\IDA\plugins\` - **Linux/macOS:** `~/.idapro/plugins/` 3. **Restart IDA Pro** - The plugin will be available in the **Edit β†’ Plugins** menu. - Or use the **hotkey** `Ctrl+Shift+X` to open it instantly. --- ## **Usage** πŸš€ ### **Opening XrefXpert** - **Use the menu:** `Edit β†’ Plugins β†’ XrefXpert` - **Press** `Ctrl+Shift+X` to open the XrefXpert window instantly. ### **Navigating Xrefs** 1. **Select a function** in IDA. 2. **XrefXpert automatically lists all xrefs** to that function. 3. **Click** on an xref to navigate to it in the disassembly or pseudocode view. 4. **Use `Shift+X`** to jump to the next xref automatically. ### **Window Docking** - **Auto-docks to the right** of the **pseudocode window** for easy analysis. - You can **drag and reposition it** in IDA’s UI if needed. --- ## **Features** πŸ”₯ | Feature | Description | |-----------------------------|-------------| | πŸ” **Cross-Reference List** | Displays all xrefs to the currently selected function. | | ⚑ **Hotkey Navigation** | `Shift+X` quickly jumps between xrefs. | | πŸ–±οΈ **Clickable Entries** | Click an xref to open it in IDA’s pseudocode window. | | πŸ“œ **Auto-Expanding Columns** | Ensures function signatures are fully visible. | | 🎨 **Highlighting** | The currently viewed xref is highlighted in **dark orange**. | | πŸ—οΈ **Auto-Docking** | XrefXpert docks **to the right** of the pseudocode window. | --- ## **Supported IDA Pro Features** βœ… βœ” **Works with IDA 9.0+** βœ” **Supports Hex-Rays pseudocode navigation** βœ” **Compatible with both 32-bit and 64-bit binaries** βœ” **Does not modify IDA’s database (safe to use)** --- ## **Troubleshooting** ⚠️ ### **XrefXpert doesn’t open?** - Ensure you are using **IDA Pro 9.0+**. - Verify that **xrefxpert.py** is inside the correct **plugins** folder. - Restart IDA Pro and check **Edit β†’ Plugins β†’ XrefXpert**. - Try running this in IDA’s Python console: ```python import idaapi idaapi.load_plugin("xrefxpert")