@cheatron/nthread 1.0.1 → 1.0.2

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/nthread.d.ts CHANGED
@@ -9,7 +9,7 @@ export { STACK_ADD } from './thread/captured-thread.js';
9
9
  * All values are ultimately converted to bigint for register assignment (RCX, RDX, R8, R9).
10
10
  * Accepts NativePointer (→ .address) and number (→ BigInt()) for convenience.
11
11
  */
12
- export type Arg = bigint | number | Native.NativePointer;
12
+ export type Arg = bigint | number | Native.NativePointer | string;
13
13
  /**
14
14
  * NThread: Orchestrates non-invasive thread hijacking.
15
15
  *
@@ -60,7 +60,7 @@ export declare class NThread {
60
60
  *
61
61
  * @returns `true` if the module is loaded, `false` otherwise.
62
62
  */
63
- protected checkModuleLoaded(captured: CapturedThread, moduleBase: Arg, phModule?: Arg): Promise<boolean>;
63
+ protected checkModuleLoaded(proxy: ProxyThread, captured: CapturedThread, moduleBase: Arg, phModule?: Arg): Promise<boolean>;
64
64
  /** Writes data to the target process; dispatches NativePointer vs Buffer. */
65
65
  private threadWrite;
66
66
  /**
@@ -91,7 +91,26 @@ export declare class NThread {
91
91
  * @param encoding Buffer encoding — defaults to `'utf16le'` (Windows wide string).
92
92
  * @param opts Optional alloc options forwarded to `proxy.alloc()`.
93
93
  */
94
- allocString(proxy: ProxyThread, str: string, encoding?: BufferEncoding, opts?: AllocOptions): Promise<Native.NativePointer>;
94
+ /**
95
+ /**
96
+ * Resolves an argument list, converting `string` values to remote pointers.
97
+ * Uses `resolveEncoding` to auto-detect encoding (ASCII → utf8, non-ASCII → utf16le)
98
+ * so callers can pass plain strings to both A and W variant Windows functions.
99
+ */
100
+ protected resolveArgs(proxy: ProxyThread, args: Arg[]): Promise<bigint[]>;
101
+ /**
102
+ * Allocates a null-terminated wide string (UTF-16LE) in the target process.
103
+ * Use `encoding` to override — e.g. `'utf8'` for ANSI (A-variant) APIs.
104
+ */
105
+ allocString(proxy: ProxyThread, str: string, opts?: AllocOptions): Promise<Native.NativePointer>;
106
+ /**
107
+ * Encodes `str` with a null terminator and writes it into an already-allocated
108
+ * remote address. Auto-detects encoding via `resolveEncoding`
109
+ * (ASCII → UTF-8 + 1-byte null, non-ASCII → UTF-16LE + 2-byte null).
110
+ *
111
+ * @returns Number of bytes written.
112
+ */
113
+ writeString(proxy: ProxyThread, dest: Native.NativePointer, str: string): Promise<number>;
95
114
  /**
96
115
  * Executes a function call on a captured thread using the Windows x64 calling convention.
97
116
  * The thread must be parked at the sleep address (after inject()).
@@ -105,7 +124,7 @@ export declare class NThread {
105
124
  * @param timeoutMs Timeout in ms for waiting on the function return (default: 5000).
106
125
  * @returns RAX value as NativePointer.
107
126
  */
108
- threadCall(thread: CapturedThread, target: Native.NativePointer | bigint, args?: Arg[], timeoutMs?: number): Promise<Native.NativePointer>;
127
+ threadCall(proxy: ProxyThread, thread: CapturedThread, target: Native.NativePointer | bigint, args?: Arg[], timeoutMs?: number): Promise<Native.NativePointer>;
109
128
  /**
110
129
  * Writes arbitrary data to the target process memory using hijacked memset calls.
111
130
  * Decomposes the source buffer into runs of equal bytes and issues one
@@ -1 +1 @@
1
- {"version":3,"file":"nthread.d.ts","sourceRoot":"","sources":["../src/nthread.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nthread.d.ts","sourceRoot":"","sources":["../src/nthread.ts"],"names":[],"mappings":"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"}
package/dist/nthread.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import * as Native from '@cheatron/native';
2
+ import { resolveEncoding } from '@cheatron/native';
2
3
  import { getRandomSleepAddress, getRandomPushretAddress, } from './globals.js';
3
4
  import { log } from './logger';
4
5
  import { ProxyThread } from './thread/proxy-thread.js';
@@ -127,11 +128,11 @@ export class NThread {
127
128
  captured.latestContext.ContextFlags =
128
129
  Native.ContextFlags.INTEGER | Native.ContextFlags.CONTROL;
129
130
  const proxy = new ProxyThread((_proxy, suicide) => this.threadClose(_proxy, captured, suicide));
130
- proxy.setCaller((_proxy, address, ...proxyArgs) => this.threadCall(captured, address, [...proxyArgs]));
131
+ proxy.setCaller((_proxy, address, ...proxyArgs) => this.threadCall(_proxy, captured, address, [...proxyArgs]));
131
132
  proxy.setWriter((_proxy, address, data, size) => this.threadWrite(_proxy, address, data, size));
132
133
  proxy.setAllocer((_proxy, size, opts) => this.threadAlloc(_proxy, size, opts));
133
134
  proxy.setFreer((_proxy, ptr) => this.threadFree(_proxy, ptr));
134
- if (!(await this.checkModuleLoaded(captured, Native.Module.crt.base.address))) {
135
+ if (!(await this.checkModuleLoaded(proxy, captured, Native.Module.crt.base.address))) {
135
136
  throw new MsvcrtNotLoadedError();
136
137
  }
137
138
  nthreadLog.info(`Successfully injected into thread ${captured.tid}`);
@@ -151,11 +152,11 @@ export class NThread {
151
152
  *
152
153
  * @returns `true` if the module is loaded, `false` otherwise.
153
154
  */
154
- async checkModuleLoaded(captured, moduleBase, phModule) {
155
+ async checkModuleLoaded(proxy, captured, moduleBase, phModule) {
155
156
  const flags = GetModuleHandleExFlag.UNCHANGED_REFCOUNT |
156
157
  GetModuleHandleExFlag.FROM_ADDRESS;
157
158
  const outPtr = phModule ?? captured.callRsp - 512n;
158
- const result = await this.threadCall(captured, kernel32.GetModuleHandleExA, [flags, moduleBase, outPtr]);
159
+ const result = await this.threadCall(proxy, captured, kernel32.GetModuleHandleExA, [flags, moduleBase, outPtr]);
159
160
  return result.address !== 0n;
160
161
  }
161
162
  /** Writes data to the target process; dispatches NativePointer vs Buffer. */
@@ -225,15 +226,46 @@ export class NThread {
225
226
  * @param encoding Buffer encoding — defaults to `'utf16le'` (Windows wide string).
226
227
  * @param opts Optional alloc options forwarded to `proxy.alloc()`.
227
228
  */
228
- async allocString(proxy, str, encoding = 'utf16le', opts) {
229
- const encoded = Buffer.from(str, encoding);
230
- const nullBytes = encoding === 'utf16le' || encoding === 'ucs2' ? 2 : 1;
231
- const buf = Buffer.alloc(encoded.length + nullBytes);
232
- encoded.copy(buf);
229
+ /**
230
+ /**
231
+ * Resolves an argument list, converting `string` values to remote pointers.
232
+ * Uses `resolveEncoding` to auto-detect encoding (ASCII utf8, non-ASCII → utf16le)
233
+ * so callers can pass plain strings to both A and W variant Windows functions.
234
+ */
235
+ async resolveArgs(proxy, args) {
236
+ return Promise.all(args.map(async (arg) => {
237
+ if (typeof arg === 'string') {
238
+ const [buf] = resolveEncoding(null, null, arg);
239
+ const ptr = await proxy.alloc(buf.length);
240
+ await proxy.write(ptr, buf);
241
+ return ptr.address;
242
+ }
243
+ if (arg instanceof Native.NativePointer)
244
+ return arg.address;
245
+ return BigInt(arg);
246
+ }));
247
+ }
248
+ /**
249
+ * Allocates a null-terminated wide string (UTF-16LE) in the target process.
250
+ * Use `encoding` to override — e.g. `'utf8'` for ANSI (A-variant) APIs.
251
+ */
252
+ async allocString(proxy, str, opts) {
253
+ const [buf] = resolveEncoding(null, null, str);
233
254
  const ptr = await proxy.alloc(buf.length, opts);
234
255
  await proxy.write(ptr, buf);
235
256
  return ptr;
236
257
  }
258
+ /**
259
+ * Encodes `str` with a null terminator and writes it into an already-allocated
260
+ * remote address. Auto-detects encoding via `resolveEncoding`
261
+ * (ASCII → UTF-8 + 1-byte null, non-ASCII → UTF-16LE + 2-byte null).
262
+ *
263
+ * @returns Number of bytes written.
264
+ */
265
+ async writeString(proxy, dest, str) {
266
+ const [buf] = resolveEncoding(null, null, str);
267
+ return proxy.write(dest, buf);
268
+ }
237
269
  /**
238
270
  * Executes a function call on a captured thread using the Windows x64 calling convention.
239
271
  * The thread must be parked at the sleep address (after inject()).
@@ -247,16 +279,14 @@ export class NThread {
247
279
  * @param timeoutMs Timeout in ms for waiting on the function return (default: 5000).
248
280
  * @returns RAX value as NativePointer.
249
281
  */
250
- async threadCall(thread, target, args = [], timeoutMs = 5000) {
282
+ async threadCall(proxy, thread, target, args = [], timeoutMs = 5000) {
251
283
  if (args.length > 4) {
252
284
  throw new CallTooManyArgsError(args.length);
253
285
  }
254
- const toBigInt = (v) => {
255
- if (v instanceof Native.NativePointer)
256
- return v.address;
257
- return BigInt(v);
258
- };
259
- const targetAddr = target instanceof Native.NativePointer ? target.address : BigInt(target);
286
+ const resolved = await this.resolveArgs(proxy, args);
287
+ const targetAddr = target instanceof Native.NativePointer
288
+ ? target.toBigInt()
289
+ : BigInt(target);
260
290
  // 1. Suspend the thread (should be parked at sleep 'jmp .')
261
291
  thread.suspend();
262
292
  thread.fetchContext();
@@ -268,14 +298,14 @@ export class NThread {
268
298
  }
269
299
  // 2. Map arguments to x64 calling convention registers
270
300
  const ctx = thread.getContext();
271
- if (args.length > 0)
272
- ctx.Rcx = toBigInt(args[0]);
273
- if (args.length > 1)
274
- ctx.Rdx = toBigInt(args[1]);
275
- if (args.length > 2)
276
- ctx.R8 = toBigInt(args[2]);
277
- if (args.length > 3)
278
- ctx.R9 = toBigInt(args[3]);
301
+ if (resolved.length > 0)
302
+ ctx.Rcx = resolved[0];
303
+ if (resolved.length > 1)
304
+ ctx.Rdx = resolved[1];
305
+ if (resolved.length > 2)
306
+ ctx.R8 = resolved[2];
307
+ if (resolved.length > 3)
308
+ ctx.R9 = resolved[3];
279
309
  // 3. Redirect execution to target function
280
310
  // callRsp points to the pre-written return address (sleep gadget), set once in inject()
281
311
  ctx.Rip = targetAddr;
@@ -283,7 +313,7 @@ export class NThread {
283
313
  thread.setContext(ctx);
284
314
  thread.applyContext();
285
315
  thread.resume();
286
- nthreadLog.debug(`Calling 0x${targetAddr.toString(16)} with ${args.length} arg(s)...`);
316
+ nthreadLog.debug(`Calling 0x${targetAddr.toString(16)} with ${resolved.length} arg(s)...`);
287
317
  // 6. Wait for the function to return (RIP lands back at sleep address)
288
318
  const res = await thread.wait(timeoutMs);
289
319
  if (res === Native.WaitReturn.FAILED) {
@@ -1 +1 @@
1
- {"version":3,"file":"nthread.js","sourceRoot":"","sources":["../src/nthread.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nthread.js","sourceRoot":"","sources":["../src/nthread.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cheatron/nthread",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "description": "Non-invasive x64 Windows thread hijacking library — seize control of existing threads without shellcode, remote allocation, or CreateRemoteThread.",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",