@cheatron/native 1.2.1 → 1.2.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/pattern.d.ts CHANGED
@@ -12,7 +12,7 @@ export declare class Pattern {
12
12
  mask: string;
13
13
  private _limit;
14
14
  protect: number;
15
- constructor(signature: string);
15
+ constructor(signature: string | (number | null | undefined)[]);
16
16
  get length(): number;
17
17
  get maxResults(): number;
18
18
  get hasLimit(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"pattern.d.ts","sourceRoot":"","sources":["../src/pattern.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAKvD;;GAEG;AACH,eAAO,MAAM,eAAe,QAIQ,CAAC;AAErC;;;GAGG;AACH,qBAAa,OAAO;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,MAAM,CAAa;IACpB,OAAO,EAAE,MAAM,CAAK;gBAEf,SAAS,EAAE,MAAM;IAsB7B,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;OAEG;IACH,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAKtB;;OAEG;IACH,OAAO,IAAI,IAAI;IAKf;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI;IAKjD;;OAEG;IACH,cAAc,IAAI,IAAI;CAIvB"}
1
+ {"version":3,"file":"pattern.d.ts","sourceRoot":"","sources":["../src/pattern.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAKvD;;GAEG;AACH,eAAO,MAAM,eAAe,QAIQ,CAAC;AAErC;;;GAGG;AACH,qBAAa,OAAO;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,MAAM,CAAa;IACpB,OAAO,EAAE,MAAM,CAAK;gBAEf,SAAS,EAAE,MAAM,GAAG,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE;IAiD7D,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;OAEG;IACH,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAKtB;;OAEG;IACH,OAAO,IAAI,IAAI;IAKf;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI;IAKjD;;OAEG;IACH,cAAc,IAAI,IAAI;CAIvB"}
package/dist/pattern.js CHANGED
@@ -18,22 +18,47 @@ export class Pattern {
18
18
  _limit = 1; // Default to 1 result
19
19
  protect = 0;
20
20
  constructor(signature) {
21
- const parts = signature.split(/\s+/).filter(Boolean);
22
21
  const bytes = [];
23
22
  let mask = '';
24
- for (const part of parts) {
25
- if (part === '??' || part === '?') {
26
- bytes.push(0);
27
- mask += '?';
23
+ if (typeof signature === 'string') {
24
+ // Clean up common prefixes like 0x or \x
25
+ let cleanSig = signature.replace(/(0x|\\x)/gi, '');
26
+ // If there are no spaces, assume it's a continuous hex string (e.g. DEADBEEF)
27
+ if (!cleanSig.includes(' ')) {
28
+ // Inject spaces between every 2 characters
29
+ cleanSig = cleanSig.replace(/(.{2})/g, '$1 ').trim();
28
30
  }
29
- else {
30
- const byte = parseInt(part, 16);
31
- if (isNaN(byte))
32
- throw new Error(`Invalid byte in signature: ${part}`);
33
- bytes.push(byte);
34
- mask += 'x';
31
+ const parts = cleanSig.split(/\s+/).filter(Boolean);
32
+ for (const part of parts) {
33
+ if (part === '??' || part === '?') {
34
+ bytes.push(0);
35
+ mask += '?';
36
+ }
37
+ else {
38
+ const byte = parseInt(part, 16);
39
+ if (isNaN(byte))
40
+ throw new Error(`Invalid byte in signature: ${part} (from original: ${signature})`);
41
+ bytes.push(byte);
42
+ mask += 'x';
43
+ }
35
44
  }
36
45
  }
46
+ else if (Array.isArray(signature)) {
47
+ for (let i = 0; i < signature.length; i++) {
48
+ const val = signature[i];
49
+ if (val == null || val < 0 || val > 255) {
50
+ bytes.push(0);
51
+ mask += '?';
52
+ }
53
+ else {
54
+ bytes.push(val);
55
+ mask += 'x';
56
+ }
57
+ }
58
+ }
59
+ else {
60
+ throw new Error('Signature must be a string or an array of numbers');
61
+ }
37
62
  this.bytes = Buffer.from(bytes);
38
63
  this.mask = mask;
39
64
  scanLog.debug(`Parsed pattern: ${signature} -> ${mask}`);
@@ -1 +1 @@
1
- {"version":3,"file":"pattern.js","sourceRoot":"","sources":["../src/pattern.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAErC;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAC1B,gBAAgB,CAAC,QAAQ;IACzB,gBAAgB,CAAC,SAAS;IAC1B,gBAAgB,CAAC,YAAY;IAC7B,gBAAgB,CAAC,iBAAiB,CAAC;AAErC;;;GAGG;AACH,MAAM,OAAO,OAAO;IACX,KAAK,CAAS;IACd,IAAI,CAAS;IACZ,MAAM,GAAW,CAAC,CAAC,CAAC,sBAAsB;IAC3C,OAAO,GAAW,CAAC,CAAC;IAE3B,YAAY,SAAiB;QAC3B,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,IAAI,GAAG,EAAE,CAAC;QAEd,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBAClC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACd,IAAI,IAAI,GAAG,CAAC;YACd,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAChC,IAAI,KAAK,CAAC,IAAI,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,IAAI,EAAE,CAAC,CAAC;gBACvE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjB,IAAI,IAAI,GAAG,CAAC;YACd,CAAC;QACH,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,mBAAmB,SAAS,OAAO,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,CAAS;QACb,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,OAAO;QACL,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,IAA+B;QACxC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
1
+ {"version":3,"file":"pattern.js","sourceRoot":"","sources":["../src/pattern.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cheatron/native",
3
- "version": "1.2.1",
3
+ "version": "1.2.2",
4
4
  "description": "Ergonomic Win32 process and memory management API for Cheatron.",
5
5
  "module": "./src/index.ts",
6
6
  "main": "./dist/index.js",