The installer is doing:
001c:Call KERNEL32.CreateFileA(00324f24 "\\\\.\\GIO",c0000000,00000001,00000000,00000003,00000080,00000000) ret=0a221173 001c:Ret KERNEL32.CreateFileA() retval=00000100 ret=0a221173 001c:Call KERNEL32.DeviceIoControl(00000100,c3502004,00324f70,00000020,00324f9c,00000004,00324f94,00000000) ret=0a2222d9 ... 0028:Call ntdll.RtlInitUnicodeString(0053e69c,00540bde L"\\Device\\PhysicalMemory") ret=00540c66 0028:Ret ntdll.RtlInitUnicodeString() retval=0053e69c ret=00540c66 0028:Call ntdll.ZwOpenSection(0053e6d0,000f001f,0053e67c) ret=00540c96 0028:Ret ntdll.ZwOpenSection() retval=c0000034 ret=00540c96 0028:Ret driver dispatch 0x540388 (device=0x11a568,irp=0x53e768) retval=c000000d 001c:Ret KERNEL32.DeviceIoControl() retval=00000000 ret=0a2222d9 ... 001c:trace:seh:raise_exception code=c0000005 flags=0 addr=0x9ff11ae ip=09ff11ae tid=001c ...
I imagine implementing the \Device\PhysicalMemory object is going to be hard, if not impossible.
The installer is doing:
001c:Call KERNEL32. CreateFileA( 00324f24 "\\\\.\ \GIO",c0000000, 00000001, 00000000, 00000003, 00000080, 00000000) ret=0a221173 CreateFileA( ) retval=00000100 ret=0a221173 DeviceIoControl (00000100, c3502004, 00324f70, 00000020, 00324f9c, 00000004, 00324f94, 00000000) ret=0a2222d9 icodeString( 0053e69c, 00540bde L"\\Device\ \PhysicalMemory ") ret=00540c66 icodeString( ) retval=0053e69c ret=00540c66 tion(0053e6d0, 000f001f, 0053e67c) ret=00540c96 tion() retval=c0000034 ret=00540c96 0x11a568, irp=0x53e768) retval=c000000d DeviceIoControl () retval=00000000 ret=0a2222d9 seh:raise_ exception code=c0000005 flags=0 addr=0x9ff11ae ip=09ff11ae tid=001c
001c:Ret KERNEL32.
001c:Call KERNEL32.
...
0028:Call ntdll.RtlInitUn
0028:Ret ntdll.RtlInitUn
0028:Call ntdll.ZwOpenSec
0028:Ret ntdll.ZwOpenSec
0028:Ret driver dispatch 0x540388 (device=
001c:Ret KERNEL32.
...
001c:trace:
...
I imagine implementing the \Device\ PhysicalMemory object is going to be hard, if not impossible.