Skip to content

Commit b0418be

Browse files
committed
Add information about securekernel space viewing
1 parent ba44fd1 commit b0418be

File tree

4 files changed

+20
-10
lines changed

4 files changed

+20
-10
lines changed

LiveCloudKdPy/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ Current configuration options:
3232
**"ReadMethod"** - memory reading method for driver. Class ReadMemoryMethod
3333
**"WriteMethod"** - memory writing method for driver. Class WriteMemoryMethod
3434
**"PauseMethod"** - method of suspend VM. Class SuspendResumeMethod
35-
**"LogLevel"** - log level. Integer [0..4]
35+
**"LogLevel"** - log level. Integer [0..4]
3636
**"ForceFreezeCPU"** - boolean. FreezeCPU using virtual VM registers when suspend VM
3737
**"PausePartition"** - boolean. VM was suspended when SdkSelectPartition will be executed
3838
**"ReloadDriver"** - boolean. Reload driver when starting plugin. Need in some cases when service is not deleted correctly

LiveCloudKdSdk/README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@
1414

1515
Hvlib is plugin for working with Microsoft Hyper-V virtual machines memory. It was developed, when
1616
LiveCloudKd was rewritten for supporting modern Windows versions, therefore it supports Windows 10 build 1803 and above, Windows Server 2019 and above
17-
It also was test on Windows 8 x64 and Windows Server 2012, but not with latest patches.
17+
It also was tested on Windows 8 x64 and Windows Server 2012, but not with latest patches.
1818

1919
Part of code was taken from LiveCloudKd project https://github.com/msuiche/LiveCloudKd by Matt Suiche (www.msuiche.com).
2020

21-
So it was developed, because Microsoft doesn't provide necessary API description and examples of vid.dll
21+
So it was developed, because Microsoft doesn't provide necessary API description and examples of vid.dll, vid.sys, winhv.sys, winhvr.sys, hvix64.exe, hvax64.exe, hvaa64.exe
2222

2323
Hvlib supports two memory access methods for Hyper-V memory
2424

@@ -44,9 +44,9 @@ and separate LiveCloudKdExample project
4444
1. Fill VmOperationsConfig structure with options. See available options in VM_OPERATIONS_CONFIG structure
4545
2. Get list of running Virtual Machines using SdkEnumPartitions function.
4646

47-
```c
47+
```
4848
SdkGetDefaultConfig(&VmOperationsConfig);
49-
PULONG64 Partitions = SdkEnumPartitions(&PartitionCount, &VmOperationsConfig);
49+
PULONG64 Partitions = SdkEnumPartitions(&PartitionCount, &VmOperationsConfig);
5050
```
5151

5252
3. Next use

README.md

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ The tool has additional options in comparison with LiveKd from Microsoft Sysinte
1414
3. Support Hyper-V VM with nested option enabled on Intel-based CPU
1515
4. Support multilingual OS
1616

17-
LiveCloudKd. [Download](https://github.com/gerhart01/LiveCloudKd/releases/download/v2.8.4.20241221/LiveCloudKd.v2.8.4.20241221-release.zip)
17+
LiveCloudKd. [Download](https://github.com/gerhart01/LiveCloudKd/releases/download/v2.8.5.20250209/LiveCloudKd.v2.8.5.20250209-release.zip)
1818
Contains EXDI plugin for static dump view:
1919

2020
![WinDBG](images/image01.png)
@@ -42,7 +42,7 @@ Methods for accessing guest Hyper-V VM memory:
4242
WriteInterfaceWinHv - uses Hyper-V hypercall for writing to guest OS memory.
4343
WriteInterfaceHvmmDrvInternal - write data directly to kernel memory. Faster, than WriteInterfaceWinHv, but uses undocumented structures). The default writing method is WriteInterfaceHvmmDrvInternal.
4444
```
45-
Also ReadInterfaceLocal - read data from local operation system (not Hyper-V) is available
45+
Also ReadInterfaceLocal interface for readomg data from local operation system is available
4646

4747
LiveCloudKd was tested on
4848
```
@@ -86,6 +86,14 @@ Performance comparison with LiveKd from Sysinternals Suite (LiveCloudKd is more
8686

8787
![](images/image03.png)
8888

89+
You can view Windows securekernel address space in static mode of Hyper-V VM with VBS enabled option in guest OS.
90+
91+
1. Launch Hyper-V VM with guest OS VBS enable;
92+
2. Launch LiveCloudKd in EXDi mode;
93+
3. Enter ".reload /f securekernel.exe=<addr>" to get securekernel symbols information. You can see securekernel image base address in output window.
94+
95+
![](images/image04.png)
96+
8997
LiveCloudKd options:
9098

9199
```
@@ -98,7 +106,6 @@ LiveCloudKd options:
98106
5 - Dump RAW guest OS memory (without KDBG scanning)
99107
6 - Resume VM
100108
/b Close LiveCloudKd automatically, after exiting from kd or WinDBG.
101-
/f Force freeze CPU on every read operation. It is actually for Windows Sandbox because it constantly resumes CPU.
102109
/m Memory access type.
103110
0 - Winhvr.sys interface
104111
1 - Raw memory interface (hvmm.sys)
@@ -107,12 +114,15 @@ LiveCloudKd options:
107114
/o Destination path for the output file (Action 2 - 5).
108115
/p Pause partition.
109116
/v Verbose output.
117+
0 - errors
118+
1 - warnings
119+
2 - information messages
110120
/w Run WinDBG instead of Kd (Kd is the default).
111121
/y Set path to WinDBG or WinDBG with modern UI (for start EXDI plugin)
112122
/? Print this help.
113123
```
114124

115-
EXDI module can get instructions for writing some bytes to Hyper-V virtual machine memory from WinDBG engine (depending on WinDBG or WinDBGX version), therefore writing memory capabilities are disabled by default.
125+
EXDI module can get instructions to write some bytes to Hyper-V virtual machine memory from WinDBG engine (depending from WinDBG or WinDBGX version), therefore writing memory capabilities are disabled by default.
116126
To enable it enter the command:
117127

118128
```
@@ -124,4 +134,4 @@ disable
124134
wrmsr 0x1112 0
125135
```
126136

127-
Project uses diStorm3 library (BSD license) by [Gil Dabah](https://twitter.com/_arkon): [Distorm project](https://github.com/gdabah/distorm)
137+
Project uses diStorm3 library (BSD license) by [Gil Dabah](https://x.com/_arkon): [Distorm project](https://github.com/gdabah/distorm)

images/image04.png

2.2 MB
Loading

0 commit comments

Comments
 (0)