deepadb 1.0.6 → 1.0.8
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/README.md +53 -19
- package/build/bridge/local-bridge.d.ts +40 -1
- package/build/bridge/local-bridge.d.ts.map +1 -1
- package/build/bridge/local-bridge.js +155 -5
- package/build/bridge/local-bridge.js.map +1 -1
- package/build/index.js +2 -1
- package/build/index.js.map +1 -1
- package/build/middleware/auth.d.ts +10 -0
- package/build/middleware/auth.d.ts.map +1 -1
- package/build/middleware/auth.js +48 -0
- package/build/middleware/auth.js.map +1 -1
- package/build/middleware/ui-dump.d.ts +21 -0
- package/build/middleware/ui-dump.d.ts.map +1 -1
- package/build/middleware/ui-dump.js +38 -0
- package/build/middleware/ui-dump.js.map +1 -1
- package/build/server.d.ts.map +1 -1
- package/build/server.js +6 -2
- package/build/server.js.map +1 -1
- package/build/tools/at-commands.d.ts.map +1 -1
- package/build/tools/at-commands.js +192 -0
- package/build/tools/at-commands.js.map +1 -1
- package/build/tools/diagnostics.d.ts +2 -2
- package/build/tools/diagnostics.d.ts.map +1 -1
- package/build/tools/diagnostics.js +86 -3
- package/build/tools/diagnostics.js.map +1 -1
- package/build/tools/firmware-analysis.d.ts.map +1 -1
- package/build/tools/firmware-analysis.js +24 -0
- package/build/tools/firmware-analysis.js.map +1 -1
- package/build/tools/input-gestures.d.ts +11 -0
- package/build/tools/input-gestures.d.ts.map +1 -0
- package/build/tools/input-gestures.js +766 -0
- package/build/tools/input-gestures.js.map +1 -0
- package/build/tools/multi-device.d.ts.map +1 -1
- package/build/tools/multi-device.js +186 -0
- package/build/tools/multi-device.js.map +1 -1
- package/build/tools/qemu.d.ts.map +1 -1
- package/build/tools/qemu.js +246 -2
- package/build/tools/qemu.js.map +1 -1
- package/build/tools/ui.js +2 -48
- package/build/tools/ui.js.map +1 -1
- package/build/tools/wireless-firmware.d.ts +16 -0
- package/build/tools/wireless-firmware.d.ts.map +1 -0
- package/build/tools/wireless-firmware.js +566 -0
- package/build/tools/wireless-firmware.js.map +1 -0
- package/package.json +3 -3
package/build/tools/qemu.js
CHANGED
|
@@ -16,10 +16,11 @@
|
|
|
16
16
|
import { z } from "zod";
|
|
17
17
|
import { join, resolve, basename } from "path";
|
|
18
18
|
import { mkdirSync, existsSync, readdirSync, statSync, unlinkSync } from "fs";
|
|
19
|
-
import { spawn, spawnSync } from "child_process";
|
|
19
|
+
import { execFile, spawn, spawnSync } from "child_process";
|
|
20
20
|
import { OutputProcessor } from "../middleware/output-processor.js";
|
|
21
21
|
import { isOnDevice } from "../config/config.js";
|
|
22
22
|
import { registerCleanup, unregisterCleanup } from "../middleware/cleanup.js";
|
|
23
|
+
import { LocalBridge } from "../bridge/local-bridge.js";
|
|
23
24
|
/** Maximum concurrent QEMU VMs to prevent resource exhaustion. */
|
|
24
25
|
const MAX_VMS = 3;
|
|
25
26
|
/**
|
|
@@ -156,11 +157,63 @@ function verifyContainment(filePath, imageDir) {
|
|
|
156
157
|
const resolvedDir = resolve(imageDir);
|
|
157
158
|
return resolved.startsWith(resolvedDir + "/") || resolved.startsWith(resolvedDir + "\\");
|
|
158
159
|
}
|
|
159
|
-
/**
|
|
160
|
+
/**
|
|
161
|
+
* Find the `adb` binary in the system PATH.
|
|
162
|
+
* Required for guest ADB connectivity (connecting to VMs).
|
|
163
|
+
* Returns null if not found — the tool will suggest installation instructions.
|
|
164
|
+
*
|
|
165
|
+
* SECURITY: The path is discovered from the system, never user-supplied.
|
|
166
|
+
* Only standard Termux locations are checked.
|
|
167
|
+
*/
|
|
168
|
+
function findAdbBinary() {
|
|
169
|
+
try {
|
|
170
|
+
const result = spawnSync("which", ["adb"], { timeout: 3000 });
|
|
171
|
+
if (result.status === 0 && result.stdout) {
|
|
172
|
+
const path = result.stdout.toString().trim();
|
|
173
|
+
if (path.length > 0 && existsSync(path))
|
|
174
|
+
return path;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
catch { /* which not available or failed */ }
|
|
178
|
+
// Fallback: common Termux location
|
|
179
|
+
const termuxAdb = "/data/data/com.termux/files/usr/bin/adb";
|
|
180
|
+
if (existsSync(termuxAdb))
|
|
181
|
+
return termuxAdb;
|
|
182
|
+
return null;
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Execute an ADB command directly using the system adb binary.
|
|
186
|
+
* Bypasses the bridge (which uses LocalBridge in on-device mode) because
|
|
187
|
+
* guest ADB connectivity requires the actual ADB client/server protocol.
|
|
188
|
+
*
|
|
189
|
+
* SECURITY: Only called with internally-constructed arguments (never raw user input).
|
|
190
|
+
* Host/port values are derived from the runningVms map, not user-supplied.
|
|
191
|
+
*/
|
|
192
|
+
function execAdb(adbPath, args, timeout = 15000) {
|
|
193
|
+
return new Promise((resolve) => {
|
|
194
|
+
execFile(adbPath, args, { timeout, maxBuffer: 1024 * 1024 }, (error, stdout, stderr) => {
|
|
195
|
+
resolve({
|
|
196
|
+
stdout: stdout?.toString() ?? "",
|
|
197
|
+
stderr: stderr?.toString() ?? "",
|
|
198
|
+
exitCode: error?.code != null ? (typeof error.code === "number" ? error.code : 1) : 0,
|
|
199
|
+
});
|
|
200
|
+
});
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
/** Register cleanup to disconnect and kill all QEMU VMs on process exit. */
|
|
160
204
|
function updateCleanup() {
|
|
161
205
|
if (runningVms.size > 0) {
|
|
162
206
|
registerCleanup("qemu-vms", () => {
|
|
207
|
+
const adbPath = findAdbBinary();
|
|
163
208
|
for (const [, vm] of runningVms) {
|
|
209
|
+
// Disconnect guest ADB before killing QEMU (best-effort, sync)
|
|
210
|
+
if (vm.connected && vm.guestSerial && adbPath) {
|
|
211
|
+
try {
|
|
212
|
+
spawnSync(adbPath, ["disconnect", vm.guestSerial], { timeout: 3000 });
|
|
213
|
+
}
|
|
214
|
+
catch { /* best-effort */ }
|
|
215
|
+
LocalBridge.unregisterGuestDevice(vm.guestSerial);
|
|
216
|
+
}
|
|
164
217
|
try {
|
|
165
218
|
vm.process.kill("SIGKILL");
|
|
166
219
|
}
|
|
@@ -607,6 +660,8 @@ export function registerQemuTools(ctx) {
|
|
|
607
660
|
qemuPid: null,
|
|
608
661
|
pidFile: pidFilePath,
|
|
609
662
|
rootElevated: useKvm,
|
|
663
|
+
connected: false,
|
|
664
|
+
guestSerial: null,
|
|
610
665
|
};
|
|
611
666
|
runningVms.set(safeName, vmInfo);
|
|
612
667
|
updateCleanup();
|
|
@@ -624,6 +679,14 @@ export function registerQemuTools(ctx) {
|
|
|
624
679
|
});
|
|
625
680
|
proc.on("exit", (code) => {
|
|
626
681
|
ctx.logger.info(`[qemu:${safeName}] Exited (code: ${code})`);
|
|
682
|
+
const exitedVm = runningVms.get(safeName);
|
|
683
|
+
if (exitedVm) {
|
|
684
|
+
if (exitedVm.guestSerial) {
|
|
685
|
+
LocalBridge.unregisterGuestDevice(exitedVm.guestSerial);
|
|
686
|
+
}
|
|
687
|
+
exitedVm.connected = false;
|
|
688
|
+
exitedVm.guestSerial = null;
|
|
689
|
+
}
|
|
627
690
|
runningVms.delete(safeName);
|
|
628
691
|
updateCleanup();
|
|
629
692
|
});
|
|
@@ -692,6 +755,20 @@ export function registerQemuTools(ctx) {
|
|
|
692
755
|
if (!vm) {
|
|
693
756
|
return { content: [{ type: "text", text: `VM '${safeName}' is not running.` }], isError: true };
|
|
694
757
|
}
|
|
758
|
+
// Disconnect guest ADB before killing QEMU (prevents stale ADB entries)
|
|
759
|
+
if (vm.connected && vm.guestSerial) {
|
|
760
|
+
const adbPath = findAdbBinary();
|
|
761
|
+
if (adbPath) {
|
|
762
|
+
try {
|
|
763
|
+
await execAdb(adbPath, ["disconnect", vm.guestSerial], 5000);
|
|
764
|
+
ctx.deviceManager.invalidateCache();
|
|
765
|
+
}
|
|
766
|
+
catch { /* best-effort */ }
|
|
767
|
+
}
|
|
768
|
+
LocalBridge.unregisterGuestDevice(vm.guestSerial);
|
|
769
|
+
vm.connected = false;
|
|
770
|
+
vm.guestSerial = null;
|
|
771
|
+
}
|
|
695
772
|
try {
|
|
696
773
|
vm.process.kill(force ? "SIGKILL" : "SIGTERM");
|
|
697
774
|
}
|
|
@@ -771,6 +848,12 @@ export function registerQemuTools(ctx) {
|
|
|
771
848
|
sections.push(` Image: ${basename(vm.imagePath)}`);
|
|
772
849
|
sections.push(` Resources: ${vm.memoryMb} MB RAM, ${vm.cpus} CPU(s)`);
|
|
773
850
|
sections.push(` ADB: localhost:${vm.adbPort} → guest:5555`);
|
|
851
|
+
if (vm.connected && vm.guestSerial) {
|
|
852
|
+
sections.push(` Guest ADB: ✓ connected (serial: ${vm.guestSerial})`);
|
|
853
|
+
}
|
|
854
|
+
else {
|
|
855
|
+
sections.push(` Guest ADB: not connected (use adb_qemu_connect)`);
|
|
856
|
+
}
|
|
774
857
|
sections.push(` Uptime: ${uptimeMin}m ${uptimeSec}s`);
|
|
775
858
|
}
|
|
776
859
|
}
|
|
@@ -787,5 +870,166 @@ export function registerQemuTools(ctx) {
|
|
|
787
870
|
return { content: [{ type: "text", text: OutputProcessor.formatError(error) }], isError: true };
|
|
788
871
|
}
|
|
789
872
|
});
|
|
873
|
+
ctx.server.tool("adb_qemu_connect", "Connect to a running QEMU VM's ADB service, making the guest appear as a device for DeepADB tools. Requires the guest OS to have an ADB daemon running (e.g., Android guest with USB debugging enabled). Requires the 'adb' binary (install with: pkg install android-tools). Connections are restricted to localhost only — no remote host connections allowed.", {
|
|
874
|
+
name: z.string().describe("VM name to connect to (must be running)"),
|
|
875
|
+
timeout: z.number().min(3000).max(30000).optional().default(10000)
|
|
876
|
+
.describe("Connection timeout in milliseconds (3s-30s). Default 10s."),
|
|
877
|
+
}, async ({ name, timeout }) => {
|
|
878
|
+
try {
|
|
879
|
+
if (!isOnDevice()) {
|
|
880
|
+
return { content: [{ type: "text", text: "QEMU tools are only available in on-device mode." }], isError: true };
|
|
881
|
+
}
|
|
882
|
+
const safeName = sanitizeName(name);
|
|
883
|
+
const vm = runningVms.get(safeName);
|
|
884
|
+
if (!vm) {
|
|
885
|
+
return { content: [{ type: "text", text: `VM '${safeName}' is not running.` }], isError: true };
|
|
886
|
+
}
|
|
887
|
+
if (vm.connected) {
|
|
888
|
+
return { content: [{ type: "text", text: `VM '${safeName}' is already connected (serial: ${vm.guestSerial}).` }] };
|
|
889
|
+
}
|
|
890
|
+
// Find ADB binary
|
|
891
|
+
const adbPath = findAdbBinary();
|
|
892
|
+
if (!adbPath) {
|
|
893
|
+
return {
|
|
894
|
+
content: [{
|
|
895
|
+
type: "text",
|
|
896
|
+
text: "ADB binary not found. Install with: pkg install android-tools\nThen retry: adb_qemu_connect",
|
|
897
|
+
}],
|
|
898
|
+
isError: true,
|
|
899
|
+
};
|
|
900
|
+
}
|
|
901
|
+
// SECURITY: Only connect to localhost — never to external hosts.
|
|
902
|
+
// The port is derived from the running VM's configuration, not user input.
|
|
903
|
+
const guestSerial = `localhost:${vm.adbPort}`;
|
|
904
|
+
// Ensure ADB server is running
|
|
905
|
+
await execAdb(adbPath, ["start-server"], 10000);
|
|
906
|
+
// Connect to guest ADB
|
|
907
|
+
const connectResult = await execAdb(adbPath, ["connect", guestSerial], timeout);
|
|
908
|
+
const output = (connectResult.stdout + connectResult.stderr).trim();
|
|
909
|
+
// Check for success patterns
|
|
910
|
+
const isConnected = output.includes("connected to") || output.includes("already connected");
|
|
911
|
+
if (isConnected) {
|
|
912
|
+
vm.connected = true;
|
|
913
|
+
vm.guestSerial = guestSerial;
|
|
914
|
+
LocalBridge.registerGuestDevice(guestSerial);
|
|
915
|
+
ctx.deviceManager.invalidateCache();
|
|
916
|
+
// Verify the guest appears in device list
|
|
917
|
+
const devicesResult = await execAdb(adbPath, ["devices", "-l"], 5000);
|
|
918
|
+
const guestLine = devicesResult.stdout.split("\n")
|
|
919
|
+
.find(line => line.includes(guestSerial));
|
|
920
|
+
const sections = [];
|
|
921
|
+
sections.push(`✓ Connected to VM '${safeName}' guest ADB`);
|
|
922
|
+
sections.push(`Guest serial: ${guestSerial}`);
|
|
923
|
+
if (guestLine) {
|
|
924
|
+
sections.push(`Device status: ${guestLine.trim()}`);
|
|
925
|
+
}
|
|
926
|
+
sections.push(`\nRun commands on guest: adb_qemu_guest_shell name="${safeName}" command="getprop ro.build.display.id"`);
|
|
927
|
+
sections.push(`Disconnect: adb_qemu_disconnect name="${safeName}"`);
|
|
928
|
+
return { content: [{ type: "text", text: sections.join("\n") }] };
|
|
929
|
+
}
|
|
930
|
+
return {
|
|
931
|
+
content: [{
|
|
932
|
+
type: "text",
|
|
933
|
+
text: `Failed to connect to VM '${safeName}' on ${guestSerial}.\n${output}\n\nEnsure the guest OS has an ADB daemon running (e.g., Android with USB debugging enabled).`,
|
|
934
|
+
}],
|
|
935
|
+
isError: true,
|
|
936
|
+
};
|
|
937
|
+
}
|
|
938
|
+
catch (error) {
|
|
939
|
+
return { content: [{ type: "text", text: OutputProcessor.formatError(error) }], isError: true };
|
|
940
|
+
}
|
|
941
|
+
});
|
|
942
|
+
ctx.server.tool("adb_qemu_disconnect", "Disconnect from a QEMU VM's ADB service. Removes the guest from the device list.", {
|
|
943
|
+
name: z.string().describe("VM name to disconnect from"),
|
|
944
|
+
}, async ({ name }) => {
|
|
945
|
+
try {
|
|
946
|
+
if (!isOnDevice()) {
|
|
947
|
+
return { content: [{ type: "text", text: "QEMU tools are only available in on-device mode." }], isError: true };
|
|
948
|
+
}
|
|
949
|
+
const safeName = sanitizeName(name);
|
|
950
|
+
const vm = runningVms.get(safeName);
|
|
951
|
+
if (!vm) {
|
|
952
|
+
return { content: [{ type: "text", text: `VM '${safeName}' is not running.` }], isError: true };
|
|
953
|
+
}
|
|
954
|
+
if (!vm.connected || !vm.guestSerial) {
|
|
955
|
+
return { content: [{ type: "text", text: `VM '${safeName}' is not connected.` }] };
|
|
956
|
+
}
|
|
957
|
+
const adbPath = findAdbBinary();
|
|
958
|
+
if (!adbPath) {
|
|
959
|
+
// Can't disconnect without ADB, but clear state anyway
|
|
960
|
+
LocalBridge.unregisterGuestDevice(vm.guestSerial);
|
|
961
|
+
vm.connected = false;
|
|
962
|
+
vm.guestSerial = null;
|
|
963
|
+
return { content: [{ type: "text", text: `Cleared connection state for '${safeName}' (ADB binary not found).` }] };
|
|
964
|
+
}
|
|
965
|
+
const serial = vm.guestSerial;
|
|
966
|
+
await execAdb(adbPath, ["disconnect", serial], 5000);
|
|
967
|
+
vm.connected = false;
|
|
968
|
+
vm.guestSerial = null;
|
|
969
|
+
LocalBridge.unregisterGuestDevice(serial);
|
|
970
|
+
ctx.deviceManager.invalidateCache();
|
|
971
|
+
return { content: [{ type: "text", text: `✓ Disconnected from VM '${safeName}' (was ${serial}).` }] };
|
|
972
|
+
}
|
|
973
|
+
catch (error) {
|
|
974
|
+
return { content: [{ type: "text", text: OutputProcessor.formatError(error) }], isError: true };
|
|
975
|
+
}
|
|
976
|
+
});
|
|
977
|
+
ctx.server.tool("adb_qemu_guest_shell", "Execute a shell command on a QEMU guest VM via ADB. The VM must be connected first (use adb_qemu_connect). The guest serial is derived internally — no user-supplied host/IP reaches the ADB binary. Subject to the same security middleware checks as adb_shell.", {
|
|
978
|
+
name: z.string().describe("VM name (must be connected via adb_qemu_connect)"),
|
|
979
|
+
command: z.string().describe("Shell command to execute on the guest"),
|
|
980
|
+
timeout: z.number().min(1000).max(60000).optional().default(15000)
|
|
981
|
+
.describe("Command timeout in milliseconds (1s-60s). Default 15s."),
|
|
982
|
+
}, async ({ name, command, timeout }) => {
|
|
983
|
+
try {
|
|
984
|
+
if (!isOnDevice()) {
|
|
985
|
+
return { content: [{ type: "text", text: "QEMU tools are only available in on-device mode." }], isError: true };
|
|
986
|
+
}
|
|
987
|
+
// Security: command goes through the same security middleware as adb_shell
|
|
988
|
+
const blocked = ctx.security.checkCommand(command);
|
|
989
|
+
if (blocked) {
|
|
990
|
+
return { content: [{ type: "text", text: blocked }], isError: true };
|
|
991
|
+
}
|
|
992
|
+
const safeName = sanitizeName(name);
|
|
993
|
+
const vm = runningVms.get(safeName);
|
|
994
|
+
if (!vm) {
|
|
995
|
+
return { content: [{ type: "text", text: `VM '${safeName}' is not running.` }], isError: true };
|
|
996
|
+
}
|
|
997
|
+
if (!vm.connected || !vm.guestSerial) {
|
|
998
|
+
return {
|
|
999
|
+
content: [{
|
|
1000
|
+
type: "text",
|
|
1001
|
+
text: `VM '${safeName}' is not connected. Run adb_qemu_connect first.`,
|
|
1002
|
+
}],
|
|
1003
|
+
isError: true,
|
|
1004
|
+
};
|
|
1005
|
+
}
|
|
1006
|
+
const adbPath = findAdbBinary();
|
|
1007
|
+
if (!adbPath) {
|
|
1008
|
+
return { content: [{ type: "text", text: "ADB binary not found. Install with: pkg install android-tools" }], isError: true };
|
|
1009
|
+
}
|
|
1010
|
+
// SECURITY: The serial is derived from the running VM's internal state (localhost:<port>).
|
|
1011
|
+
// It is NEVER constructed from user input. This prevents injection of arbitrary
|
|
1012
|
+
// host addresses into the adb command.
|
|
1013
|
+
const result = await execAdb(adbPath, ["-s", vm.guestSerial, "shell", command], timeout);
|
|
1014
|
+
if (result.exitCode !== 0 && result.stderr.includes("device offline")) {
|
|
1015
|
+
if (vm.guestSerial)
|
|
1016
|
+
LocalBridge.unregisterGuestDevice(vm.guestSerial);
|
|
1017
|
+
vm.connected = false;
|
|
1018
|
+
vm.guestSerial = null;
|
|
1019
|
+
return {
|
|
1020
|
+
content: [{
|
|
1021
|
+
type: "text",
|
|
1022
|
+
text: `Guest '${safeName}' is offline (ADB connection lost). Reconnect with adb_qemu_connect.`,
|
|
1023
|
+
}],
|
|
1024
|
+
isError: true,
|
|
1025
|
+
};
|
|
1026
|
+
}
|
|
1027
|
+
const output = result.stdout.trim() || result.stderr.trim() || "(no output)";
|
|
1028
|
+
return { content: [{ type: "text", text: OutputProcessor.process(output) }] };
|
|
1029
|
+
}
|
|
1030
|
+
catch (error) {
|
|
1031
|
+
return { content: [{ type: "text", text: OutputProcessor.formatError(error) }], isError: true };
|
|
1032
|
+
}
|
|
1033
|
+
});
|
|
790
1034
|
}
|
|
791
1035
|
//# sourceMappingURL=qemu.js.map
|
package/build/tools/qemu.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qemu.js","sourceRoot":"","sources":["../../src/tools/qemu.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"qemu.js","sourceRoot":"","sources":["../../src/tools/qemu.ts"],"names":[],"mappings":"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"}
|
package/build/tools/ui.js
CHANGED
|
@@ -5,7 +5,7 @@ import { z } from "zod";
|
|
|
5
5
|
import { join, basename } from "path";
|
|
6
6
|
import { OutputProcessor } from "../middleware/output-processor.js";
|
|
7
7
|
import { shellEscape } from "../middleware/sanitize.js";
|
|
8
|
-
import { captureUiDump,
|
|
8
|
+
import { captureUiDump, parseUiNodes } from "../middleware/ui-dump.js";
|
|
9
9
|
import { isOnDevice } from "../config/config.js";
|
|
10
10
|
function sanitizeFilename(name) {
|
|
11
11
|
const base = basename(name);
|
|
@@ -186,6 +186,7 @@ export function registerUiTools(ctx) {
|
|
|
186
186
|
}
|
|
187
187
|
});
|
|
188
188
|
}
|
|
189
|
+
// ── UI Hierarchy Helpers ──────────────────────────────────────────────
|
|
189
190
|
/** Format a UI element for output. `showFlags` includes interaction flags (for dump); omit for find (shows tap coords instead). */
|
|
190
191
|
function formatElement(el, index, showFlags) {
|
|
191
192
|
const parts = [`[${index}]`];
|
|
@@ -216,51 +217,4 @@ function formatElement(el, index, showFlags) {
|
|
|
216
217
|
}
|
|
217
218
|
return parts.join(" | ");
|
|
218
219
|
}
|
|
219
|
-
const ATTR_REGEXES = UI_ATTR_REGEXES;
|
|
220
|
-
/** Parse <node> elements from uiautomator XML dump. */
|
|
221
|
-
function parseUiNodes(xml, clickableOnly) {
|
|
222
|
-
const elements = [];
|
|
223
|
-
const nodeRegex = /<node\s+([^>]+)\/?>/g;
|
|
224
|
-
let match;
|
|
225
|
-
while ((match = nodeRegex.exec(xml)) !== null) {
|
|
226
|
-
const attrs = match[1];
|
|
227
|
-
const get = (name) => {
|
|
228
|
-
const regex = ATTR_REGEXES[name];
|
|
229
|
-
if (!regex)
|
|
230
|
-
return "";
|
|
231
|
-
const m = attrs.match(regex);
|
|
232
|
-
return m ? m[1] : "";
|
|
233
|
-
};
|
|
234
|
-
const clickable = get("clickable") === "true";
|
|
235
|
-
const scrollable = get("scrollable") === "true";
|
|
236
|
-
const focusable = get("focusable") === "true";
|
|
237
|
-
if (clickableOnly && !clickable && !scrollable)
|
|
238
|
-
continue;
|
|
239
|
-
// Parse bounds="[left,top][right,bottom]"
|
|
240
|
-
const boundsStr = get("bounds");
|
|
241
|
-
const boundsMatch = boundsStr.match(/\[(\d+),(\d+)\]\[(\d+),(\d+)\]/);
|
|
242
|
-
if (!boundsMatch)
|
|
243
|
-
continue;
|
|
244
|
-
const left = parseInt(boundsMatch[1], 10);
|
|
245
|
-
const top = parseInt(boundsMatch[2], 10);
|
|
246
|
-
const right = parseInt(boundsMatch[3], 10);
|
|
247
|
-
const bottom = parseInt(boundsMatch[4], 10);
|
|
248
|
-
elements.push({
|
|
249
|
-
resourceId: get("resource-id"),
|
|
250
|
-
text: get("text"),
|
|
251
|
-
contentDesc: get("content-desc"),
|
|
252
|
-
className: get("class").replace("android.widget.", "").replace("android.view.", ""),
|
|
253
|
-
clickable,
|
|
254
|
-
scrollable,
|
|
255
|
-
focusable,
|
|
256
|
-
enabled: get("enabled") !== "false",
|
|
257
|
-
bounds: {
|
|
258
|
-
left, top, right, bottom,
|
|
259
|
-
centerX: Math.round((left + right) / 2),
|
|
260
|
-
centerY: Math.round((top + bottom) / 2),
|
|
261
|
-
},
|
|
262
|
-
});
|
|
263
|
-
}
|
|
264
|
-
return elements;
|
|
265
|
-
}
|
|
266
220
|
//# sourceMappingURL=ui.js.map
|
package/build/tools/ui.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/tools/ui.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/tools/ui.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wireless Firmware Tools — WiFi, Bluetooth, and NFC firmware identification.
|
|
3
|
+
*
|
|
4
|
+
* Provides detailed firmware versioning and chipset identification for
|
|
5
|
+
* short-range wireless radios. Complements the baseband/modem tools which
|
|
6
|
+
* cover cellular radio firmware.
|
|
7
|
+
*
|
|
8
|
+
* Queries Android system properties and dumpsys services to extract
|
|
9
|
+
* firmware versions, driver info, chipset identification, and capabilities.
|
|
10
|
+
*
|
|
11
|
+
* Privacy: MAC addresses and device names are opt-in (like IMEI in baseband
|
|
12
|
+
* tools) since they are permanent hardware identifiers.
|
|
13
|
+
*/
|
|
14
|
+
import { ToolContext } from "../tool-context.js";
|
|
15
|
+
export declare function registerWirelessFirmwareTools(ctx: ToolContext): void;
|
|
16
|
+
//# sourceMappingURL=wireless-firmware.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wireless-firmware.d.ts","sourceRoot":"","sources":["../../src/tools/wireless-firmware.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AA8PjD,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CA8TpE"}
|