Plugin menu location
Access xAnalyzer through two locations:- Main menu: Plugins > xAnalyzer
- Disassembly context menu: Right-click in disassembly window > Plugins > xAnalyzer
Analysis menu options
Analyze Selection
Performs fast analysis on selected instructions in the disassembly window. Menu path: Plugins > xAnalyzer > Analyze Selection Requirements- One or more instructions must be selected in the disassembly window
- Selected instructions must be within executable code sections
- Analyzes API calls within the selection
- Adds function argument comments
- Annotates data types and definitions
- Processes multiple function calls if present
xanal selection
Analyze Function
Analyzes the complete function containing the current instruction. Menu path: Plugins > xAnalyzer > Analyze Function Requirements- Cursor must be positioned within a function
- Function boundaries must be detectable (prolog/epilog)
- Automatically detects function boundaries
- Processes all instructions from prolog to return
- Detects loops within function scope
- Identifies indirect function calls
- Annotates all API calls with argument information
xanal function
Function detection relies on standard prologs and return statements. Functions with non-standard patterns may require manual selection.
Analyze Module
Executes comprehensive analysis across the entire loaded module. Menu path: Plugins > xAnalyzer > Analyze Module Requirements- A module must be loaded in x64dbg
- Sufficient memory for analysis data storage
- Processes all code sections in the module
- Respects the Extended Analysis configuration option
- Shows progress indicators in the log window
- May take significant time for large executables
xanal module
Configuration impact
- Extended Analysis ON: Deep analysis of all sections (higher resource usage)
- Extended Analysis OFF: Standard analysis of executable sections
Removal menu options
Remove Analysis from Selection
Clears analysis data from selected instructions. Menu path: Plugins > xAnalyzer > Remove Analysis from Selection Requirements- Instructions must be selected in the disassembly window
- Removes automatic comments added by xAnalyzer
- Clears function argument labels
- Removes data type annotations
- Preserves user-added comments (depending on configuration)
xanalremove selection
Remove Analysis from Function
Clears analysis data from the entire function. Menu path: Plugins > xAnalyzer > Remove Analysis from Function Requirements- Cursor must be within a function
- Detects function boundaries
- Removes all xAnalyzer annotations from the function
- Preserves manual annotations based on configuration
xanalremove function
Remove Analysis from Module
Clears all analysis data from the loaded module. Menu path: Plugins > xAnalyzer > Remove Analysis from Module Requirements- A module must be loaded
- Removes all xAnalyzer-generated annotations
- Clears automatic comments and labels throughout the module
- Respects configuration options for preserving manual comments
xanalremove module
Configuration menu options
Automatic Analysis
Enables or disables automatic analysis when the debugger reaches the entry point. Menu path: Plugins > xAnalyzer > Automatic Analysis Type: Checkbox option (toggle on/off) Default: OFF Behavior- ON: Automatically launches full module analysis when reaching entry point
- OFF: Manual analysis trigger required
Automatic analysis is skipped if a backup database file exists for the executable.
Extended Analysis
Controls the depth of analysis performed during module analysis. Menu path: Plugins > xAnalyzer > Extended Analysis Type: Checkbox option (toggle on/off) Default: OFF Behavior- ON: Performs deep analysis across entire code section
- OFF: Standard analysis of executable sections only
- Extended analysis increases processing time significantly
- Memory usage may be substantially higher
- More comprehensive results, especially for complex executables
Analyze Undefined Functions
Enables analysis of functions not present in API definition files. Menu path: Plugins > xAnalyzer > Analyze Undefined Functions Type: Checkbox option (toggle on/off) Default: OFF Behavior- ON: Uses generic analysis for undefined functions
- OFF: Only analyzes functions present in definition files
- Functions not in API definition files
- Register-based calls:
CALL {REGISTER} - Displacement calls:
CALL {REGISTER + DISPLACEMENT} - Dynamic pointer calls:
CALL {DYNAMIC_POINTER}
Smart Function Tracking
Enables intelligent tracking of indirect function calls. Menu path: Plugins > xAnalyzer > Smart Function Tracking Type: Checkbox option (toggle on/off) Default: ON (since version 2.5.0) Behavior- Tracks function pointers through registers
- Follows indirect call chains
- Resolves dynamic function calls when possible
- Labels function pointers with their resolved names
CALL [REGISTER]CALL [POINTER]CALL [DYNAMIC_MEMORY]- Multiple jump indirections before API calls
Clear Automatic Comments
Controls whether automatic comments are cleared before new analysis. Menu path: Plugins > xAnalyzer > Clear Automatic Comments Type: Checkbox option (toggle on/off) Default: ON Behavior- ON: Removes automatic comments before re-analyzing
- OFF: Preserves existing automatic comments
Clear Automatic Labels
Controls whether automatic labels are cleared before new analysis. Menu path: Plugins > xAnalyzer > Clear Automatic Labels Type: Checkbox option (toggle on/off) Default: ON Behavior- ON: Removes automatic labels before re-analyzing
- OFF: Preserves existing automatic labels
Clear User Comments
Controls whether user-added comments are cleared during analysis removal. Menu path: Plugins > xAnalyzer > Clear User Comments Type: Checkbox option (toggle on/off) Default: OFF Behavior- ON: Removes user comments during cleanup operations
- OFF: Preserves manually added comments
Clear User Labels
Controls whether user-added labels are cleared during analysis removal. Menu path: Plugins > xAnalyzer > Clear User Labels Type: Checkbox option (toggle on/off) Default: OFF Behavior- ON: Removes user labels during cleanup operations
- OFF: Preserves manually added labels
Help menu option
About
Displays plugin version and author information. Menu path: Plugins > xAnalyzer > About Information shown- Plugin name and version number
- Author information
- Links to documentation and repository
- License information
Menu enum reference
For developers and advanced users, the menu options are defined inplugin.h with the following enumeration:
Workflow recommendations
Initial analysis workflow
- Load executable in x64dbg
- Configure desired options (Extended Analysis, Analyze Undefined Functions)
- Use Analyze Module for comprehensive initial analysis
- Fine-tune with Analyze Function or Analyze Selection as needed
Iterative analysis workflow
- Enable Clear Automatic Comments and Clear Automatic Labels
- Disable Clear User Comments and Clear User Labels
- Use Remove Analysis from Module before re-analyzing
- Adjust configuration options
- Re-run Analyze Module
Focused analysis workflow
- Navigate to specific function of interest
- Use Analyze Function for targeted analysis
- Adjust analysis with Analyze Selection for specific blocks
- Use removal options to clear and re-analyze as needed
Related resources
- Command reference - CLI command equivalents
- Configuration options - Detailed configuration guide
- Usage workflows - Practical usage examples
