!smi (trigger and show System Management Interrupt functionalities)
Description of '!smi' command in HyperDbg.
!smi
Syntax
!smi [Function (string)]
Description
Triggers and shows functionalities related to System Management Interrupts (SMIs).
Parameters
[Function (string)]
The target functionality.
count
Number of SMIs triggered in the target system
trigger
Triggers a power SMI
Examples
The following command triggers a power SMI (using APM I/O Decode Registers).
HyperDbg> !smi trigger
power SMI triggered successfully (you can use '!smi count' to view the number of executed SMIs)
The following example shows the number of SMIs that are already executed in the target system.
HyperDbg> !smi count
SMI count: 0x153e
SDK
To perform SMI-related functionalities, you need to use the following function in libhyperdbg
:
BOOLEAN
hyperdbg_u_perform_smi_operation(SMI_OPERATION_PACKETS * SmiOperation);
Remarks
Starting from v0.15, this command was added to the HyperDbg debugger.
HyperDbg reads the number of SMIs from MSR_SMI_COUNT
MSR (0x34) and triggers SMIs using APM I/O Decode Registers. For more information, please refer to this post.
This command is guaranteed to keep debuggee in a halt state (in Debugger Mode); thus, nothing will change during its execution.
Requirements
None
Related
None
Last updated