Overview
The Analyze Module feature performs a complete, comprehensive analysis over the entire module currently being debugged. This is the most thorough analysis mode in xAnalyzer and provides the closest experience to OllyDbg’s initial analysis behavior in x64dbg.How to Analyze a Module
There are three ways to perform module analysis:Method 1: Using the Context Menu
Select any instruction
Click on any instruction in the disassembly window within the module you want to analyze.
Method 2: Using the Command
Execute the module analysis command in the x64dbg command line:Method 3: Using Hotkeys
Method 4: Automatic Analysis
Enable the Automatic Analysis option to run module analysis automatically when the debugger reaches the entry point:Analysis Modes
Module analysis offers two modes that affect the depth and scope of analysis:Regular Analysis (Default)
Analyzes the main executable code sections with optimal performance:- Processes the primary code section
- Detects all API function calls
- Identifies loop structures
- Analyzes defined functions from API definition files
- Fast completion time
- Moderate memory usage
Extended Analysis
Provides deeper analysis across the entire code section:- Analyzes all code sections, not just the main section
- More comprehensive coverage
- Detects additional function calls and patterns
- Significantly longer processing time
- Higher memory consumption
What Gets Analyzed
Module analysis provides complete coverage of:API Function Calls
- Over 13,000 API definitions from nearly 200 DLLs
- Complete function prototypes and signatures
- All function arguments with names and data types
- Return value information
- Calling conventions
Loop Structures
- Automatic detection of all loops in the module
- Loop entry and exit points labeled
- Nested loop recognition
- Loop depth analysis
VB DllFunctionCall Stubs
- Detection of Visual Basic “DllFunctionCall” stub patterns
- Proper labeling of VB-specific code structures
Function Tracking
- Smart prediction of indirect calls
- Recognition of function pointers
- Tracking of dynamic function calls
- Call chain analysis
Data Type Recognition
- Constants and enums (1000+ enum types, 800+ flags)
- Flags and bit field analysis
- String arguments cleaned and formatted
- Numeric and non-numeric parameter types
Progress Indicator
During module analysis, xAnalyzer displays a progress indicator showing:- Current progress percentage
- Number of instructions processed
- Estimated time remaining (for larger modules)
You can continue using x64dbg during analysis, but the interface may be less responsive with very large modules. It’s recommended to wait for analysis to complete before debugging.
Execution Summary
After module analysis completes, xAnalyzer logs a detailed execution summary in the x64dbg Log window:Configuration Impact
Module analysis behavior is affected by these configuration options: Automatic Analysis: When enabled, analysis runs automatically at the entry point. Extended Analysis: Controls whether to analyze only the main code section or all code sections. Analyze Undefined Functions: Determines if undefined/undocumented functions should be analyzed with generic parameters. Track Undefined Functions: Enables smart tracking for indirect function calls. Clear Auto Comments/Labels: Controls whether previous analysis data is cleared before new analysis.Configuration Options
Learn more about all xAnalyzer configuration settings
Performance Considerations
Small executables (< 1 MB)
Small executables (< 1 MB)
Module analysis typically completes in seconds. Extended Analysis can be safely used.
Medium executables (1-10 MB)
Medium executables (1-10 MB)
Regular analysis takes 10-30 seconds. Extended Analysis may take 1-2 minutes and use several hundred MB of RAM.
Large executables (> 10 MB)
Large executables (> 10 MB)
Regular analysis may take 1-5 minutes. Extended Analysis can take 5-15 minutes or more and may use GB of RAM. Consider using function or selection analysis instead.
Very large executables (> 50 MB)
Very large executables (> 50 MB)
Full module analysis may not be practical. Use Analyze Function or Analyze Selection for targeted analysis of specific areas of interest.
Best Practices
Start with regular analysis
Run module analysis without Extended Analysis first to see if it provides sufficient coverage for your needs.
Save your database
After module analysis, save your x64dbg database file. This preserves all analysis comments and labels for future sessions.
Use selective analysis for large modules
For very large executables, consider analyzing specific functions or sections rather than the entire module.
Use Cases
Initial reconnaissance: When first examining an unknown executable to understand its structure and API usage. Comprehensive documentation: When you need complete coverage of all function calls and code patterns. OllyDbg-style workflow: Mimicking OllyDbg’s automatic analysis behavior for a familiar debugging experience. Malware analysis: Obtaining a complete picture of an executable’s capabilities before detailed analysis. Automated analysis: Setting up automatic analysis for consistent, repeatable analysis of multiple samples.Related Features
Analyze Selection
Quick analysis of selected instructions
Analyze Function
Analyze a specific function only
Remove Analysis
Remove analysis data from module
Configuration
Configure analysis behavior
