@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 CHANGED
@@ -1,4 +1,5 @@
1
- export * from './constants';
1
+ export * from '@cheatron/win32-ext';
2
+ export type * from '@cheatron/win32-ext';
2
3
  export * from './process';
3
4
  export * from './thread';
4
5
  export * from './kernel32';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,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
@@ -1,4 +1,5 @@
1
- export * from './constants';
1
+ export * from '@cheatron/win32-ext';
2
2
  export * from './process';
3
3
  export * from './thread';
4
4
  export * from './kernel32';
5
+ //# sourceMappingURL=index.js.map
@@ -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"}
@@ -1,22 +1,22 @@
1
- import * as D from 'win32-def';
1
+ import * as Def from '@cheatron/win32-ext';
2
2
  export declare const Kernel32Impl: {
3
- OpenProcess: (dwDesiredAccess: D.DWORD, bInheritHandle: D.BOOL, dwProcessId: D.DWORD) => D.HANDLE;
4
- GetCurrentProcess: () => D.HANDLE;
5
- GetCurrentProcessId: () => D.DWORD;
6
- CloseHandle: (hObject: D.HANDLE) => D.BOOL;
7
- ReadProcessMemory: (hProcess: D.HANDLE, lpBaseAddress: D.LPCVOID, lpBuffer: Buffer, nSize: D.SIZE_T, _lpNumberOfBytesRead: D.LPDWORD | null) => D.BOOL;
8
- WriteProcessMemory: (hProcess: D.HANDLE, lpBaseAddress: D.LPCVOID, lpBuffer: Buffer, nSize: D.SIZE_T, _lpNumberOfBytesWritten: D.LPDWORD | null) => D.BOOL;
9
- VirtualAlloc: (lpAddress: D.LPCVOID, dwSize: D.SIZE_T, flAllocationType: D.DWORD, flProtect: D.DWORD) => D.LPVOID;
10
- VirtualAllocEx: (hProcess: D.HANDLE, lpAddress: D.LPCVOID, dwSize: D.SIZE_T, flAllocationType: D.DWORD, flProtect: D.DWORD) => D.LPVOID;
11
- VirtualQuery: (lpAddress: D.LPCVOID, lpBuffer: Buffer, dwLength: D.SIZE_T) => D.SIZE_T;
12
- VirtualQueryEx: (hProcess: D.HANDLE, lpAddress: D.LPCVOID, lpBuffer: Buffer, dwLength: D.SIZE_T) => D.SIZE_T;
13
- OpenThread: (_dwDesiredAccess: D.DWORD, _bInheritHandle: D.BOOL, _dwThreadId: D.DWORD) => D.HANDLE;
14
- GetCurrentThread: () => D.HANDLE;
15
- GetCurrentThreadId: () => D.DWORD;
16
- SuspendThread: (hThread: D.HANDLE) => D.DWORD;
17
- ResumeThread: (hThread: D.HANDLE) => D.DWORD;
18
- GetThreadContext: (_hThread: D.HANDLE, _lpContext: Buffer) => D.BOOL;
19
- SetThreadContext: (_hThread: D.HANDLE, _lpContext: Buffer) => D.BOOL;
20
- GetLastError: () => D.DWORD;
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
@@ -1 +1 @@
1
- {"version":3,"file":"kernel32.d.ts","sourceRoot":"","sources":["../src/kernel32.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,WAAW,CAAC;AAQ/B,eAAO,MAAM,YAAY;mCAGJ,CAAC,CAAC,KAAK,kBACR,CAAC,CAAC,IAAI,eACT,CAAC,CAAC,KAAK,KACnB,CAAC,CAAC,MAAM;6BAGY,CAAC,CAAC,MAAM;+BACN,CAAC,CAAC,KAAK;2BACT,CAAC,CAAC,MAAM,KAAG,CAAC,CAAC,IAAI;kCAS5B,CAAC,CAAC,MAAM,iBACH,CAAC,CAAC,OAAO,YACd,MAAM,SACT,CAAC,CAAC,MAAM,wBACO,CAAC,CAAC,OAAO,GAAG,IAAI,KACrC,CAAC,CAAC,IAAI;mCA0BG,CAAC,CAAC,MAAM,iBACH,CAAC,CAAC,OAAO,YACd,MAAM,SACT,CAAC,CAAC,MAAM,2BACU,CAAC,CAAC,OAAO,GAAG,IAAI,KACxC,CAAC,CAAC,IAAI;8BA6BI,CAAC,CAAC,OAAO,UACZ,CAAC,CAAC,MAAM,oBACE,CAAC,CAAC,KAAK,aACd,CAAC,CAAC,KAAK,KACjB,CAAC,CAAC,MAAM;+BAUC,CAAC,CAAC,MAAM,aACP,CAAC,CAAC,OAAO,UACZ,CAAC,CAAC,MAAM,oBACE,CAAC,CAAC,KAAK,aACd,CAAC,CAAC,KAAK,KACjB,CAAC,CAAC,MAAM;8BAkCE,CAAC,CAAC,OAAO,YACV,MAAM,YACN,CAAC,CAAC,MAAM,KACjB,CAAC,CAAC,MAAM;+BAUC,CAAC,CAAC,MAAM,aACP,CAAC,CAAC,OAAO,YACV,MAAM,YACN,CAAC,CAAC,MAAM,KACjB,CAAC,CAAC,MAAM;mCAsCS,CAAC,CAAC,KAAK,mBACR,CAAC,CAAC,IAAI,eACV,CAAC,CAAC,KAAK,KACnB,CAAC,CAAC,MAAM;4BAGW,CAAC,CAAC,MAAM;8BACN,CAAC,CAAC,KAAK;6BACN,CAAC,CAAC,MAAM,KAAG,CAAC,CAAC,KAAK;4BASnB,CAAC,CAAC,MAAM,KAAG,CAAC,CAAC,KAAK;iCASb,CAAC,CAAC,MAAM,cAAc,MAAM,KAAG,CAAC,CAAC,IAAI;iCAGrC,CAAC,CAAC,MAAM,cAAc,MAAM,KAAG,CAAC,CAAC,IAAI;wBAGhD,CAAC,CAAC,KAAK;CAC1B,CAAC"}
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
@@ -1,2 +1,3 @@
1
1
  import { createLogHelper } from '@cheatron/log';
2
2
  export const log = createLogHelper('NativeMock');
3
+ //# sourceMappingURL=logger.js.map
@@ -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"}
@@ -1,4 +1,4 @@
1
- import * as D from 'win32-def';
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): D.HANDLE;
14
- getObject(handle: D.HANDLE): HandleObject | undefined;
15
- closeHandle(handle: D.HANDLE): boolean;
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
@@ -1 +1 @@
1
- {"version":3,"file":"handles.d.ts","sourceRoot":"","sources":["../../src/os/handles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,WAAW,CAAC;AAE/B,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,CAAC,CAAC,MAAM;IAeX,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,GAAG,YAAY,GAAG,SAAS;IAIrD,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,GAAG,OAAO;CAGvC"}
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"}
@@ -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"}
@@ -1,6 +1,6 @@
1
1
  import { SimulatedProcess } from './process';
2
- import { HandleObject } from './handles';
3
- import * as D from 'win32-def';
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, bInheritHandle: boolean, dwProcessId: number): D.HANDLE;
14
- CloseHandle(hObject: D.HANDLE): boolean;
15
- getObjectFromHandle(handle: D.HANDLE): HandleObject | undefined;
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
@@ -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;AACzC,OAAO,KAAK,CAAC,MAAM,WAAW,CAAC;AAE/B,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,cAAc,EAAE,OAAO,EACvB,WAAW,EAAE,MAAM,GAClB,CAAC,CAAC,MAAM;IAeJ,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,GAAG,OAAO;IAKvC,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,GAAG,YAAY,GAAG,SAAS;CAGvE;AAGD,eAAO,MAAM,MAAM,QAAe,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, bInheritHandle, dwProcessId) {
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"}
@@ -1,4 +1,4 @@
1
- import { type MemoryBasicInformation } from '../constants';
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.
@@ -1 +1 @@
1
- {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/os/memory.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,sBAAsB,EAI5B,MAAM,cAAc,CAAC;AAYtB,qBAAa,aAAa;IACxB,OAAO,CAAC,KAAK,CAA2B;;IAIxC;;OAEG;IACH,OAAO,CAAC,SAAS;IAIjB;;OAEG;IACH,OAAO,CAAC,OAAO;IAIf;;;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"}
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 '../constants';
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":"AAAA,OAAO,EAEL,gBAAgB,EAChB,WAAW,EACX,UAAU,GACX,MAAM,qBAAqB,CAAC;AAE7B,MAAM,SAAS,GAAG,IAAI,CAAC;AAUvB,MAAM,OAAO,aAAa;IAChB,KAAK,GAAG,IAAI,GAAG,EAAgB,CAAC;IAExC,gBAAe,CAAC;IAEhB;;OAEG;IACK,SAAS,CAAC,OAAe;QAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;IACrD,CAAC;IAED;;;OAGG;IACH,QAAQ,CACN,OAAe,EAAE,wBAAwB;IACzC,IAAY,EACZ,kBAA0B,WAAW,CAAC,MAAM,GAAG,WAAW,CAAC,OAAO,EAClE,UAAkB,gBAAgB,CAAC,SAAS;QAE5C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;QAE7C,gDAAgD;QAChD,mEAAmE;QACnE,IAAI,YAAY,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAEnE,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;YAClB,yBAAyB;YACzB,6EAA6E;YAC7E,OAAO,IAAI,EAAE,CAAC;gBACZ,IAAI,SAAS,GAAG,KAAK,CAAC;gBACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;oBAClC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC;wBACjD,SAAS,GAAG,IAAI,CAAC;wBACjB,MAAM;oBACR,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,SAAS;oBAAE,MAAM;gBACtB,YAAY,IAAI,SAAS,CAAC;YAC5B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,iCAAiC;YACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClC,8CAA8C;gBAC9C,6DAA6D;YAC/D,CAAC;QACH,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,YAAY,GAAG,CAAC,GAAG,SAAS,CAAC;YAC9C,MAAM,IAAI,GAAS,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI;gBAC7C,OAAO,EAAE,QAAQ;gBACjB,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;gBAC7B,KAAK,EAAE,WAAW,CAAC,IAAI;gBACvB,OAAO,EAAE,gBAAgB,CAAC,QAAQ;gBAClC,IAAI,EAAE,UAAU,CAAC,OAAO;aACzB,CAAC;YAEF,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC;YAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACjC,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,IAAI,CACF,OAAe,EACf,QAAgB,CAAC,EACjB,YAAoB,MAAM,CAAC,iBAAiB;QAE5C,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,IAAY;QAChC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,WAAW,GAAG,OAAO,CAAC;QAE1B,OAAO,SAAS,GAAG,IAAI,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YAC7C,MAAM,YAAY,GAAG,WAAW,GAAG,QAAQ,CAAC;YAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,YAAY,EAAE,IAAI,GAAG,SAAS,CAAC,CAAC;YAEzE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtC,IACE,IAAI;gBACJ,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,MAAM;gBAC/B,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,gBAAgB,CAAC,QAAQ,CAAC,EAC3C,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,IAAI,CACZ,MAAM,EACN,SAAS,EACT,YAAY,EACZ,YAAY,GAAG,WAAW,CAC3B,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,2BAA2B;YAC7B,CAAC;YAED,SAAS,IAAI,WAAW,CAAC;YACzB,WAAW,IAAI,WAAW,CAAC;QAC7B,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,IAAY;QACjC,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,WAAW,GAAG,OAAO,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;QAEzB,OAAO,YAAY,GAAG,IAAI,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YAC7C,MAAM,YAAY,GAAG,WAAW,GAAG,QAAQ,CAAC;YAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAC3B,SAAS,GAAG,YAAY,EACxB,IAAI,GAAG,YAAY,CACpB,CAAC;YAEF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtC,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;gBAC5C,0BAA0B;gBAC1B,IACE,IAAI,CAAC,OAAO;oBACZ,CAAC,gBAAgB,CAAC,SAAS,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,EACjE,CAAC;oBACD,IAAI,CAAC,IAAI,CACP,IAAI,CAAC,IAAI,EACT,YAAY,EACZ,YAAY,EACZ,YAAY,GAAG,YAAY,CAC5B,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,MAAM;gBACR,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM;YACR,CAAC;YAED,YAAY,IAAI,YAAY,CAAC;YAC7B,WAAW,IAAI,YAAY,CAAC;QAC9B,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,OAAe;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEtC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;gBACL,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC;gBAC7B,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC;gBAChC,iBAAiB,EAAE,gBAAgB,CAAC,QAAQ;gBAC5C,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC;gBAC7B,KAAK,EAAE,WAAW,CAAC,IAAI;gBACvB,OAAO,EAAE,gBAAgB,CAAC,QAAQ;gBAClC,IAAI,EAAE,UAAU,CAAC,OAAO;aACY,CAAC;QACzC,CAAC;QAED,OAAO;YACL,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;YACjC,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;YACpC,iBAAiB,EAAE,IAAI,CAAC,OAAO;YAC/B,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC;YAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;SACqB,CAAC;IACzC,CAAC;CACF"}
@@ -33,3 +33,4 @@ export class SimulatedProcess {
33
33
  // In a real OS, handles are closed.
34
34
  }
35
35
  }
36
+ //# sourceMappingURL=process.js.map
@@ -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
@@ -62,3 +62,4 @@ export class SimulatedThread {
62
62
  Object.assign(this.context, ctx);
63
63
  }
64
64
  }
65
+ //# sourceMappingURL=thread.js.map
@@ -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 * as D from 'win32-def';
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: D.HANDLE | null;
6
+ protected _handle: HANDLE | null;
8
7
  protected _pid: number;
9
- constructor(handle: D.HANDLE | null, autoClose?: boolean, pid?: number);
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(): D.HANDLE | null;
11
+ get handle(): HANDLE | null;
13
12
  get pid(): number;
14
13
  isValid(): boolean;
15
14
  close(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../src/process.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,WAAW,CAAC;AAC/B,OAAO,EAIL,KAAK,sBAAsB,EAC5B,MAAM,aAAa,CAAC;AAerB;;GAEG;AACH,qBAAa,OAAO;IAClB,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;IACnC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC;gBAGrB,MAAM,EAAE,CAAC,CAAC,MAAM,GAAG,IAAI,EACvB,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,oBAET;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"}
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 './constants';
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 = koffi.decode(buffer, MEMORY_BASIC_INFORMATION);
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 = koffi.decode(buffer, MEMORY_BASIC_INFORMATION);
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":"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"}
package/dist/thread.d.ts CHANGED
@@ -1,11 +1,10 @@
1
- import * as D from 'win32-def';
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: D.HANDLE | null;
8
- constructor(handle: D.HANDLE | null, autoClose?: boolean);
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(): D.HANDLE | null;
17
+ get handle(): HANDLE | null;
19
18
  }
20
19
  /**
21
20
  * Represents the current thread (singleton)
@@ -1 +1 @@
1
- {"version":3,"file":"thread.d.ts","sourceRoot":"","sources":["../src/thread.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,WAAW,CAAC;AAC/B,OAAO,EAKL,KAAK,aAAa,EACnB,MAAM,aAAa,CAAC;AAerB;;GAEG;AACH,qBAAa,MAAM;IACjB,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;gBAEvB,MAAM,EAAE,CAAC,CAAC,MAAM,GAAG,IAAI,EAAE,SAAS,GAAE,OAAc;IAO9D,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,oBAET;CACF;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,MAAM;;IAM9B,KAAK;CAGf;AAGD,eAAO,MAAM,aAAa,eAAsB,CAAC"}
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 './constants';
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 koffi.decode(buf, CONTEXT);
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
- koffi.encode(buf, CONTEXT, ctx);
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.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-def": "^26.1.2"
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": {
@@ -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
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;CAgBhB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;CAaf,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;CAYnB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,WAAW;;;;CAId,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,UAAU;;;;CAIb,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAC5B,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AACrD,MAAM,MAAM,iBAAiB,GAC3B,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;AAEnD;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,cAAc,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAKD,eAAO,MAAM,wBAAwB;;;CAcpC,CAAC;AAEF,eAAO,MAAM,QAAQ,gCAAyC,CAAC;AAO/D,eAAO,MAAM,YAAY;;;;;;;;;CASf,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,KAAK;;;CAGhB,CAAC;AAEH,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,eAAO,MAAM,OAAO;;;CAkElB,CAAC;AAEH,eAAO,MAAM,YAAY,gCAAwB,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,cAAc,EAAE,UAAU,EAAE,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;CAC9B"}
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);