# **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**
π Filter Down
β
**Filter on Immediate Values**
β
**Filter on Parameter Counts**
β
**Filter on Binary Signatures**
---
## **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")