@cheatron/native-mock 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -0
- package/dist/kernel32.d.ts +19 -19
- package/dist/kernel32.d.ts.map +1 -1
- package/dist/kernel32.js +3 -0
- package/dist/kernel32.js.map +1 -0
- package/dist/logger.js +1 -0
- package/dist/logger.js.map +1 -0
- package/dist/os/handles.d.ts +4 -4
- package/dist/os/handles.d.ts.map +1 -1
- package/dist/os/handles.js +2 -0
- package/dist/os/handles.js.map +1 -0
- package/dist/os/kernel.d.ts +5 -5
- package/dist/os/kernel.d.ts.map +1 -1
- package/dist/os/kernel.js +3 -1
- package/dist/os/kernel.js.map +1 -0
- package/dist/os/memory.d.ts +1 -5
- package/dist/os/memory.d.ts.map +1 -1
- package/dist/os/memory.js +3 -8
- package/dist/os/memory.js.map +1 -0
- package/dist/os/process.js +1 -0
- package/dist/os/process.js.map +1 -0
- package/dist/os/thread.js +1 -0
- package/dist/os/thread.js.map +1 -0
- package/dist/process.d.ts +4 -5
- package/dist/process.d.ts.map +1 -1
- package/dist/process.js +4 -4
- package/dist/process.js.map +1 -0
- package/dist/thread.d.ts +4 -5
- package/dist/thread.d.ts.map +1 -1
- package/dist/thread.js +4 -4
- package/dist/thread.js.map +1 -0
- package/package.json +3 -3
- package/dist/constants.d.ts +0 -175
- package/dist/constants.d.ts.map +0 -1
- package/dist/constants.js +0 -173
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,mBAAmB,qBAAqB,CAAC;AACzC,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AAEpC,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC"}
|
package/dist/kernel32.d.ts
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as Def from '@cheatron/win32-ext';
|
|
2
2
|
export declare const Kernel32Impl: {
|
|
3
|
-
OpenProcess: (dwDesiredAccess:
|
|
4
|
-
GetCurrentProcess: () =>
|
|
5
|
-
GetCurrentProcessId: () =>
|
|
6
|
-
CloseHandle: (hObject:
|
|
7
|
-
ReadProcessMemory: (hProcess:
|
|
8
|
-
WriteProcessMemory: (hProcess:
|
|
9
|
-
VirtualAlloc: (lpAddress:
|
|
10
|
-
VirtualAllocEx: (hProcess:
|
|
11
|
-
VirtualQuery: (lpAddress:
|
|
12
|
-
VirtualQueryEx: (hProcess:
|
|
13
|
-
OpenThread: (_dwDesiredAccess:
|
|
14
|
-
GetCurrentThread: () =>
|
|
15
|
-
GetCurrentThreadId: () =>
|
|
16
|
-
SuspendThread: (hThread:
|
|
17
|
-
ResumeThread: (hThread:
|
|
18
|
-
GetThreadContext: (_hThread:
|
|
19
|
-
SetThreadContext: (_hThread:
|
|
20
|
-
GetLastError: () =>
|
|
3
|
+
OpenProcess: (dwDesiredAccess: Def.DWORD, bInheritHandle: Def.BOOL, dwProcessId: Def.DWORD) => Def.HANDLE;
|
|
4
|
+
GetCurrentProcess: () => Def.HANDLE;
|
|
5
|
+
GetCurrentProcessId: () => Def.DWORD;
|
|
6
|
+
CloseHandle: (hObject: Def.HANDLE) => Def.BOOL;
|
|
7
|
+
ReadProcessMemory: (hProcess: Def.HANDLE, lpBaseAddress: Def.LPCVOID, lpBuffer: Buffer, nSize: Def.SIZE_T, _lpNumberOfBytesRead: Def.LPDWORD | null) => Def.BOOL;
|
|
8
|
+
WriteProcessMemory: (hProcess: Def.HANDLE, lpBaseAddress: Def.LPCVOID, lpBuffer: Buffer, nSize: Def.SIZE_T, _lpNumberOfBytesWritten: Def.LPDWORD | null) => Def.BOOL;
|
|
9
|
+
VirtualAlloc: (lpAddress: Def.LPCVOID, dwSize: Def.SIZE_T, flAllocationType: Def.DWORD, flProtect: Def.DWORD) => Def.LPVOID;
|
|
10
|
+
VirtualAllocEx: (hProcess: Def.HANDLE, lpAddress: Def.LPCVOID, dwSize: Def.SIZE_T, flAllocationType: Def.DWORD, flProtect: Def.DWORD) => Def.LPVOID;
|
|
11
|
+
VirtualQuery: (lpAddress: Def.LPCVOID, lpBuffer: Buffer, dwLength: Def.SIZE_T) => Def.SIZE_T;
|
|
12
|
+
VirtualQueryEx: (hProcess: Def.HANDLE, lpAddress: Def.LPCVOID, lpBuffer: Buffer, dwLength: Def.SIZE_T) => Def.SIZE_T;
|
|
13
|
+
OpenThread: (_dwDesiredAccess: Def.DWORD, _bInheritHandle: Def.BOOL, _dwThreadId: Def.DWORD) => Def.HANDLE;
|
|
14
|
+
GetCurrentThread: () => Def.HANDLE;
|
|
15
|
+
GetCurrentThreadId: () => Def.DWORD;
|
|
16
|
+
SuspendThread: (hThread: Def.HANDLE) => Def.DWORD;
|
|
17
|
+
ResumeThread: (hThread: Def.HANDLE) => Def.DWORD;
|
|
18
|
+
GetThreadContext: (_hThread: Def.HANDLE, _lpContext: Buffer) => Def.BOOL;
|
|
19
|
+
SetThreadContext: (_hThread: Def.HANDLE, _lpContext: Buffer) => Def.BOOL;
|
|
20
|
+
GetLastError: () => Def.DWORD;
|
|
21
21
|
};
|
|
22
22
|
//# sourceMappingURL=kernel32.d.ts.map
|
package/dist/kernel32.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kernel32.d.ts","sourceRoot":"","sources":["../src/kernel32.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"kernel32.d.ts","sourceRoot":"","sources":["../src/kernel32.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAQ3C,eAAO,MAAM,YAAY;mCAGJ,GAAG,CAAC,KAAK,kBACV,GAAG,CAAC,IAAI,eACX,GAAG,CAAC,KAAK,KACrB,GAAG,CAAC,MAAM;6BAGU,GAAG,CAAC,MAAM;+BACR,GAAG,CAAC,KAAK;2BACX,GAAG,CAAC,MAAM,KAAG,GAAG,CAAC,IAAI;kCAShC,GAAG,CAAC,MAAM,iBACL,GAAG,CAAC,OAAO,YAChB,MAAM,SACT,GAAG,CAAC,MAAM,wBACK,GAAG,CAAC,OAAO,GAAG,IAAI,KACvC,GAAG,CAAC,IAAI;mCA0BC,GAAG,CAAC,MAAM,iBACL,GAAG,CAAC,OAAO,YAChB,MAAM,SACT,GAAG,CAAC,MAAM,2BACQ,GAAG,CAAC,OAAO,GAAG,IAAI,KAC1C,GAAG,CAAC,IAAI;8BA6BE,GAAG,CAAC,OAAO,UACd,GAAG,CAAC,MAAM,oBACA,GAAG,CAAC,KAAK,aAChB,GAAG,CAAC,KAAK,KACnB,GAAG,CAAC,MAAM;+BAUD,GAAG,CAAC,MAAM,aACT,GAAG,CAAC,OAAO,UACd,GAAG,CAAC,MAAM,oBACA,GAAG,CAAC,KAAK,aAChB,GAAG,CAAC,KAAK,KACnB,GAAG,CAAC,MAAM;8BAkCA,GAAG,CAAC,OAAO,YACZ,MAAM,YACN,GAAG,CAAC,MAAM,KACnB,GAAG,CAAC,MAAM;+BAUD,GAAG,CAAC,MAAM,aACT,GAAG,CAAC,OAAO,YACZ,MAAM,YACN,GAAG,CAAC,MAAM,KACnB,GAAG,CAAC,MAAM;mCAsCO,GAAG,CAAC,KAAK,mBACV,GAAG,CAAC,IAAI,eACZ,GAAG,CAAC,KAAK,KACrB,GAAG,CAAC,MAAM;4BAGS,GAAG,CAAC,MAAM;8BACR,GAAG,CAAC,KAAK;6BACR,GAAG,CAAC,MAAM,KAAG,GAAG,CAAC,KAAK;4BASvB,GAAG,CAAC,MAAM,KAAG,GAAG,CAAC,KAAK;iCASjB,GAAG,CAAC,MAAM,cAAc,MAAM,KAAG,GAAG,CAAC,IAAI;iCAGzC,GAAG,CAAC,MAAM,cAAc,MAAM,KAAG,GAAG,CAAC,IAAI;wBAGpD,GAAG,CAAC,KAAK;CAC5B,CAAC"}
|
package/dist/kernel32.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import * as Def from '@cheatron/win32-ext';
|
|
1
2
|
import { kernel } from './os/kernel';
|
|
3
|
+
import { SimulatedProcess } from './os/process';
|
|
2
4
|
// Constants
|
|
3
5
|
const PSEUDO_HANDLE_PROCESS = 0xffffffffffffffffn; // -1
|
|
4
6
|
const PSEUDO_HANDLE_THREAD = 0xfffffffffffffffen; // -2
|
|
@@ -168,3 +170,4 @@ export const Kernel32Impl = {
|
|
|
168
170
|
},
|
|
169
171
|
GetLastError: () => 0,
|
|
170
172
|
};
|
|
173
|
+
//# sourceMappingURL=kernel32.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kernel32.js","sourceRoot":"","sources":["../src/kernel32.ts"],"names":[],"mappings":"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"}
|
package/dist/logger.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,CAAC,MAAM,GAAG,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC"}
|
package/dist/os/handles.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as Def from '@cheatron/win32-ext';
|
|
2
2
|
export interface ISimulatedObject {
|
|
3
3
|
id: number;
|
|
4
4
|
}
|
|
@@ -10,8 +10,8 @@ export interface HandleObject {
|
|
|
10
10
|
export declare class HandleTable {
|
|
11
11
|
private handles;
|
|
12
12
|
private nextHandleValue;
|
|
13
|
-
createHandle(object: ISimulatedObject, type: HandleObject['type'], accessMask: number):
|
|
14
|
-
getObject(handle:
|
|
15
|
-
closeHandle(handle:
|
|
13
|
+
createHandle(object: ISimulatedObject, type: HandleObject['type'], accessMask: number): Def.HANDLE;
|
|
14
|
+
getObject(handle: Def.HANDLE): HandleObject | undefined;
|
|
15
|
+
closeHandle(handle: Def.HANDLE): boolean;
|
|
16
16
|
}
|
|
17
17
|
//# sourceMappingURL=handles.d.ts.map
|
package/dist/os/handles.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handles.d.ts","sourceRoot":"","sources":["../../src/os/handles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"handles.d.ts","sourceRoot":"","sources":["../../src/os/handles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAE3C,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IAC1D,MAAM,EAAE,gBAAgB,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,OAAO,CAAmC;IAClD,OAAO,CAAC,eAAe,CAAM;IAE7B,YAAY,CACV,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,EAC1B,UAAU,EAAE,MAAM,GACjB,GAAG,CAAC,MAAM;IAeb,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,YAAY,GAAG,SAAS;IAIvD,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,OAAO;CAGzC"}
|
package/dist/os/handles.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as Def from '@cheatron/win32-ext';
|
|
1
2
|
export class HandleTable {
|
|
2
3
|
handles = new Map();
|
|
3
4
|
nextHandleValue = 4n; // Windows handles are often multiples of 4
|
|
@@ -19,3 +20,4 @@ export class HandleTable {
|
|
|
19
20
|
return this.handles.delete(BigInt(handle));
|
|
20
21
|
}
|
|
21
22
|
}
|
|
23
|
+
//# sourceMappingURL=handles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handles.js","sourceRoot":"","sources":["../../src/os/handles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAY3C,MAAM,OAAO,WAAW;IACd,OAAO,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC1C,eAAe,GAAG,EAAE,CAAC,CAAC,2CAA2C;IAEzE,YAAY,CACV,MAAwB,EACxB,IAA0B,EAC1B,UAAkB;QAElB,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC;QACzC,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC;QAE3B,kDAAkD;QAElD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE;YAC5B,IAAI;YACJ,MAAM;YACN,UAAU;SACX,CAAC,CAAC;QAEH,OAAO,WAAoC,CAAC;IAC9C,CAAC;IAED,SAAS,CAAC,MAAkB;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAgB,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,WAAW,CAAC,MAAkB;QAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAgB,CAAC,CAAC,CAAC;IACvD,CAAC;CACF"}
|
package/dist/os/kernel.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SimulatedProcess } from './process';
|
|
2
|
-
import { HandleObject } from './handles';
|
|
3
|
-
import * as
|
|
2
|
+
import type { HandleObject } from './handles';
|
|
3
|
+
import * as Def from '@cheatron/win32-ext';
|
|
4
4
|
export declare class Kernel {
|
|
5
5
|
static instance: Kernel;
|
|
6
6
|
private processes;
|
|
@@ -10,9 +10,9 @@ export declare class Kernel {
|
|
|
10
10
|
private createSystemProcess;
|
|
11
11
|
createProcess(name: string): SimulatedProcess;
|
|
12
12
|
getProcess(pid: number): SimulatedProcess | undefined;
|
|
13
|
-
OpenProcess(dwDesiredAccess: number,
|
|
14
|
-
CloseHandle(hObject:
|
|
15
|
-
getObjectFromHandle(handle:
|
|
13
|
+
OpenProcess(dwDesiredAccess: number, _bInheritHandle: boolean, dwProcessId: number): Def.HANDLE;
|
|
14
|
+
CloseHandle(hObject: Def.HANDLE): boolean;
|
|
15
|
+
getObjectFromHandle(handle: Def.HANDLE): HandleObject | undefined;
|
|
16
16
|
}
|
|
17
17
|
export declare const kernel: Kernel;
|
|
18
18
|
//# sourceMappingURL=kernel.d.ts.map
|
package/dist/os/kernel.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kernel.d.ts","sourceRoot":"","sources":["../../src/os/kernel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"kernel.d.ts","sourceRoot":"","sources":["../../src/os/kernel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAE3C,qBAAa,MAAM;IACjB,OAAc,QAAQ,EAAE,MAAM,CAAC;IAE/B,OAAO,CAAC,SAAS,CAA4C;IAC7D,OAAO,CAAC,OAAO,CAAa;IAGrB,cAAc,EAAE,gBAAgB,CAAC;;IAaxC,OAAO,CAAC,mBAAmB;IAKpB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB;IAQ7C,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAMrD,WAAW,CAChB,eAAe,EAAE,MAAM,EACvB,eAAe,EAAE,OAAO,EACxB,WAAW,EAAE,MAAM,GAClB,GAAG,CAAC,MAAM;IAeN,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,GAAG,OAAO;IAKzC,mBAAmB,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,YAAY,GAAG,SAAS;CAGzE;AAGD,eAAO,MAAM,MAAM,QAAe,CAAC"}
|
package/dist/os/kernel.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { SimulatedProcess } from './process';
|
|
2
|
+
import * as Def from '@cheatron/win32-ext';
|
|
2
3
|
export class Kernel {
|
|
3
4
|
static instance;
|
|
4
5
|
processes = new Map();
|
|
@@ -29,7 +30,7 @@ export class Kernel {
|
|
|
29
30
|
return this.processes.get(pid);
|
|
30
31
|
}
|
|
31
32
|
// --- Syscalls (Simulated) ---
|
|
32
|
-
OpenProcess(dwDesiredAccess,
|
|
33
|
+
OpenProcess(dwDesiredAccess, _bInheritHandle, dwProcessId) {
|
|
33
34
|
const targetProc = this.processes.get(dwProcessId);
|
|
34
35
|
if (!targetProc) {
|
|
35
36
|
return 0n; // NULL
|
|
@@ -48,3 +49,4 @@ export class Kernel {
|
|
|
48
49
|
}
|
|
49
50
|
// Global kernel instance
|
|
50
51
|
export const kernel = new Kernel();
|
|
52
|
+
//# sourceMappingURL=kernel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kernel.js","sourceRoot":"","sources":["../../src/os/kernel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAE3C,MAAM,OAAO,MAAM;IACV,MAAM,CAAC,QAAQ,CAAS;IAEvB,SAAS,GAAkC,IAAI,GAAG,EAAE,CAAC;IACrD,OAAO,GAAW,CAAC,CAAC,CAAC,6BAA6B;IAE1D,yFAAyF;IAClF,cAAc,CAAmB;IAExC;QACE,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,iEAAiE;QACjE,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE3B,2DAA2D;QAC3D,6DAA6D;QAC7D,IAAI,CAAC,cAAc,GAAG,IAAI,gBAAgB,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;QAC1E,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAClE,CAAC;IAEO,mBAAmB;QACzB,MAAM,GAAG,GAAG,IAAI,gBAAgB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC7B,CAAC;IAEM,aAAa,CAAC,IAAY;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;QACzB,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;QAClB,MAAM,IAAI,GAAG,IAAI,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,UAAU,CAAC,GAAW;QAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,+BAA+B;IAExB,WAAW,CAChB,eAAuB,EACvB,eAAwB,EACxB,WAAmB;QAEnB,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACnD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,EAA2B,CAAC,CAAC,OAAO;QAC7C,CAAC;QAED,uFAAuF;QACvF,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,YAAY,CACrD,UAAU,EACV,SAAS,EACT,eAAe,CAChB,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,WAAW,CAAC,OAAmB;QACpC,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED,kEAAkE;IAC3D,mBAAmB,CAAC,MAAkB;QAC3C,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACvD,CAAC;CACF;AAED,yBAAyB;AACzB,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC"}
|
package/dist/os/memory.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type MemoryBasicInformation } from '
|
|
1
|
+
import { type MemoryBasicInformation } from '@cheatron/win32-ext';
|
|
2
2
|
export declare class MemoryManager {
|
|
3
3
|
private pages;
|
|
4
4
|
constructor();
|
|
@@ -6,10 +6,6 @@ export declare class MemoryManager {
|
|
|
6
6
|
* Aligns an address down to the nearest page boundary.
|
|
7
7
|
*/
|
|
8
8
|
private alignDown;
|
|
9
|
-
/**
|
|
10
|
-
* Aligns an address up to the nearest page boundary.
|
|
11
|
-
*/
|
|
12
|
-
private alignUp;
|
|
13
9
|
/**
|
|
14
10
|
* Allocates memory.
|
|
15
11
|
* Simplification: Always allocates MEM_PRIVATE, MEM_COMMIT | MEM_RESERVE.
|
package/dist/os/memory.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/os/memory.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,sBAAsB,EAI5B,MAAM,
|
|
1
|
+
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/os/memory.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,sBAAsB,EAI5B,MAAM,qBAAqB,CAAC;AAY7B,qBAAa,aAAa;IACxB,OAAO,CAAC,KAAK,CAA2B;;IAIxC;;OAEG;IACH,OAAO,CAAC,SAAS;IAIjB;;;OAGG;IACH,QAAQ,CACN,OAAO,EAAE,MAAM,EAAE,wBAAwB;IACzC,IAAI,EAAE,MAAM,EACZ,eAAe,GAAE,MAAiD,EAClE,OAAO,GAAE,MAAmC,GAC3C,MAAM;IA+CT,IAAI,CACF,OAAO,EAAE,MAAM,EACf,KAAK,GAAE,MAAU,EACjB,SAAS,GAAE,MAAe,GACzB,OAAO;IASV,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAiC3C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAwC5C,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,sBAAsB;CA0B/C"}
|
package/dist/os/memory.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MemoryProtection, MemoryState, MemoryType, } from '
|
|
1
|
+
import { MemoryProtection, MemoryState, MemoryType, } from '@cheatron/win32-ext';
|
|
2
2
|
const PAGE_SIZE = 4096;
|
|
3
3
|
export class MemoryManager {
|
|
4
4
|
pages = new Map();
|
|
@@ -9,12 +9,6 @@ export class MemoryManager {
|
|
|
9
9
|
alignDown(address) {
|
|
10
10
|
return Math.floor(address / PAGE_SIZE) * PAGE_SIZE;
|
|
11
11
|
}
|
|
12
|
-
/**
|
|
13
|
-
* Aligns an address up to the nearest page boundary.
|
|
14
|
-
*/
|
|
15
|
-
alignUp(address) {
|
|
16
|
-
return Math.ceil(address / PAGE_SIZE) * PAGE_SIZE;
|
|
17
|
-
}
|
|
18
12
|
/**
|
|
19
13
|
* Allocates memory.
|
|
20
14
|
* Simplification: Always allocates MEM_PRIVATE, MEM_COMMIT | MEM_RESERVE.
|
|
@@ -44,7 +38,7 @@ export class MemoryManager {
|
|
|
44
38
|
else {
|
|
45
39
|
// Verify requested range is free
|
|
46
40
|
for (let i = 0; i < numPages; i++) {
|
|
47
|
-
const _addr = startAddress + i * PAGE_SIZE;
|
|
41
|
+
// const _addr = startAddress + i * PAGE_SIZE;
|
|
48
42
|
// Should check for collisions or if re-allocation is allowed
|
|
49
43
|
}
|
|
50
44
|
}
|
|
@@ -145,3 +139,4 @@ export class MemoryManager {
|
|
|
145
139
|
};
|
|
146
140
|
}
|
|
147
141
|
}
|
|
142
|
+
//# sourceMappingURL=memory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/os/memory.ts"],"names":[],"mappings":"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"}
|
package/dist/os/process.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/os/process.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,MAAM,OAAO,gBAAgB;IACpB,EAAE,CAAS;IACX,IAAI,CAAS;IACb,MAAM,CAAgB;IACtB,OAAO,CAAc;IACrB,OAAO,CAA+B;IACtC,QAAQ,GAAkB,IAAI,CAAC;IAE9B,YAAY,GAAW,IAAI,CAAC;IAEpC,YAAY,GAAW,EAAE,IAAY;QACnC,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC;QACd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;IAC3B,CAAC;IAED,YAAY;QACV,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC9B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,SAAS,CAAC,GAAW;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,SAAS,CAAC,WAAmB,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,kBAAkB;QAClB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,mBAAmB;QACnB,oCAAoC;IACtC,CAAC;CACF"}
|
package/dist/os/thread.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thread.js","sourceRoot":"","sources":["../../src/os/thread.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,WAMX;AAND,WAAY,WAAW;IACrB,2DAAW,CAAA;IACX,+CAAK,CAAA;IACL,mDAAO,CAAA;IACP,mDAAO,CAAA;IACP,yDAAU,CAAA;AACZ,CAAC,EANW,WAAW,KAAX,WAAW,QAMtB;AAuBD,MAAM,OAAO,eAAe;IACnB,EAAE,CAAS;IACX,KAAK,CAAc;IACnB,YAAY,GAAW,CAAC,CAAC;IACzB,OAAO,CAAgB;IACvB,cAAc,CAAS;IAE9B,YAAY,GAAW,EAAE,QAAgB;QACvC,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC;QACd,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,WAAW,CAAC;QAErC,mDAAmD;QACnD,IAAI,CAAC,OAAO,GAAG;YACb,GAAG,EAAE,eAAe,EAAE,oBAAoB;YAC1C,GAAG,EAAE,EAAE;YACP,GAAG,EAAE,EAAE;YACP,GAAG,EAAE,EAAE;YACP,GAAG,EAAE,EAAE;YACP,GAAG,EAAE,EAAE;YACP,GAAG,EAAE,EAAE;YACP,GAAG,EAAE,EAAE;YACP,GAAG,EAAE,cAAc,EAAE,cAAc;YACnC,EAAE,EAAE,EAAE;YACN,EAAE,EAAE,EAAE;YACN,GAAG,EAAE,EAAE;YACP,GAAG,EAAE,EAAE;YACP,GAAG,EAAE,EAAE;YACP,GAAG,EAAE,EAAE;YACP,GAAG,EAAE,EAAE;YACP,GAAG,EAAE,EAAE;YACP,MAAM,EAAE,KAAK,EAAE,aAAa;SAC7B,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW,CAAC,OAAO,EAAE,CAAC;YACvC,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,iBAAiB;QACrD,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,wBAAwB;IACxD,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,eAAe;YACjD,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,UAAU,CAAC,MAAc;QACvB,0EAA0E;QAC1E,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,UAAU,CAAC,GAA2B;QACpC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACnC,CAAC;CACF"}
|
package/dist/process.d.ts
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { type MemoryBasicInformation } from './constants';
|
|
1
|
+
import type { MemoryBasicInformation, HANDLE } from '@cheatron/win32-ext';
|
|
3
2
|
/**
|
|
4
3
|
* Represents a remote process
|
|
5
4
|
*/
|
|
6
5
|
export declare class Process {
|
|
7
|
-
protected _handle:
|
|
6
|
+
protected _handle: HANDLE | null;
|
|
8
7
|
protected _pid: number;
|
|
9
|
-
constructor(handle:
|
|
8
|
+
constructor(handle: HANDLE | null, autoClose?: boolean, pid?: number);
|
|
10
9
|
static open(pid: number, access?: number): Process;
|
|
11
10
|
static current(): CurrentProcess;
|
|
12
|
-
get handle():
|
|
11
|
+
get handle(): HANDLE | null;
|
|
13
12
|
get pid(): number;
|
|
14
13
|
isValid(): boolean;
|
|
15
14
|
close(): void;
|
package/dist/process.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../src/process.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../src/process.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAa1E;;GAEG;AACH,qBAAa,OAAO;IAClB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC;gBAGrB,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,SAAS,GAAE,OAAc,EACzB,GAAG,GAAE,MAAU;IASjB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,MAAiC,GAAG,OAAO;IAU5E,MAAM,CAAC,OAAO,IAAI,cAAc;IAIhC,IAAI,MAAM,kBAET;IACD,IAAI,GAAG,WAEN;IAED,OAAO,IAAI,OAAO;IAIlB,KAAK;IAUL,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAyBpD,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAsBrD,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,sBAAsB;CAkBxD;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,OAAO;;IAMhC,KAAK;IAIL,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,sBAAsB;CAQjE;AAGD,eAAO,MAAM,cAAc,gBAAuB,CAAC;AACnD,eAAO,MAAM,gBAAgB,QAAqB,CAAC"}
|
package/dist/process.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Kernel32Impl as Kernel32 } from './kernel32';
|
|
2
|
-
import { ProcessAccess, MEMORY_BASIC_INFORMATION, MBI_SIZE, } from '
|
|
3
|
-
import koffi from 'koffi';
|
|
2
|
+
import { ProcessAccess, MEMORY_BASIC_INFORMATION, MBI_SIZE, ffi, } from '@cheatron/win32-ext';
|
|
4
3
|
import { log } from './logger';
|
|
5
4
|
/**
|
|
6
5
|
* Handle management registry for automatic cleanup
|
|
@@ -95,7 +94,7 @@ export class Process {
|
|
|
95
94
|
log.error('Process', `VirtualQueryEx failed at ${address}`);
|
|
96
95
|
throw new Error('VirtualQueryEx failed');
|
|
97
96
|
}
|
|
98
|
-
const info =
|
|
97
|
+
const info = ffi.decode(buffer, MEMORY_BASIC_INFORMATION);
|
|
99
98
|
return info;
|
|
100
99
|
}
|
|
101
100
|
}
|
|
@@ -115,10 +114,11 @@ export class CurrentProcess extends Process {
|
|
|
115
114
|
const result = Kernel32.VirtualQuery(address, buffer, MBI_SIZE);
|
|
116
115
|
if (!result)
|
|
117
116
|
throw new Error('VirtualQuery failed');
|
|
118
|
-
const info =
|
|
117
|
+
const info = ffi.decode(buffer, MEMORY_BASIC_INFORMATION);
|
|
119
118
|
return info;
|
|
120
119
|
}
|
|
121
120
|
}
|
|
122
121
|
// Export a pre-initialized instance of the current process
|
|
123
122
|
export const currentProcess = new CurrentProcess();
|
|
124
123
|
export const currentProcessId = currentProcess.pid;
|
|
124
|
+
//# sourceMappingURL=process.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process.js","sourceRoot":"","sources":["../src/process.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EACL,aAAa,EACb,wBAAwB,EACxB,QAAQ,EACR,GAAG,GACJ,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B;;GAEG;AACH,MAAM,QAAQ,GAAG,IAAI,oBAAoB,CAAC,CAAC,MAAc,EAAE,EAAE;IAC3D,IAAI,MAAM,EAAE,CAAC;QACX,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,gCAAgC,CAAC,CAAC;QACvD,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,OAAO,OAAO;IACR,OAAO,CAAgB;IACvB,IAAI,CAAS;IAEvB,YACE,MAAqB,EACrB,YAAqB,IAAI,EACzB,MAAc,CAAC;QAEf,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,SAAS,IAAI,MAAM,EAAE,CAAC;YACxB,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,GAAW,EAAE,SAAiB,aAAa,CAAC,UAAU;QAChE,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,mBAAmB,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,0BAA0B,GAAG,EAAE,CAAC,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,CAAC,OAAO;QACZ,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IACD,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC;IAC7D,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACnB,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,0BAA0B,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC5D,MAAM,CAAC,GAAG,IAAI,CAAC,OAAQ,CAAC;YACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAC1B,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAwB,EAAE,IAAY;QACzC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAEjE,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,QAAQ,CAAC,iBAAiB,CACxC,IAAI,CAAC,OAAQ,EACb,OAAO,EACP,MAAM,EACN,IAAI,EACJ,IAAI,CACL,CAAC;QACF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,QAAQ,CAAC,YAAY;gBACnC,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE;gBACzB,CAAC,CAAC,SAAS,CAAC;YACd,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,+BAA+B,OAAO,EAAE,EAAE;gBAC7D,IAAI;gBACJ,OAAO;aACR,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,OAAwB,EAAE,MAAc;QAC5C,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAEjE,MAAM,OAAO,GAAG,QAAQ,CAAC,kBAAkB,CACzC,IAAI,CAAC,OAAQ,EACb,OAAO,EACP,MAAM,EACN,MAAM,CAAC,MAAM,EACb,IAAI,CACL,CAAC;QACF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,QAAQ,CAAC,YAAY;gBACnC,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE;gBACzB,CAAC,CAAC,SAAS,CAAC;YACd,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,gCAAgC,OAAO,EAAE,EAAE;gBAC9D,IAAI,EAAE,MAAM,CAAC,MAAM;gBACnB,OAAO;aACR,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAwB;QAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAEjE,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,CACpC,IAAI,CAAC,OAAQ,EACb,OAAO,EACP,MAAM,EACN,QAAQ,CACT,CAAC;QACF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,4BAA4B,OAAO,EAAE,CAAC,CAAC;YAC5D,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;QAC1D,OAAO,IAA8B,CAAC;IACxC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,OAAO;IACzC;QACE,iEAAiE;QACjE,KAAK,CAAC,QAAQ,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC7E,CAAC;IAEQ,KAAK;QACZ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAEQ,KAAK,CAAC,OAAwB;QACrC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAChE,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAEpD,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;QAC1D,OAAO,IAA8B,CAAC;IACxC,CAAC;CACF;AAED,2DAA2D;AAC3D,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;AACnD,MAAM,CAAC,MAAM,gBAAgB,GAAG,cAAc,CAAC,GAAG,CAAC"}
|
package/dist/thread.d.ts
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { type ThreadContext } from './constants';
|
|
1
|
+
import type { ThreadContext, HANDLE } from '@cheatron/win32-ext';
|
|
3
2
|
/**
|
|
4
3
|
* Represents a thread handle
|
|
5
4
|
*/
|
|
6
5
|
export declare class Thread {
|
|
7
|
-
protected _handle:
|
|
8
|
-
constructor(handle:
|
|
6
|
+
protected _handle: HANDLE | null;
|
|
7
|
+
constructor(handle: HANDLE | null, autoClose?: boolean);
|
|
9
8
|
static open(threadId: number, access?: number): Thread;
|
|
10
9
|
static current(): CurrentThread;
|
|
11
10
|
static currentId(): number;
|
|
@@ -15,7 +14,7 @@ export declare class Thread {
|
|
|
15
14
|
resume(): number;
|
|
16
15
|
getContext(flags?: number): ThreadContext;
|
|
17
16
|
setContext(ctx: ThreadContext): void;
|
|
18
|
-
get handle():
|
|
17
|
+
get handle(): HANDLE | null;
|
|
19
18
|
}
|
|
20
19
|
/**
|
|
21
20
|
* Represents the current thread (singleton)
|
package/dist/thread.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thread.d.ts","sourceRoot":"","sources":["../src/thread.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"thread.d.ts","sourceRoot":"","sources":["../src/thread.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAajE;;GAEG;AACH,qBAAa,MAAM;IACjB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;gBAErB,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,SAAS,GAAE,OAAc;IAO5D,MAAM,CAAC,IAAI,CACT,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,MAAgC,GACvC,MAAM;IAUT,MAAM,CAAC,OAAO,IAAI,aAAa;IAI/B,MAAM,CAAC,SAAS,IAAI,MAAM;IAI1B,OAAO,IAAI,OAAO;IAIlB,KAAK;IAUL,OAAO,IAAI,MAAM;IAUjB,MAAM,IAAI,MAAM;IAUhB,UAAU,CAAC,KAAK,GAAE,MAA0B,GAAG,aAAa;IAgB5D,UAAU,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI;IAapC,IAAI,MAAM,kBAET;CACF;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,MAAM;;IAM9B,KAAK;CAGf;AAGD,eAAO,MAAM,aAAa,eAAsB,CAAC"}
|
package/dist/thread.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Kernel32Impl as Kernel32 } from './kernel32';
|
|
2
|
-
import { ThreadAccess, ContextFlags, CONTEXT, CONTEXT_SIZE, } from '
|
|
3
|
-
import koffi from 'koffi';
|
|
2
|
+
import { ThreadAccess, ContextFlags, CONTEXT, CONTEXT_SIZE, ffi, } from '@cheatron/win32-ext';
|
|
4
3
|
import { log } from './logger';
|
|
5
4
|
/**
|
|
6
5
|
* Handle management registry for automatic cleanup
|
|
@@ -80,13 +79,13 @@ export class Thread {
|
|
|
80
79
|
log.error('Thread', 'GetThreadContext failed');
|
|
81
80
|
throw new Error('GetThreadContext failed');
|
|
82
81
|
}
|
|
83
|
-
return
|
|
82
|
+
return ffi.decode(buf, CONTEXT);
|
|
84
83
|
}
|
|
85
84
|
setContext(ctx) {
|
|
86
85
|
if (!this.isValid())
|
|
87
86
|
throw new Error('Thread handle is closed');
|
|
88
87
|
const buf = Buffer.alloc(CONTEXT_SIZE);
|
|
89
|
-
|
|
88
|
+
ffi.encode(buf, CONTEXT, ctx);
|
|
90
89
|
const success = Kernel32.SetThreadContext(this._handle, buf);
|
|
91
90
|
if (!success) {
|
|
92
91
|
log.error('Thread', 'SetThreadContext failed');
|
|
@@ -111,3 +110,4 @@ export class CurrentThread extends Thread {
|
|
|
111
110
|
}
|
|
112
111
|
// Export a pre-initialized instance of the current thread
|
|
113
112
|
export const currentThread = new CurrentThread();
|
|
113
|
+
//# sourceMappingURL=thread.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thread.js","sourceRoot":"","sources":["../src/thread.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cheatron/native-mock",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "Pure JavaScript mock implementation of Win32 native modules for testing without native dependencies",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@cheatron/log": "^1.0.1",
|
|
33
33
|
"@cheatron/native-mock-koffi": "^1.0.0",
|
|
34
|
-
"win32-
|
|
34
|
+
"@cheatron/win32-ext": "^1.0.1"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@eslint/js": "^10.0.1",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"eslint-config-prettier": "^10.1.8",
|
|
42
42
|
"globals": "^17.3.0",
|
|
43
43
|
"prettier": "^3.8.1",
|
|
44
|
-
"typescript": "^5",
|
|
44
|
+
"typescript": "^5.9.3",
|
|
45
45
|
"typescript-eslint": "^8.56.0"
|
|
46
46
|
},
|
|
47
47
|
"overrides": {
|
package/dist/constants.d.ts
DELETED
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Process access rights
|
|
3
|
-
* https://learn.microsoft.com/en-us/windows/win32/procthread/process-security-and-access-rights
|
|
4
|
-
*/
|
|
5
|
-
export declare const ProcessAccess: {
|
|
6
|
-
readonly TERMINATE: 1;
|
|
7
|
-
readonly CREATE_THREAD: 2;
|
|
8
|
-
readonly SET_SESSIONID: 4;
|
|
9
|
-
readonly VM_OPERATION: 8;
|
|
10
|
-
readonly VM_READ: 16;
|
|
11
|
-
readonly VM_WRITE: 32;
|
|
12
|
-
readonly DUP_HANDLE: 64;
|
|
13
|
-
readonly CREATE_PROCESS: 128;
|
|
14
|
-
readonly SET_QUOTA: 256;
|
|
15
|
-
readonly SET_INFORMATION: 512;
|
|
16
|
-
readonly QUERY_INFORMATION: 1024;
|
|
17
|
-
readonly SUSPEND_RESUME: 2048;
|
|
18
|
-
readonly QUERY_LIMITED_INFORMATION: 4096;
|
|
19
|
-
readonly SET_LIMITED_INFORMATION: 8192;
|
|
20
|
-
readonly ALL_ACCESS: 2097151;
|
|
21
|
-
};
|
|
22
|
-
/**
|
|
23
|
-
* Thread access rights
|
|
24
|
-
* https://learn.microsoft.com/en-us/windows/win32/procthread/thread-security-and-access-rights
|
|
25
|
-
*/
|
|
26
|
-
export declare const ThreadAccess: {
|
|
27
|
-
readonly TERMINATE: 1;
|
|
28
|
-
readonly SUSPEND_RESUME: 2;
|
|
29
|
-
readonly GET_CONTEXT: 8;
|
|
30
|
-
readonly SET_CONTEXT: 16;
|
|
31
|
-
readonly SET_INFORMATION: 32;
|
|
32
|
-
readonly QUERY_INFORMATION: 64;
|
|
33
|
-
readonly SET_THREAD_TOKEN: 128;
|
|
34
|
-
readonly IMPERSONATE: 256;
|
|
35
|
-
readonly DIRECT_IMPERSONATION: 512;
|
|
36
|
-
readonly SET_LIMITED_INFORMATION: 1024;
|
|
37
|
-
readonly QUERY_LIMITED_INFORMATION: 2048;
|
|
38
|
-
readonly ALL_ACCESS: 2097151;
|
|
39
|
-
};
|
|
40
|
-
/**
|
|
41
|
-
* Memory protection constants
|
|
42
|
-
* https://learn.microsoft.com/en-us/windows/win32/memory/memory-protection-constants
|
|
43
|
-
*/
|
|
44
|
-
export declare const MemoryProtection: {
|
|
45
|
-
readonly NOACCESS: 1;
|
|
46
|
-
readonly READONLY: 2;
|
|
47
|
-
readonly READWRITE: 4;
|
|
48
|
-
readonly WRITECOPY: 8;
|
|
49
|
-
readonly EXECUTE: 16;
|
|
50
|
-
readonly EXECUTE_READ: 32;
|
|
51
|
-
readonly EXECUTE_READWRITE: 64;
|
|
52
|
-
readonly EXECUTE_WRITECOPY: 128;
|
|
53
|
-
readonly GUARD: 256;
|
|
54
|
-
readonly NOCACHE: 512;
|
|
55
|
-
readonly WRITECOMBINE: 1024;
|
|
56
|
-
};
|
|
57
|
-
/**
|
|
58
|
-
* Memory state constants
|
|
59
|
-
*/
|
|
60
|
-
export declare const MemoryState: {
|
|
61
|
-
readonly COMMIT: 4096;
|
|
62
|
-
readonly RESERVE: 8192;
|
|
63
|
-
readonly FREE: 65536;
|
|
64
|
-
};
|
|
65
|
-
/**
|
|
66
|
-
* Memory type constants
|
|
67
|
-
*/
|
|
68
|
-
export declare const MemoryType: {
|
|
69
|
-
readonly PRIVATE: 131072;
|
|
70
|
-
readonly MAPPED: 262144;
|
|
71
|
-
readonly IMAGE: 16777216;
|
|
72
|
-
};
|
|
73
|
-
export type ProcessAccessValue = (typeof ProcessAccess)[keyof typeof ProcessAccess];
|
|
74
|
-
export type ThreadAccessValue = (typeof ThreadAccess)[keyof typeof ThreadAccess];
|
|
75
|
-
/**
|
|
76
|
-
* MEMORY_BASIC_INFORMATION structure
|
|
77
|
-
* https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-memory_basic_information
|
|
78
|
-
*/
|
|
79
|
-
export interface MemoryBasicInformation {
|
|
80
|
-
BaseAddress: number | bigint;
|
|
81
|
-
AllocationBase: number | bigint;
|
|
82
|
-
AllocationProtect: number;
|
|
83
|
-
RegionSize: number | bigint;
|
|
84
|
-
State: number;
|
|
85
|
-
Protect: number;
|
|
86
|
-
Type: number;
|
|
87
|
-
}
|
|
88
|
-
export declare const MEMORY_BASIC_INFORMATION: {
|
|
89
|
-
name: string;
|
|
90
|
-
spec: unknown;
|
|
91
|
-
};
|
|
92
|
-
export declare const MBI_SIZE: 1 | 2 | 4 | 8 | 16 | 48 | 1232;
|
|
93
|
-
export declare const ContextFlags: {
|
|
94
|
-
readonly AMD64: 1048576;
|
|
95
|
-
readonly CONTROL: number;
|
|
96
|
-
readonly INTEGER: number;
|
|
97
|
-
readonly SEGMENTS: number;
|
|
98
|
-
readonly FLOATING_POINT: number;
|
|
99
|
-
readonly DEBUG_REGISTERS: number;
|
|
100
|
-
readonly FULL: number;
|
|
101
|
-
readonly ALL: number;
|
|
102
|
-
};
|
|
103
|
-
/**
|
|
104
|
-
* M128A structure (128-bit register value)
|
|
105
|
-
* https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-m128a
|
|
106
|
-
*/
|
|
107
|
-
export declare const M128A: {
|
|
108
|
-
name: string;
|
|
109
|
-
spec: unknown;
|
|
110
|
-
};
|
|
111
|
-
export interface M128AValue {
|
|
112
|
-
Low: bigint;
|
|
113
|
-
High: bigint;
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* CONTEXT structure for x64 (AMD64)
|
|
117
|
-
* https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-context
|
|
118
|
-
*/
|
|
119
|
-
export declare const CONTEXT: {
|
|
120
|
-
name: string;
|
|
121
|
-
spec: unknown;
|
|
122
|
-
};
|
|
123
|
-
export declare const CONTEXT_SIZE: 1 | 2 | 4 | 8 | 16 | 48 | 1232;
|
|
124
|
-
/**
|
|
125
|
-
* Parsed thread context (x64)
|
|
126
|
-
*/
|
|
127
|
-
export interface ThreadContext {
|
|
128
|
-
P1Home: bigint;
|
|
129
|
-
P2Home: bigint;
|
|
130
|
-
P3Home: bigint;
|
|
131
|
-
P4Home: bigint;
|
|
132
|
-
P5Home: bigint;
|
|
133
|
-
P6Home: bigint;
|
|
134
|
-
ContextFlags: number;
|
|
135
|
-
MxCsr: number;
|
|
136
|
-
SegCs: number;
|
|
137
|
-
SegDs: number;
|
|
138
|
-
SegEs: number;
|
|
139
|
-
SegFs: number;
|
|
140
|
-
SegGs: number;
|
|
141
|
-
SegSs: number;
|
|
142
|
-
EFlags: number;
|
|
143
|
-
Dr0: bigint;
|
|
144
|
-
Dr1: bigint;
|
|
145
|
-
Dr2: bigint;
|
|
146
|
-
Dr3: bigint;
|
|
147
|
-
Dr6: bigint;
|
|
148
|
-
Dr7: bigint;
|
|
149
|
-
Rax: bigint;
|
|
150
|
-
Rcx: bigint;
|
|
151
|
-
Rdx: bigint;
|
|
152
|
-
Rbx: bigint;
|
|
153
|
-
Rsp: bigint;
|
|
154
|
-
Rbp: bigint;
|
|
155
|
-
Rsi: bigint;
|
|
156
|
-
Rdi: bigint;
|
|
157
|
-
R8: bigint;
|
|
158
|
-
R9: bigint;
|
|
159
|
-
R10: bigint;
|
|
160
|
-
R11: bigint;
|
|
161
|
-
R12: bigint;
|
|
162
|
-
R13: bigint;
|
|
163
|
-
R14: bigint;
|
|
164
|
-
R15: bigint;
|
|
165
|
-
Rip: bigint;
|
|
166
|
-
FltSave: number[];
|
|
167
|
-
VectorRegister: M128AValue[];
|
|
168
|
-
VectorControl: bigint;
|
|
169
|
-
DebugControl: bigint;
|
|
170
|
-
LastBranchToRip: bigint;
|
|
171
|
-
LastBranchFromRip: bigint;
|
|
172
|
-
LastExceptionToRip: bigint;
|
|
173
|
-
LastExceptionFromRip: bigint;
|
|
174
|
-
}
|
|
175
|
-
//# sourceMappingURL=constants.d.ts.map
|
package/dist/constants.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
|
package/dist/constants.js
DELETED
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Process access rights
|
|
3
|
-
* https://learn.microsoft.com/en-us/windows/win32/procthread/process-security-and-access-rights
|
|
4
|
-
*/
|
|
5
|
-
export const ProcessAccess = {
|
|
6
|
-
TERMINATE: 0x0001,
|
|
7
|
-
CREATE_THREAD: 0x0002,
|
|
8
|
-
SET_SESSIONID: 0x0004,
|
|
9
|
-
VM_OPERATION: 0x0008,
|
|
10
|
-
VM_READ: 0x0010,
|
|
11
|
-
VM_WRITE: 0x0020,
|
|
12
|
-
DUP_HANDLE: 0x0040,
|
|
13
|
-
CREATE_PROCESS: 0x0080,
|
|
14
|
-
SET_QUOTA: 0x0100,
|
|
15
|
-
SET_INFORMATION: 0x0200,
|
|
16
|
-
QUERY_INFORMATION: 0x0400,
|
|
17
|
-
SUSPEND_RESUME: 0x0800,
|
|
18
|
-
QUERY_LIMITED_INFORMATION: 0x1000,
|
|
19
|
-
SET_LIMITED_INFORMATION: 0x2000,
|
|
20
|
-
ALL_ACCESS: 0x1fffff,
|
|
21
|
-
};
|
|
22
|
-
/**
|
|
23
|
-
* Thread access rights
|
|
24
|
-
* https://learn.microsoft.com/en-us/windows/win32/procthread/thread-security-and-access-rights
|
|
25
|
-
*/
|
|
26
|
-
export const ThreadAccess = {
|
|
27
|
-
TERMINATE: 0x0001,
|
|
28
|
-
SUSPEND_RESUME: 0x0002,
|
|
29
|
-
GET_CONTEXT: 0x0008,
|
|
30
|
-
SET_CONTEXT: 0x0010,
|
|
31
|
-
SET_INFORMATION: 0x0020,
|
|
32
|
-
QUERY_INFORMATION: 0x0040,
|
|
33
|
-
SET_THREAD_TOKEN: 0x0080,
|
|
34
|
-
IMPERSONATE: 0x0100,
|
|
35
|
-
DIRECT_IMPERSONATION: 0x0200,
|
|
36
|
-
SET_LIMITED_INFORMATION: 0x0400,
|
|
37
|
-
QUERY_LIMITED_INFORMATION: 0x0800,
|
|
38
|
-
ALL_ACCESS: 0x1fffff,
|
|
39
|
-
};
|
|
40
|
-
/**
|
|
41
|
-
* Memory protection constants
|
|
42
|
-
* https://learn.microsoft.com/en-us/windows/win32/memory/memory-protection-constants
|
|
43
|
-
*/
|
|
44
|
-
export const MemoryProtection = {
|
|
45
|
-
NOACCESS: 0x01,
|
|
46
|
-
READONLY: 0x02,
|
|
47
|
-
READWRITE: 0x04,
|
|
48
|
-
WRITECOPY: 0x08,
|
|
49
|
-
EXECUTE: 0x10,
|
|
50
|
-
EXECUTE_READ: 0x20,
|
|
51
|
-
EXECUTE_READWRITE: 0x40,
|
|
52
|
-
EXECUTE_WRITECOPY: 0x80,
|
|
53
|
-
GUARD: 0x100,
|
|
54
|
-
NOCACHE: 0x200,
|
|
55
|
-
WRITECOMBINE: 0x400,
|
|
56
|
-
};
|
|
57
|
-
/**
|
|
58
|
-
* Memory state constants
|
|
59
|
-
*/
|
|
60
|
-
export const MemoryState = {
|
|
61
|
-
COMMIT: 0x1000,
|
|
62
|
-
RESERVE: 0x2000,
|
|
63
|
-
FREE: 0x10000,
|
|
64
|
-
};
|
|
65
|
-
/**
|
|
66
|
-
* Memory type constants
|
|
67
|
-
*/
|
|
68
|
-
export const MemoryType = {
|
|
69
|
-
PRIVATE: 0x20000,
|
|
70
|
-
MAPPED: 0x40000,
|
|
71
|
-
IMAGE: 0x1000000,
|
|
72
|
-
};
|
|
73
|
-
import koffi from 'koffi';
|
|
74
|
-
// Koffi struct for MEMORY_BASIC_INFORMATION (64-bit)
|
|
75
|
-
export const MEMORY_BASIC_INFORMATION = koffi.struct('MEMORY_BASIC_INFORMATION', {
|
|
76
|
-
BaseAddress: 'uint64',
|
|
77
|
-
AllocationBase: 'uint64',
|
|
78
|
-
AllocationProtect: 'uint32',
|
|
79
|
-
__PartitionId: 'uint16',
|
|
80
|
-
__pad: 'uint16',
|
|
81
|
-
RegionSize: 'uint64',
|
|
82
|
-
State: 'uint32',
|
|
83
|
-
Protect: 'uint32',
|
|
84
|
-
Type: 'uint32',
|
|
85
|
-
__pad2: 'uint32',
|
|
86
|
-
});
|
|
87
|
-
export const MBI_SIZE = koffi.sizeof(MEMORY_BASIC_INFORMATION);
|
|
88
|
-
/**
|
|
89
|
-
* CONTEXT flags for x64
|
|
90
|
-
* https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-context
|
|
91
|
-
*/
|
|
92
|
-
const CONTEXT_AMD64 = 0x00100000;
|
|
93
|
-
export const ContextFlags = {
|
|
94
|
-
AMD64: CONTEXT_AMD64,
|
|
95
|
-
CONTROL: CONTEXT_AMD64 | 0x01,
|
|
96
|
-
INTEGER: CONTEXT_AMD64 | 0x02,
|
|
97
|
-
SEGMENTS: CONTEXT_AMD64 | 0x04,
|
|
98
|
-
FLOATING_POINT: CONTEXT_AMD64 | 0x08,
|
|
99
|
-
DEBUG_REGISTERS: CONTEXT_AMD64 | 0x10,
|
|
100
|
-
FULL: CONTEXT_AMD64 | 0x01 | 0x02 | 0x08,
|
|
101
|
-
ALL: CONTEXT_AMD64 | 0x01 | 0x02 | 0x04 | 0x08 | 0x10,
|
|
102
|
-
};
|
|
103
|
-
/**
|
|
104
|
-
* M128A structure (128-bit register value)
|
|
105
|
-
* https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-m128a
|
|
106
|
-
*/
|
|
107
|
-
export const M128A = koffi.struct('M128A', {
|
|
108
|
-
Low: 'uint64',
|
|
109
|
-
High: 'int64',
|
|
110
|
-
});
|
|
111
|
-
/**
|
|
112
|
-
* CONTEXT structure for x64 (AMD64)
|
|
113
|
-
* https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-context
|
|
114
|
-
*/
|
|
115
|
-
export const CONTEXT = koffi.struct('CONTEXT', {
|
|
116
|
-
// Register parameter home addresses
|
|
117
|
-
P1Home: 'uint64',
|
|
118
|
-
P2Home: 'uint64',
|
|
119
|
-
P3Home: 'uint64',
|
|
120
|
-
P4Home: 'uint64',
|
|
121
|
-
P5Home: 'uint64',
|
|
122
|
-
P6Home: 'uint64',
|
|
123
|
-
// Control flags
|
|
124
|
-
ContextFlags: 'uint32',
|
|
125
|
-
MxCsr: 'uint32',
|
|
126
|
-
// Segment registers
|
|
127
|
-
SegCs: 'uint16',
|
|
128
|
-
SegDs: 'uint16',
|
|
129
|
-
SegEs: 'uint16',
|
|
130
|
-
SegFs: 'uint16',
|
|
131
|
-
SegGs: 'uint16',
|
|
132
|
-
SegSs: 'uint16',
|
|
133
|
-
// Flags
|
|
134
|
-
EFlags: 'uint32',
|
|
135
|
-
// Debug registers
|
|
136
|
-
Dr0: 'uint64',
|
|
137
|
-
Dr1: 'uint64',
|
|
138
|
-
Dr2: 'uint64',
|
|
139
|
-
Dr3: 'uint64',
|
|
140
|
-
Dr6: 'uint64',
|
|
141
|
-
Dr7: 'uint64',
|
|
142
|
-
// Integer registers
|
|
143
|
-
Rax: 'uint64',
|
|
144
|
-
Rcx: 'uint64',
|
|
145
|
-
Rdx: 'uint64',
|
|
146
|
-
Rbx: 'uint64',
|
|
147
|
-
Rsp: 'uint64',
|
|
148
|
-
Rbp: 'uint64',
|
|
149
|
-
Rsi: 'uint64',
|
|
150
|
-
Rdi: 'uint64',
|
|
151
|
-
R8: 'uint64',
|
|
152
|
-
R9: 'uint64',
|
|
153
|
-
R10: 'uint64',
|
|
154
|
-
R11: 'uint64',
|
|
155
|
-
R12: 'uint64',
|
|
156
|
-
R13: 'uint64',
|
|
157
|
-
R14: 'uint64',
|
|
158
|
-
R15: 'uint64',
|
|
159
|
-
// Program counter
|
|
160
|
-
Rip: 'uint64',
|
|
161
|
-
// Floating point / XMM save area (XMM_SAVE_AREA32 = 512 bytes)
|
|
162
|
-
FltSave: 'uint8[512]',
|
|
163
|
-
// Vector registers
|
|
164
|
-
VectorRegister: 'M128A[26]',
|
|
165
|
-
VectorControl: 'uint64',
|
|
166
|
-
// Special debug registers
|
|
167
|
-
DebugControl: 'uint64',
|
|
168
|
-
LastBranchToRip: 'uint64',
|
|
169
|
-
LastBranchFromRip: 'uint64',
|
|
170
|
-
LastExceptionToRip: 'uint64',
|
|
171
|
-
LastExceptionFromRip: 'uint64',
|
|
172
|
-
});
|
|
173
|
-
export const CONTEXT_SIZE = koffi.sizeof(CONTEXT);
|