@guardbee/mcp-reverse-shield 0.1.0 → 0.2.0

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.
Files changed (76) hide show
  1. package/README.md +39 -9
  2. package/TR.md +39 -9
  3. package/ZH.md +8 -3
  4. package/dist/__tests__/baseline.test.d.ts +2 -0
  5. package/dist/__tests__/baseline.test.d.ts.map +1 -0
  6. package/dist/__tests__/baseline.test.js +130 -0
  7. package/dist/__tests__/baseline.test.js.map +1 -0
  8. package/dist/__tests__/fixes.test.d.ts +2 -0
  9. package/dist/__tests__/fixes.test.d.ts.map +1 -0
  10. package/dist/__tests__/fixes.test.js +163 -0
  11. package/dist/__tests__/fixes.test.js.map +1 -0
  12. package/dist/__tests__/platforms.test.d.ts +2 -0
  13. package/dist/__tests__/platforms.test.d.ts.map +1 -0
  14. package/dist/__tests__/platforms.test.js +207 -0
  15. package/dist/__tests__/platforms.test.js.map +1 -0
  16. package/dist/__tests__/testFixtures.d.ts +16 -0
  17. package/dist/__tests__/testFixtures.d.ts.map +1 -1
  18. package/dist/__tests__/testFixtures.js +71 -0
  19. package/dist/__tests__/testFixtures.js.map +1 -1
  20. package/dist/apk.d.ts +1 -0
  21. package/dist/apk.d.ts.map +1 -1
  22. package/dist/apk.js +44 -10
  23. package/dist/apk.js.map +1 -1
  24. package/dist/baseline.d.ts +36 -0
  25. package/dist/baseline.d.ts.map +1 -0
  26. package/dist/baseline.js +87 -0
  27. package/dist/baseline.js.map +1 -0
  28. package/dist/cli.js +85 -37
  29. package/dist/cli.js.map +1 -1
  30. package/dist/config.d.ts +2 -0
  31. package/dist/config.d.ts.map +1 -1
  32. package/dist/config.js +6 -0
  33. package/dist/config.js.map +1 -1
  34. package/dist/fixes.d.ts +29 -0
  35. package/dist/fixes.d.ts.map +1 -0
  36. package/dist/fixes.js +396 -0
  37. package/dist/fixes.js.map +1 -0
  38. package/dist/frameworks.d.ts +19 -0
  39. package/dist/frameworks.d.ts.map +1 -0
  40. package/dist/frameworks.js +148 -0
  41. package/dist/frameworks.js.map +1 -0
  42. package/dist/index.d.ts +4 -0
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +2 -0
  45. package/dist/index.js.map +1 -1
  46. package/dist/ios.d.ts +24 -0
  47. package/dist/ios.d.ts.map +1 -0
  48. package/dist/ios.js +170 -0
  49. package/dist/ios.js.map +1 -0
  50. package/dist/native.d.ts.map +1 -1
  51. package/dist/native.js +3 -0
  52. package/dist/native.js.map +1 -1
  53. package/dist/plist.d.ts +7 -0
  54. package/dist/plist.d.ts.map +1 -0
  55. package/dist/plist.js +156 -0
  56. package/dist/plist.js.map +1 -0
  57. package/dist/protoxml.d.ts +14 -0
  58. package/dist/protoxml.d.ts.map +1 -0
  59. package/dist/protoxml.js +96 -0
  60. package/dist/protoxml.js.map +1 -0
  61. package/dist/rules.d.ts +1 -1
  62. package/dist/rules.d.ts.map +1 -1
  63. package/dist/rules.js +65 -0
  64. package/dist/rules.js.map +1 -1
  65. package/dist/sarif.d.ts +2 -1
  66. package/dist/sarif.d.ts.map +1 -1
  67. package/dist/sarif.js +4 -1
  68. package/dist/sarif.js.map +1 -1
  69. package/dist/scanner.d.ts.map +1 -1
  70. package/dist/scanner.js +47 -7
  71. package/dist/scanner.js.map +1 -1
  72. package/dist/server.d.ts +2 -1
  73. package/dist/server.d.ts.map +1 -1
  74. package/dist/server.js +28 -5
  75. package/dist/server.js.map +1 -1
  76. package/package.json +6 -3
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC5G,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC5G,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,WAAW,EAAE,iBAAiB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE7I,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
package/dist/ios.d.ts ADDED
@@ -0,0 +1,24 @@
1
+ import type { Finding } from "./finding.js";
2
+ import type { ArtifactFile } from "./web.js";
3
+ /** A file inside an iOS .app, keyed relative to the bundle root. */
4
+ export interface BundleFile extends ArtifactFile {
5
+ }
6
+ export interface IosResult {
7
+ findings: Finding[];
8
+ notes: string[];
9
+ scannedFiles: number;
10
+ /** Every file of the bundle, for framework checks that look for engine-specific layouts. */
11
+ files: BundleFile[];
12
+ }
13
+ export declare function isIpa(path: string): boolean;
14
+ /** An iOS .app is flat (Info.plist at its root); a macOS .app has Contents/. */
15
+ export declare function isIosAppDir(dir: string): boolean;
16
+ /**
17
+ * Checks an iOS app bundle, from an .ipa or a .app folder: the Debug-build
18
+ * markers Xcode leaves, the provisioning profile, the main executable, a
19
+ * React Native bundle and any web code (Capacitor/Cordova) it carries.
20
+ */
21
+ export declare function analyzeIosBundle(files: BundleFile[], label: string): IosResult;
22
+ export declare function analyzeIpa(path: string): IosResult | null;
23
+ export declare function analyzeIosAppDir(dir: string, maxFiles: number): IosResult;
24
+ //# sourceMappingURL=ios.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ios.d.ts","sourceRoot":"","sources":["../src/ios.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAM5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAQ7C,oEAAoE;AACpE,MAAM,WAAW,UAAW,SAAQ,YAAY;CAAG;AAEnD,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,4FAA4F;IAC5F,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB;AAED,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE3C;AAED,gFAAgF;AAChF,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEhD;AAyBD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,CA2E9E;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CA6BzD;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,CAOzE"}
package/dist/ios.js ADDED
@@ -0,0 +1,170 @@
1
+ import { closeSync, existsSync, openSync, readFileSync, statSync } from "fs";
2
+ import { join, relative, sep } from "path";
3
+ import { finding } from "./finding.js";
4
+ import { frameworkChecks } from "./frameworks.js";
5
+ import { walkFiles } from "./fsutil.js";
6
+ import { analyzeNative, detectNativeFormat } from "./native.js";
7
+ import { parsePlist, plistInside } from "./plist.js";
8
+ import { analyzeWebFiles, isWebAsset } from "./web.js";
9
+ import { extractZipEntry, readZipEntries } from "./zip.js";
10
+ const HERMES_MAGIC = Buffer.from([0xc6, 0x1f, 0xbc, 0x03, 0xc1, 0x03, 0x19, 0x1f]);
11
+ const MAX_ENTRY_BYTES = 256 * 1024 * 1024;
12
+ const LC_ENCRYPTION_INFO = 0x21;
13
+ const LC_ENCRYPTION_INFO_64 = 0x2c;
14
+ export function isIpa(path) {
15
+ return /\.ipa$/i.test(path);
16
+ }
17
+ /** An iOS .app is flat (Info.plist at its root); a macOS .app has Contents/. */
18
+ export function isIosAppDir(dir) {
19
+ return dir.endsWith(".app") && existsSync(join(dir, "Info.plist")) && !existsSync(join(dir, "Contents"));
20
+ }
21
+ function dict(v) {
22
+ return v && typeof v === "object" && !Array.isArray(v) && !Buffer.isBuffer(v) ? v : {};
23
+ }
24
+ /** cryptid of the first thin Mach-O slice: 0 means the code is not FairPlay-encrypted. */
25
+ function cryptId(buf) {
26
+ let slice = buf;
27
+ if (detectNativeFormat(buf) === "fat-macho") {
28
+ const offset = buf.readUInt32BE(8 + 8);
29
+ slice = buf.subarray(offset);
30
+ }
31
+ if (detectNativeFormat(slice) !== "macho")
32
+ return null;
33
+ const is64 = slice.readUInt32LE(0) === 0xfeedfacf;
34
+ const ncmds = slice.readUInt32LE(16);
35
+ let p = is64 ? 32 : 28;
36
+ for (let i = 0; i < ncmds && p + 20 <= slice.length; i++) {
37
+ const cmd = slice.readUInt32LE(p);
38
+ if (cmd === LC_ENCRYPTION_INFO || cmd === LC_ENCRYPTION_INFO_64)
39
+ return slice.readUInt32LE(p + 16);
40
+ p += slice.readUInt32LE(p + 4);
41
+ }
42
+ return null;
43
+ }
44
+ /**
45
+ * Checks an iOS app bundle, from an .ipa or a .app folder: the Debug-build
46
+ * markers Xcode leaves, the provisioning profile, the main executable, a
47
+ * React Native bundle and any web code (Capacitor/Cordova) it carries.
48
+ */
49
+ export function analyzeIosBundle(files, label) {
50
+ const findings = [];
51
+ const notes = [];
52
+ const byKey = new Map(files.map((f) => [f.key, f]));
53
+ let scannedFiles = 0;
54
+ const info = dict(byKey.get("Info.plist")?.read() ? parsePlist(byKey.get("Info.plist").read()) : null);
55
+ const appName = label.split("/").pop()?.replace(/\.app$/, "") ?? "";
56
+ const exe = typeof info.CFBundleExecutable === "string" ? info.CFBundleExecutable : appName;
57
+ if (info.CFBundleIdentifier)
58
+ notes.push(`bundle ${String(info.CFBundleIdentifier)}${info.DTPlatformName ? ` (${String(info.DTPlatformName)})` : ""}`);
59
+ if (info.DTPlatformName === "iphonesimulator")
60
+ notes.push("Simulator build: it cannot be distributed, but its code is the same as a device build of that configuration");
61
+ // ── Debug configuration ──
62
+ const debugDylib = byKey.get(`${exe}.debug.dylib`);
63
+ const preview = byKey.get("__preview.dylib");
64
+ if (debugDylib || preview) {
65
+ findings.push(finding("ios_debug_build", (debugDylib ?? preview).display, {
66
+ match: [debugDylib ? `${exe}.debug.dylib` : "", preview ? "__preview.dylib" : ""].filter(Boolean).join(" + "),
67
+ }));
68
+ }
69
+ // ── Executables ──
70
+ const nativeTargets = [byKey.get(exe), debugDylib].filter((f) => f !== undefined);
71
+ for (const f of nativeTargets) {
72
+ const buf = f.read();
73
+ const result = buf ? analyzeNative(buf, f.display) : null;
74
+ if (!result || !buf)
75
+ continue;
76
+ scannedFiles++;
77
+ notes.push(...result.notes);
78
+ const isMain = f.key === exe;
79
+ for (const nf of result.findings) {
80
+ // Hardened Runtime is a macOS mechanism; iOS enforces code signing differently.
81
+ if (nf.patternId === "native_no_hardened_runtime")
82
+ continue;
83
+ if (!isMain && nf.patternId !== "native_debug_info" && nf.patternId !== "native_symbols_not_stripped")
84
+ continue;
85
+ findings.push(nf);
86
+ }
87
+ if (isMain) {
88
+ const id = cryptId(buf);
89
+ if (id === 0)
90
+ notes.push(`${exe} is not FairPlay-encrypted (normal for development and ad-hoc exports; the App Store encrypts on distribution)`);
91
+ }
92
+ }
93
+ if (!byKey.has(exe))
94
+ notes.push(`main executable ${exe} not found in the bundle`);
95
+ // ── Provisioning ──
96
+ const profile = byKey.get("embedded.mobileprovision")?.read();
97
+ if (profile) {
98
+ const p = dict(plistInside(profile));
99
+ const ent = dict(p.Entitlements ?? null);
100
+ const name = typeof p.Name === "string" ? p.Name : "embedded.mobileprovision";
101
+ if (ent["get-task-allow"] === true)
102
+ findings.push(finding("ios_development_profile", byKey.get("embedded.mobileprovision").display, { match: `${name}: get-task-allow = true` }));
103
+ else
104
+ notes.push(`provisioning profile ${name}${p.ProvisionsAllDevices ? " (enterprise)" : Array.isArray(p.ProvisionedDevices) ? " (ad hoc)" : ""}`);
105
+ }
106
+ // ── React Native / web code ──
107
+ const rn = byKey.get("main.jsbundle");
108
+ if (rn) {
109
+ const buf = rn.read();
110
+ if (buf && buf.subarray(0, 8).equals(HERMES_MAGIC))
111
+ notes.push("React Native bundle is Hermes bytecode");
112
+ else if (buf) {
113
+ findings.push(finding("ios_js_bundle_plaintext", rn.display, { match: `${(buf.length / 1024).toFixed(0)} KiB of JavaScript` }));
114
+ findings.push(...analyzeWebFiles([{ ...rn, key: "main.jsbundle.js", read: () => buf }]));
115
+ scannedFiles++;
116
+ }
117
+ }
118
+ const web = files.filter((f) => isWebAsset(f.key));
119
+ if (web.length > 0) {
120
+ scannedFiles += web.length;
121
+ findings.push(...analyzeWebFiles(web));
122
+ }
123
+ const engine = frameworkChecks(files);
124
+ findings.push(...engine.findings);
125
+ notes.push(...engine.notes);
126
+ return { findings, notes, scannedFiles, files };
127
+ }
128
+ export function analyzeIpa(path) {
129
+ const size = statSync(path).size;
130
+ const fd = openSync(path, "r");
131
+ let entries;
132
+ try {
133
+ entries = readZipEntries(fd, size);
134
+ }
135
+ finally {
136
+ closeSync(fd);
137
+ }
138
+ const first = entries.find((e) => /^Payload\/[^/]+\.app\//.test(e.name));
139
+ if (!first)
140
+ return null;
141
+ const prefix = first.name.slice(0, first.name.indexOf(".app/") + 5);
142
+ const files = entries
143
+ .filter((e) => e.name.startsWith(prefix) && !e.name.endsWith("/"))
144
+ .map((e) => ({
145
+ key: e.name.slice(prefix.length),
146
+ display: `${path}!/${e.name}`,
147
+ size: e.uncompressedSize,
148
+ read: () => {
149
+ if (e.uncompressedSize > MAX_ENTRY_BYTES)
150
+ return null;
151
+ const rfd = openSync(path, "r");
152
+ try {
153
+ return extractZipEntry(rfd, e);
154
+ }
155
+ finally {
156
+ closeSync(rfd);
157
+ }
158
+ },
159
+ }));
160
+ return analyzeIosBundle(files, prefix.slice(0, -1));
161
+ }
162
+ export function analyzeIosAppDir(dir, maxFiles) {
163
+ const files = [];
164
+ walkFiles(dir, { maxFiles, skipDirs: new Set(["node_modules", "_CodeSignature"]) }, (full) => {
165
+ const key = relative(dir, full).split(sep).join("/");
166
+ files.push({ key, display: full, size: statSync(full).size, read: () => (statSync(full).size > MAX_ENTRY_BYTES ? null : readFileSync(full)) });
167
+ });
168
+ return analyzeIosBundle(files, dir);
169
+ }
170
+ //# sourceMappingURL=ios.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ios.js","sourceRoot":"","sources":["../src/ios.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAErD,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEvD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE3D,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AACnF,MAAM,eAAe,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;AAC1C,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAChC,MAAM,qBAAqB,GAAG,IAAI,CAAC;AAanC,MAAM,UAAU,KAAK,CAAC,IAAY;IAChC,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,OAAO,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC;AAC3G,CAAC;AAED,SAAS,IAAI,CAAC,CAAoB;IAChC,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACzF,CAAC;AAED,0FAA0F;AAC1F,SAAS,OAAO,CAAC,GAAW;IAC1B,IAAI,KAAK,GAAG,GAAG,CAAC;IAChB,IAAI,kBAAkB,CAAC,GAAG,CAAC,KAAK,WAAW,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACvC,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,kBAAkB,CAAC,KAAK,CAAC,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC;IACvD,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC;IAClD,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzD,MAAM,GAAG,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,GAAG,KAAK,kBAAkB,IAAI,GAAG,KAAK,qBAAqB;YAAE,OAAO,KAAK,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACnG,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAmB,EAAE,KAAa;IACjE,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAE,CAAC,IAAI,EAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACzG,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;IACpE,MAAM,GAAG,GAAG,OAAO,IAAI,CAAC,kBAAkB,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC;IAC5F,IAAI,IAAI,CAAC,kBAAkB;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACtJ,IAAI,IAAI,CAAC,cAAc,KAAK,iBAAiB;QAAE,KAAK,CAAC,IAAI,CAAC,6GAA6G,CAAC,CAAC;IAEzK,4BAA4B;IAC5B,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,cAAc,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC7C,IAAI,UAAU,IAAI,OAAO,EAAE,CAAC;QAC1B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,UAAU,IAAI,OAAO,CAAE,CAAC,OAAO,EAAE;YACzE,KAAK,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;SAC9G,CAAC,CAAC,CAAC;IACN,CAAC;IAED,oBAAoB;IACpB,MAAM,aAAa,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAmB,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;IACnG,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1D,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG;YAAE,SAAS;QAC9B,YAAY,EAAE,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC;QAC7B,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACjC,gFAAgF;YAChF,IAAI,EAAE,CAAC,SAAS,KAAK,4BAA4B;gBAAE,SAAS;YAC5D,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,SAAS,KAAK,mBAAmB,IAAI,EAAE,CAAC,SAAS,KAAK,6BAA6B;gBAAE,SAAS;YAChH,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpB,CAAC;QACD,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,EAAE,KAAK,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,gHAAgH,CAAC,CAAC;QACnJ,CAAC;IACH,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,GAAG,0BAA0B,CAAC,CAAC;IAElF,qBAAqB;IACrB,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,0BAA0B,CAAC,EAAE,IAAI,EAAE,CAAC;IAC9D,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,0BAA0B,CAAC;QAC9E,IAAI,GAAG,CAAC,gBAAgB,CAAC,KAAK,IAAI;YAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,KAAK,CAAC,GAAG,CAAC,0BAA0B,CAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,IAAI,yBAAyB,EAAE,CAAC,CAAC,CAAC;;YAC9K,KAAK,CAAC,IAAI,CAAC,wBAAwB,IAAI,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACtJ,CAAC;IAED,gCAAgC;IAChC,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACtC,IAAI,EAAE,EAAE,CAAC;QACP,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;QACtB,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;aACpG,IAAI,GAAG,EAAE,CAAC;YACb,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC;YAChI,QAAQ,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,kBAAkB,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;YACzF,YAAY,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;IACD,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACnD,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnB,YAAY,IAAI,GAAG,CAAC,MAAM,CAAC;QAC3B,QAAQ,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACtC,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAClC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAE5B,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;IACjC,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC/B,IAAI,OAAO,CAAC;IACZ,IAAI,CAAC;QACH,OAAO,GAAG,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;YAAS,CAAC;QACT,SAAS,CAAC,EAAE,CAAC,CAAC;IAChB,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACzE,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IACpE,MAAM,KAAK,GAAiB,OAAO;SAChC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;SACjE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACX,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;QAChC,OAAO,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE;QAC7B,IAAI,EAAE,CAAC,CAAC,gBAAgB;QACxB,IAAI,EAAE,GAAG,EAAE;YACT,IAAI,CAAC,CAAC,gBAAgB,GAAG,eAAe;gBAAE,OAAO,IAAI,CAAC;YACtD,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC;gBACH,OAAO,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACjC,CAAC;oBAAS,CAAC;gBACT,SAAS,CAAC,GAAG,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;KACF,CAAC,CAAC,CAAC;IACN,OAAO,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAW,EAAE,QAAgB;IAC5D,MAAM,KAAK,GAAiB,EAAE,CAAC;IAC/B,SAAS,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;QAC3F,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrD,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;IACjJ,CAAC,CAAC,CAAC;IACH,OAAO,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACtC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../src/native.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,OAAO,GAAG,WAAW,GAAG,IAAI,CAAC;AAEhE,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,YAAY,CAAC;IACrB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAOD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAWtE;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAY5E;AAiVD,mHAAmH;AACnH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAiBnF;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG;IAAE,UAAU,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAc3F"}
1
+ {"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../src/native.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,OAAO,GAAG,WAAW,GAAG,IAAI,CAAC;AAEhE,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,YAAY,CAAC;IACrB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAOD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAWtE;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAY5E;AAmVD,mHAAmH;AACnH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAiBnF;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG;IAAE,UAAU,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAc3F"}
package/dist/native.js CHANGED
@@ -270,6 +270,9 @@ function analyzeFat(buf, file) {
270
270
  if (!seen.has(f.patternId))
271
271
  seen.set(f.patternId, f);
272
272
  }
273
+ // A slice without any signature outweighs another slice's ad-hoc one.
274
+ if (seen.has("native_unsigned"))
275
+ seen.delete("native_adhoc_signed");
273
276
  return { format: "fat-macho", findings: [...seen.values()], notes };
274
277
  }
275
278
  // ── PE / .NET ───────────────────────────────────────────────────────────────
@@ -1 +1 @@
1
- {"version":3,"file":"native.js","sourceRoot":"","sources":["../src/native.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"native.js","sourceRoot":"","sources":["../src/native.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export type PlistValue = string | number | boolean | null | Buffer | PlistValue[] | {
2
+ [key: string]: PlistValue;
3
+ };
4
+ export declare function parsePlist(buf: Buffer): PlistValue | null;
5
+ /** The XML plist inside a CMS-signed blob such as embedded.mobileprovision. */
6
+ export declare function plistInside(buf: Buffer): PlistValue | null;
7
+ //# sourceMappingURL=plist.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plist.d.ts","sourceRoot":"","sources":["../src/plist.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,UAAU,EAAE,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;CAAE,CAAC;AAElH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAKzD;AAED,+EAA+E;AAC/E,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAM1D"}
package/dist/plist.js ADDED
@@ -0,0 +1,156 @@
1
+ // Property lists as iOS bundles ship them: binary (bplist00) for Info.plist,
2
+ // XML inside embedded.mobileprovision and entitlements. Only what the checks
3
+ // need: dictionaries, arrays, strings, booleans and integers.
4
+ export function parsePlist(buf) {
5
+ if (buf.length >= 8 && buf.toString("latin1", 0, 8) === "bplist00")
6
+ return parseBinary(buf);
7
+ const text = buf.toString("utf8");
8
+ const start = text.indexOf("<plist");
9
+ return start === -1 ? null : parseXml(text.slice(start));
10
+ }
11
+ /** The XML plist inside a CMS-signed blob such as embedded.mobileprovision. */
12
+ export function plistInside(buf) {
13
+ const text = buf.toString("latin1");
14
+ const start = text.indexOf("<?xml");
15
+ const end = text.indexOf("</plist>", start);
16
+ if (start === -1 || end === -1)
17
+ return null;
18
+ return parseXml(Buffer.from(text.slice(start, end + 8), "latin1").toString("utf8"));
19
+ }
20
+ function parseBinary(buf) {
21
+ if (buf.length < 40)
22
+ return null;
23
+ const t = buf.length - 32;
24
+ const offsetSize = buf[t + 6];
25
+ const refSize = buf[t + 7];
26
+ const numObjects = Number(buf.readBigUInt64BE(t + 8));
27
+ const top = Number(buf.readBigUInt64BE(t + 16));
28
+ const tableOffset = Number(buf.readBigUInt64BE(t + 24));
29
+ const readUInt = (p, size) => {
30
+ let v = 0;
31
+ for (let i = 0; i < size; i++)
32
+ v = v * 256 + buf[p + i];
33
+ return v;
34
+ };
35
+ const offsetOf = (ref) => readUInt(tableOffset + ref * offsetSize, offsetSize);
36
+ const parse = (ref, depth) => {
37
+ if (depth > 32 || ref >= numObjects)
38
+ return null;
39
+ let p = offsetOf(ref);
40
+ const marker = buf[p];
41
+ const kind = marker >> 4;
42
+ let len = marker & 0x0f;
43
+ p++;
44
+ if (kind === 0x0)
45
+ return marker === 0x09 ? true : marker === 0x08 ? false : null;
46
+ if (kind === 0x1)
47
+ return readUInt(p, 1 << len);
48
+ if ((kind === 0x4 || kind === 0x5 || kind === 0x6 || kind === 0xa || kind === 0xd) && len === 0x0f) {
49
+ const intSize = 1 << (buf[p] & 0x0f);
50
+ len = readUInt(p + 1, intSize);
51
+ p += 1 + intSize;
52
+ }
53
+ switch (kind) {
54
+ case 0x4:
55
+ return buf.subarray(p, p + len);
56
+ case 0x5:
57
+ return buf.toString("latin1", p, p + len);
58
+ case 0x6: {
59
+ const chars = [];
60
+ for (let i = 0; i < len; i++)
61
+ chars.push(String.fromCharCode(buf.readUInt16BE(p + i * 2)));
62
+ return chars.join("");
63
+ }
64
+ case 0xa:
65
+ return Array.from({ length: len }, (_, i) => parse(readUInt(p + i * refSize, refSize), depth + 1));
66
+ case 0xd: {
67
+ const out = {};
68
+ for (let i = 0; i < len; i++) {
69
+ const key = parse(readUInt(p + i * refSize, refSize), depth + 1);
70
+ out[String(key)] = parse(readUInt(p + (len + i) * refSize, refSize), depth + 1);
71
+ }
72
+ return out;
73
+ }
74
+ default:
75
+ return null; // reals, dates, uids: not needed
76
+ }
77
+ };
78
+ try {
79
+ return parse(top, 0);
80
+ }
81
+ catch {
82
+ return null;
83
+ }
84
+ }
85
+ function decodeEntities(s) {
86
+ return s.replace(/&lt;/g, "<").replace(/&gt;/g, ">").replace(/&quot;/g, '"').replace(/&apos;/g, "'").replace(/&amp;/g, "&");
87
+ }
88
+ /** A small tokenizer over plist XML tags; plists from Xcode are well-formed and shallow. */
89
+ function parseXml(text) {
90
+ const tokens = [];
91
+ let p = 0;
92
+ while (p < text.length) {
93
+ const lt = text.indexOf("<", p);
94
+ if (lt === -1)
95
+ break;
96
+ const gt = text.indexOf(">", lt);
97
+ if (gt === -1)
98
+ break;
99
+ const raw = text.slice(lt + 1, gt);
100
+ const nextLt = text.indexOf("<", gt);
101
+ const body = nextLt === -1 ? "" : text.slice(gt + 1, nextLt);
102
+ p = gt + 1;
103
+ if (raw.startsWith("?") || raw.startsWith("!"))
104
+ continue;
105
+ const close = raw.startsWith("/");
106
+ const self = raw.endsWith("/");
107
+ const tag = raw.replace(/^\//, "").replace(/\/$/, "").trim().split(/\s/)[0];
108
+ tokens.push({ tag, close, self, text: body });
109
+ }
110
+ let i = 0;
111
+ const value = (depth) => {
112
+ if (depth > 32 || i >= tokens.length)
113
+ return null;
114
+ const t = tokens[i++];
115
+ if (t.self)
116
+ return t.tag === "true" ? true : t.tag === "false" ? false : t.tag === "dict" ? {} : t.tag === "array" ? [] : null;
117
+ if (t.tag === "string" || t.tag === "key" || t.tag === "date") {
118
+ i++; // closing tag
119
+ return decodeEntities(t.text);
120
+ }
121
+ if (t.tag === "integer" || t.tag === "real") {
122
+ i++;
123
+ return Number(t.text.trim());
124
+ }
125
+ if (t.tag === "data") {
126
+ i++;
127
+ return Buffer.from(t.text.replace(/\s+/g, ""), "base64");
128
+ }
129
+ if (t.tag === "array") {
130
+ const out = [];
131
+ while (i < tokens.length && !(tokens[i].close && tokens[i].tag === "array"))
132
+ out.push(value(depth + 1));
133
+ i++;
134
+ return out;
135
+ }
136
+ if (t.tag === "dict") {
137
+ const out = {};
138
+ while (i < tokens.length && !(tokens[i].close && tokens[i].tag === "dict")) {
139
+ const key = value(depth + 1);
140
+ out[String(key)] = value(depth + 1);
141
+ }
142
+ i++;
143
+ return out;
144
+ }
145
+ if (t.tag === "plist")
146
+ return value(depth + 1);
147
+ return null;
148
+ };
149
+ try {
150
+ return value(0);
151
+ }
152
+ catch {
153
+ return null;
154
+ }
155
+ }
156
+ //# sourceMappingURL=plist.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plist.js","sourceRoot":"","sources":["../src/plist.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { AxmlElement } from "./axml.js";
2
+ interface Field {
3
+ no: number;
4
+ wire: number;
5
+ /** varint value for wire type 0 */
6
+ num?: number;
7
+ /** bytes for wire type 2 */
8
+ bytes?: Buffer;
9
+ }
10
+ export declare function readFields(buf: Buffer): Field[];
11
+ /** Elements in document order, the same shape parseAxml returns; null when the bytes are not an XmlNode. */
12
+ export declare function parseProtoXml(buf: Buffer): AxmlElement[] | null;
13
+ export {};
14
+ //# sourceMappingURL=protoxml.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protoxml.d.ts","sourceRoot":"","sources":["../src/protoxml.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAiB,WAAW,EAAE,MAAM,WAAW,CAAC;AAE5D,UAAU,KAAK;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAeD,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,EAAE,CA2B/C;AAeD,4GAA4G;AAC5G,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,EAAE,GAAG,IAAI,CAwB/D"}