@@ -12,6 +12,15 @@ class Def_ntdll
12
12
def self . create_dll ( dll_path = 'ntdll' )
13
13
dll = DLL . new ( dll_path , ApiConstants . manager )
14
14
15
+ dll . add_function ( 'NtAllocateVirtualMemory' , 'DWORD' , [
16
+ [ "DWORD" , "ProcessHandle" , "in" ] ,
17
+ [ "PBLOB" , "BaseAddress" , "inout" ] ,
18
+ [ "PDWORD" , "ZeroBits" , "in" ] ,
19
+ [ "PBLOB" , "RegionSize" , "inout" ] ,
20
+ [ "DWORD" , "AllocationType" , "in" ] ,
21
+ [ "DWORD" , "Protect" , "in" ]
22
+ ] )
23
+
15
24
dll . add_function ( 'NtClose' , 'DWORD' , [
16
25
[ "DWORD" , "Handle" , "in" ] ,
17
26
] )
@@ -33,13 +42,13 @@ def self.create_dll(dll_path = 'ntdll')
33
42
dll . add_function ( 'NtDeviceIoControlFile' , 'DWORD' , [
34
43
[ "DWORD" , "FileHandle" , "in" ] ,
35
44
[ "DWORD" , "Event" , "in" ] ,
36
- [ "PBLOB " , "ApcRoutine" , "in" ] ,
37
- [ "PBLOB " , "ApcContext" , "in" ] ,
38
- [ "PBLOB " , "IoStatusBlock" , "inout " ] ,
45
+ [ "LPVOID " , "ApcRoutine" , "in" ] ,
46
+ [ "LPVOID " , "ApcContext" , "in" ] ,
47
+ [ "PDWORD " , "IoStatusBlock" , "out " ] ,
39
48
[ "DWORD" , "IoControlCode" , "in" ] ,
40
- [ "PBLOB " , "InputBuffer" , "in" ] ,
49
+ [ "LPVOID " , "InputBuffer" , "in" ] ,
41
50
[ "DWORD" , "InputBufferLength" , "in" ] ,
42
- [ "PBLOB " , "OutputBuffer" , "inout " ] ,
51
+ [ "LPVOID " , "OutputBuffer" , "in " ] ,
43
52
[ "DWORD" , "OutputBufferLength" , "in" ] ,
44
53
] )
45
54
@@ -68,6 +77,11 @@ def self.create_dll(dll_path = 'ntdll')
68
77
[ "PDWORD" , "ReturnLength" , "inout" ] ,
69
78
] )
70
79
80
+ dll . add_function ( 'NtQueryIntervalProfile' , 'DWORD' , [
81
+ [ "DWORD" , "ProfileSource" , "in" ] ,
82
+ [ "PDWORD" , "Interval" , "out" ] ,
83
+ ] )
84
+
71
85
dll . add_function ( 'NtQuerySystemInformation' , 'DWORD' , [
72
86
[ "DWORD" , "SystemInformationClass" , "in" ] ,
73
87
[ "PBLOB" , "SystemInformation" , "inout" ] ,
0 commit comments