[
    {
        "id": "1788627556-b60a",
        "cmd": "reiniciar_captura",
        "estado": "hecho",
        "ts_creado": "2026-09-05 11:59:16",
        "resultado": "captura reiniciada. vend_run: 32172 32176 32180 32182 \n",
        "ts_enviado": "2026-09-05 11:59:41",
        "ts_resultado": "2026-09-05 11:59:45"
    },
    {
        "id": "1788627621-6b27",
        "cmd": "estado",
        "estado": "hecho",
        "ts_creado": "2026-09-05 12:00:21",
        "resultado": "fecha placa : 2026-09-05 12:00:46\ncaptura     : 32172 32176 32180 32182 \nstrace      : 32194 \nagente      : 1383 32347 \ncom.weimi   : 25411 \nwifi wlan0  : \nbateria     : level:50\ndisco \/data : \/dev\/block\/mmcblk2p16  10G  1.6G  8.0G  18% \/mnt\/installer\/0\/emulated\/0\/Android\/obb\nultimas lineas de captura:\n2026-09-05 12:00:27 enviadas=1 resp=OK 0\/1 (0x4a repetidos omitidos: 1)\n[pid 25452] 12:00:40.499452 write(58<\/dev\/ttyS3>, \"�\u0001\u0000\u0000\u0000\u0000G\u0000\u0000��\", 11) = 11\n[pid 25452] 12:00:45.518377 write(58<\/dev\/ttyS3>, \"�\u0001\u0000\u0000\u0000\u0000J\u0000\u0006\u0000\u0000\u0012\u0000\u0000\u0000\u0002)\", 17) = 17\n",
        "ts_enviado": "2026-09-05 12:00:46",
        "ts_resultado": "2026-09-05 12:00:47"
    },
    {
        "id": "1788628961-9a0c",
        "cmd": "shell echo \"== MARKERS ==\"; grep -aE '=== ' \/data\/local\/tmp\/vend_capture.log | tail -12; echo \"== DENSIDAD x minuto 11:45-12:03 ==\"; grep -aoE ' 1[12]:[0-5][0-9]:' \/data\/local\/tmp\/vend_capture.log | sort | uniq -c | grep -E '11:4[5-9]|11:5[0-9]|12:0[0-3]'",
        "estado": "hecho",
        "ts_creado": "2026-09-05 12:22:41",
        "resultado": "== MARKERS ==\n=== detach 2026-09-03 02:50:00 ===\n=== attach 2026-09-03 02:50:13 pid=23914 ===\n=== vend_run start 2026-09-04 00:00:35 ===\n=== attach 2026-09-04 00:00:48 pid=2105 ===\n=== detach 2026-09-04 02:50:01 ===\n=== attach 2026-09-04 02:50:14 pid=23868 ===\n=== vend_run start 2026-09-05 00:00:34 ===\n=== attach 2026-09-05 00:00:48 pid=2071 ===\n=== detach 2026-09-05 03:02:07 ===\n=== attach 2026-09-05 03:02:20 pid=25411 ===\n=== vend_run start 2026-09-05 11:59:42 ===\n=== attach 2026-09-05 11:59:42 pid=25411 ===\n== DENSIDAD x minuto 11:45-12:03 ==\n    722  11:45:\n    807  11:46:\n    722  11:47:\n    665  11:48:\n    725  11:49:\n    727  11:50:\n    655  11:51:\n    661  11:52:\n    659  11:53:\n    662  11:54:\n    638  11:55:\n    668  11:56:\n    692  11:57:\n    673  11:58:\n    701  11:59:\n    783  12:00:\n    870  12:01:\n    715  12:02:\n    657  12:03:\n",
        "ts_enviado": "2026-09-05 12:22:44",
        "ts_resultado": "2026-09-05 12:23:07"
    },
    {
        "id": "1788629350-c72a",
        "cmd": "grep -anE '(11:(49|5[0-9])|12:0[0-2]):' \/data\/local\/tmp\/vend_capture.log | grep -aE '\\\\x(ee|ff)\\\\x01\\\\x00\\\\x00\\\\x00\\\\x..\\\\x(71|72|28|43)' | head -200",
        "estado": "hecho",
        "ts_creado": "2026-09-05 12:29:10",
        "resultado": "accion no reconocida: 'grep'. Validas: estado, brillo N, reiniciar_captura, subir_inventario, actualizar_sh, actualizar_agente, actualizar_apk, instalar_apk <url>, shell <cmd>\n",
        "ts_enviado": "2026-09-05 12:29:14",
        "ts_resultado": "2026-09-05 12:29:15"
    },
    {
        "id": "1788629473-09c1",
        "cmd": "grep -anE '(11:(49|5[0-9])|12:0[0-2]):' \/data\/local\/tmp\/vend_capture.log | grep -aE '\\\\x(ee|ff)\\\\x01\\\\x00\\\\x00\\\\x00\\\\x..\\\\x(71|72|28|43)' | head -200",
        "estado": "hecho",
        "ts_creado": "2026-09-05 12:31:13",
        "resultado": "accion no reconocida: 'grep'. Validas: estado, brillo N, reiniciar_captura, subir_inventario, actualizar_sh, actualizar_agente, actualizar_apk, instalar_apk <url>, shell <cmd>\n",
        "ts_enviado": "2026-09-05 12:31:17",
        "ts_resultado": "2026-09-05 12:31:18"
    },
    {
        "id": "1788629494-fec0",
        "cmd": "shell grep -anE '(11:(49|5[0-9])|12:0[0-2]):' \/data\/local\/tmp\/vend_capture.log | grep -aE '\\\\x(ee|ff)\\\\x01\\\\x00\\\\x00\\\\x00\\\\x..\\\\x(71|72|28|43)' | head -200",
        "estado": "hecho",
        "ts_creado": "2026-09-05 12:31:34",
        "resultado": "\n",
        "ts_enviado": "2026-09-05 12:31:48",
        "ts_resultado": "2026-09-05 12:32:46"
    },
    {
        "id": "1788629741-6fbb",
        "cmd": "shell grep -anE ' (11:(49|5[0-9])|12:0[0-2]):' \/data\/local\/tmp\/vend_capture.log | grep -aE '\\\\x(ee|ff)\\\\x01\\\\x00\\\\x00\\\\x00\\\\x..\\\\x(71|72|28|43)' | head -200",
        "estado": "hecho",
        "ts_creado": "2026-09-05 12:35:41",
        "resultado": "\n",
        "ts_enviado": "2026-09-05 12:35:50",
        "ts_resultado": "2026-09-05 12:36:50"
    },
    {
        "id": "1788629908-7086",
        "cmd": "shell echo '== FORMATO venta real 11:49 =='; grep -an '11:49:1[89]' \/data\/local\/tmp\/vend_capture.log | head -10",
        "estado": "hecho",
        "ts_creado": "2026-09-05 12:38:28",
        "resultado": "== FORMATO venta real 11:49 ==\n18739:[pid  2139] 11:49:19.434075 write(52<\/dev\/ttyS3>, \"�\u0001\u0000\u0000\u0000\u0000G\u0000\u0000��\", 11) = 11\n31515:[pid  2109] 11:49:19.067215 write(51<\/dev\/ttyS3>, \"�\u0001\u0000\u0000\u0000\u0000G\u0000\u0000��\", 11) = 11\n51289:[pid  2111] 11:49:18.714400 write(52<\/dev\/ttyS3>, \"�\u0001\u0000\u0000\u0000\u0000G\u0000\u0000��\", 11) = 11\n63891:[pid  2155] 11:49:18.274649 write(49<\/dev\/ttyS3>, \"�\u0001\u0000\u0000\u0000\u0000G\u0000\u0000��\", 11) = 11\n76484:[pid  2102] 11:49:19.180754 write(51<\/dev\/ttyS3>, \"�\u0001\u0000\u0000\u0000\u0000G\u0000\u0000��\", 11) = 11\n89093:[pid  2117] 11:49:18.436106 write(52<\/dev\/ttyS3>, \"�\u0001\u0000\u0000\u0000\u0000G\u0000\u0000��\", 11) = 11\n101773:[pid  2115] 11:49:19.502419 write(51<\/dev\/ttyS3>, \"�\u0001\u0000\u0000\u0000\u0000G\u0000\u0000��\", 11) = 11\n126955:[pid  2107] 11:49:19.749992 write(51<\/dev\/ttyS3>, \"�\u0001\u0000\u0000\u0000\u0000G\u0000\u0000��\", 11) = 11\n341703:2026-07-17 11:49:19 enviadas=1 resp=OK 1\/1\n417347:[pid  3998] 11:49:19.613500 write(58<\/dev\/ttyS3>, \"�\u0001\u0000\u0000\u0000\u0000B\u0000\u0002\u0001\u0000�U\", 13) = 13\n",
        "ts_enviado": "2026-09-05 12:38:52",
        "ts_resultado": "2026-09-05 12:38:54"
    },
    {
        "id": "1788732092-22f8",
        "cmd": "shell awk '\/=== attach 2026-09-05 03:02:20\/{on=1} on&&\/ 11:(49|5[0-9]):\/&&\/ttyS1\/{print} \/vend_run start 2026-09-05 11:59:42\/{exit}' \/data\/local\/tmp\/vend_capture.log | head -120",
        "estado": "hecho",
        "ts_creado": "2026-09-06 17:01:32",
        "resultado": "\n",
        "ts_enviado": "2026-09-06 17:01:47",
        "ts_resultado": "2026-09-06 17:02:05"
    },
    {
        "id": "1788732214-2de7",
        "cmd": "shell runcon u:r:su:s0:c0.c1023 nsenter -t 1 -m -- \/system\/bin\/sqlite3 \/data\/data\/com.weimi\/databases\/Wm2022Database '.tables'",
        "estado": "hecho",
        "ts_creado": "2026-09-06 17:03:34",
        "resultado": "AdEntity           EnergyEleEntity    OnlineEntity     \nAisleEntity        MqEntity           android_metadata \nCacheEntity        OfflineEntity      room_master_table\n",
        "ts_enviado": "2026-09-06 17:03:37",
        "ts_resultado": "2026-09-06 17:03:37"
    },
    {
        "id": "1788732314-396a",
        "cmd": "shell D=\/data\/data\/com.weimi\/databases\/Wm2022Database; P=\"runcon u:r:su:s0:c0.c1023 nsenter -t 1 -m --\"; echo '### SCHEMA Offline\/Online'; $P \/system\/bin\/sqlite3 \"$D\" \"SELECT name||': '||sql FROM sqlite_master WHERE name IN('OfflineEntity','OnlineEntity')\"; echo '### OFFLINE ultimas 6'; $P \/system\/bin\/sqlite3 -line \"$D\" 'SELECT * FROM OfflineEntity ORDER BY rowid DESC LIMIT 6'",
        "estado": "hecho",
        "ts_creado": "2026-09-06 17:05:14",
        "resultado": "### SCHEMA Offline\/Online\nOfflineEntity: CREATE TABLE `OfflineEntity` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `orderTradeNoIn` TEXT, `orderTradeNoOut` TEXT, `deviceCode` TEXT, `cardNumber` TEXT, `orgId` TEXT, `goodsDetail` TEXT, `shipmentDetail` TEXT, `discountAisleDetail` TEXT, `shipmentResultDetail` TEXT, `payChannel` INTEGER NOT NULL, `payState` INTEGER, `currency` TEXT, `totalPrice` INTEGER NOT NULL, `orderSize` INTEGER NOT NULL, `moreType` INTEGER NOT NULL, `goodsMergeType` INTEGER NOT NULL, `orderUploadState` INTEGER NOT NULL, `shipmentOrderResult` INTEGER NOT NULL, `createTime` TEXT, `updateTime` TEXT, `shipmentEndTime` TEXT, `orderEndTime` TEXT, `payStartTime` INTEGER, `payEndTime` INTEGER, `disType` INTEGER DEFAULT NULL)\nOnlineEntity: CREATE TABLE `OnlineEntity` (`id` TEXT NOT NULL, `startTime` INTEGER NOT NULL, `endTime` INTEGER NOT NULL, `state` INTEGER NOT NULL, `data` TEXT NOT NULL, `createTime` TEXT NOT NULL, PRIMARY KEY(`id`))\n### OFFLINE ultimas 6\n                  id = 1384\n      orderTradeNoIn = 621603611783812429460L\n     orderTradeNoOut = 621603611783812429460L\n          deviceCode = 62160361\n          cardNumber = 72DF803B\n               orgId = 7f525937b8b64c50969da15008e0a5ae\n         goodsDetail = [{\"aisleId\":\"235c530fca17ebbfc18cc8390f227810\",\"broken\":0,\"buyNum\":0,\"cabinet\":0,\"capacity\":11,\"code\":\"0-A01\",\"ctrlBoard\":0,\"ctrlCmd\":3,\"currStock\":7,\"currency\":\"PEN\",\"discountBuyNum\":0,\"enable\":1,\"goodsCode\":\"7750526002691\",\"goodsId\":\"d06ec5c5d74a527c80d80c3178498fa1\",\"goodsTypeId\":\"24\",\"goodsTypeName\":\"Snacks salados\",\"hasSaleOff\":false,\"iconType\":0,\"imgThumbnails\":\"https:\/\/microntech.oss-ap-southeast-1.aliyuncs.com\/images\/thumbnails\/9bead04a64646165dc22f84d782a2e5f-655649E57CF74InkachipsPapaSaladaBolsaX33Gr.png\",\"imgUrl\":\"https:\/\/microntech.oss-ap-southeast-1.aliyuncs.com\/common\/9bead04a64646165dc22f84d782a2e5f-655649E57CF74InkachipsPapaSaladaBolsaX33Gr.png\",\"isPlusBuy\":false,\"isShowBuyNum\":false,\"isVisiSub\":false,\"jsonAttr\":\"{\\\"age_recognition\\\n… (recortado por ?compactar; eran 3587 caracteres)",
        "ts_enviado": "2026-09-06 17:05:40",
        "ts_resultado": "2026-09-06 17:05:40"
    },
    {
        "id": "1788732401-d2c9",
        "cmd": "shell D=\/data\/data\/com.weimi\/databases\/Wm2022Database; P=\"runcon u:r:su:s0:c0.c1023 nsenter -t 1 -m --\"; echo '### OFFLINE hoy'; $P \/system\/bin\/sqlite3 -header \"$D\" \"SELECT id,createTime,totalPrice,payState,payChannel,shipmentOrderResult FROM OfflineEntity WHERE createTime LIKE '2026-09-05%' ORDER BY createTime\"; echo '### ONLINE hoy'; $P \/system\/bin\/sqlite3 -header \"$D\" \"SELECT id,createTime,state FROM OnlineEntity WHERE createTime LIKE '2026-09-05%' ORDER BY createTime\"",
        "estado": "hecho",
        "ts_creado": "2026-09-06 17:06:41",
        "resultado": "### OFFLINE hoy\n### ONLINE hoy\n",
        "ts_enviado": "2026-09-06 17:06:41",
        "ts_resultado": "2026-09-06 17:06:42"
    },
    {
        "id": "1788733564-466e",
        "cmd": "estado",
        "estado": "hecho",
        "ts_creado": "2026-09-06 17:26:04",
        "resultado": "fecha placa : 2026-09-06 17:26:33\ncaptura     : 1395 1411 1412 1413 1414 \nstrace      : 25513 \nagente      : 1418 22745 \ncom.weimi   : 25458 \nwifi wlan0  : \nbateria     : level:50\ndisco \/data : \/dev\/block\/mmcblk2p16  10G  1.6G  8.0G  18% \/mnt\/installer\/0\/emulated\/0\/Android\/obb\nultimas lineas de captura:\n[pid 25498] 17:26:07.954200 write(58<\/dev\/ttyS3>, \"�\u0001\u0000\u0000\u0000\u0000D\u0000\u0000\u000e�\", 11) = 11\n2026-09-06 17:26:19 enviadas=1 resp=OK 0\/1 (0x4a repetidos omitidos: 1)\n[pid 25498] 17:26:31.900949 write(58<\/dev\/ttyS3>, \"�\u0001\u0000\u0000\u0000\u0000G\u0000\u0000��\", 11) = 11\n",
        "ts_enviado": "2026-09-06 17:26:34",
        "ts_resultado": "2026-09-06 17:26:35"
    },
    {
        "id": "1788733611-3886",
        "cmd": "estado",
        "estado": "hecho",
        "ts_creado": "2026-09-06 17:26:51",
        "resultado": "fecha placa : 2026-09-06 17:27:05\ncaptura     : 1395 1411 1412 1413 1414 \nstrace      : 25513 \nagente      : 1418 22952 \ncom.weimi   : 25458 \nwifi wlan0  : \nbateria     : level:50\ndisco \/data : \/dev\/block\/mmcblk2p16  10G  1.6G  8.0G  18% \/mnt\/installer\/0\/emulated\/0\/Android\/obb\nultimas lineas de captura:\n[pid 25498] 17:26:37.950575 write(58<\/dev\/ttyS3>, \"�\u0001\u0000\u0000\u0000\u0000D\u0000\u0000\u000e�\", 11) = 11\n2026-09-06 17:26:42 enviadas=1 resp=OK 0\/1 (0x4a repetidos omitidos: 1)\n[pid 25498] 17:27:01.910898 write(58<\/dev\/ttyS3>, \"�\u0001\u0000\u0000\u0000\u0000G\u0000\u0000��\", 11) = 11\n",
        "ts_enviado": "2026-09-06 17:27:05",
        "ts_resultado": "2026-09-06 17:27:06"
    },
    {
        "id": "1788733659-1ef9",
        "cmd": "shell df -h \/data",
        "estado": "hecho",
        "ts_creado": "2026-09-06 17:27:39",
        "resultado": "Filesystem            Size  Used Avail Use% Mounted on\n\/dev\/block\/mmcblk2p16  10G  1.6G  8.0G  18% \/mnt\/installer\/0\/emulated\/0\/Android\/obb\n",
        "ts_enviado": "2026-09-06 17:28:08",
        "ts_resultado": "2026-09-06 17:28:09"
    },
    {
        "id": "1788734224-ef52",
        "cmd": "actualizar_sh",
        "estado": "hecho",
        "ts_creado": "2026-09-06 17:37:04",
        "resultado": "vend_run.sh actualizado. Usa 'reiniciar_captura' para aplicarlo.\n",
        "ts_enviado": "2026-09-06 17:37:19",
        "ts_resultado": "2026-09-06 17:37:20"
    },
    {
        "id": "1788734252-2ce8",
        "cmd": "reiniciar_captura",
        "estado": "hecho",
        "ts_creado": "2026-09-06 17:37:32",
        "resultado": "captura reiniciada. vend_run: 26510 26514 26519 26520 \n",
        "ts_enviado": "2026-09-06 17:37:50",
        "ts_resultado": "2026-09-06 17:37:54"
    },
    {
        "id": "1788734388-6233",
        "cmd": "shell echo MARKER=$(grep -c ANTI-HUECO \/data\/local\/tmp\/vend_run.sh); echo \"--- forward log ---\"; grep -aE \"enviadas=|SIN-RED|vend_run start\" \/data\/local\/tmp\/vend_capture.log | tail -6; echo \"--- procs ---\"; echo \"vend_run:$(pgrep -f vend_run.sh|tr \"\\n\" \" \")\"; echo \"strace:$(pgrep strace|tr \"\\n\" \" \")\"; echo \"agente:$(pgrep -f vend_agent.sh|tr \"\\n\" \" \")\"",
        "estado": "hecho",
        "ts_creado": "2026-09-06 17:39:48",
        "resultado": "MARKER=1\n--- forward log ---\n2026-09-06 17:38:14 enviadas=1 resp=OK 0\/1 (0x4a repetidos omitidos: 1)\n2026-09-06 17:38:59 enviadas=1 resp=OK 0\/1 (0x4a repetidos omitidos: 1)\n2026-09-06 17:39:22 enviadas=1 resp=OK 0\/1 (0x4a repetidos omitidos: 1)\n2026-09-06 17:39:45 enviadas=1 resp=OK 0\/1 (0x4a repetidos omitidos: 1)\n2026-09-06 17:40:30 enviadas=1 resp=OK 0\/1 (0x4a repetidos omitidos: 1)\n2026-09-06 17:40:53 enviadas=1 resp=OK 0\/1 (0x4a repetidos omitidos: 1)\n--- procs ---\nvend_run:26510 26514 26519 26520 \nstrace:26534 \nagente:1418 27224 \n",
        "ts_enviado": "2026-09-06 17:39:57",
        "ts_resultado": "2026-09-06 17:41:16"
    },
    {
        "id": "1788734434-8c0a",
        "cmd": "estado",
        "estado": "hecho",
        "ts_creado": "2026-09-06 17:40:34",
        "resultado": "fecha placa : 2026-09-06 17:41:46\ncaptura     : 26510 26514 26519 26520 \nstrace      : 26534 \nagente      : 1418 27726 \ncom.weimi   : 25458 \nwifi wlan0  : \nbateria     : level:50\ndisco \/data : \/dev\/block\/mmcblk2p16  10G  1.6G  8.0G  18% \/mnt\/installer\/0\/emulated\/0\/Android\/obb\nultimas lineas de captura:\n[pid 25498] 17:41:36.930041 write(58<\/dev\/ttyS3>, \"�\u0001\u0000\u0000\u0000\u0000J\u0000\u0006\u0000\u0000\u0012\u0000\u0000\u0000\u0002)\", 17) = 17\n[pid 25498] 17:41:37.986317 write(58<\/dev\/ttyS3>, \"�\u0001\u0000\u0000\u0000\u0000D\u0000\u0000\u000e�\", 11) = 11\n2026-09-06 17:41:39 enviadas=1 resp=OK 0\/1 (0x4a repetidos omitidos: 1)\n",
        "ts_enviado": "2026-09-06 17:41:47",
        "ts_resultado": "2026-09-06 17:41:48"
    },
    {
        "id": "1788734482-a7e3",
        "cmd": "estado",
        "estado": "hecho",
        "ts_creado": "2026-09-06 17:41:22",
        "resultado": "fecha placa : 2026-09-06 17:42:18\ncaptura     : 26510 26514 26519 26520 \nstrace      : 26534 \nagente      : 1418 27930 \ncom.weimi   : 25458 \nwifi wlan0  : 192.168.1.169\/24\nbateria     : level:50\ndisco \/data : \/dev\/block\/mmcblk2p16  10G  1.6G  8.0G  18% \/mnt\/installer\/0\/emulated\/0\/Android\/obb\nultimas lineas de captura:\n[pid 25498] 17:42:01.912536 write(58<\/dev\/ttyS3>, \"�\u0001\u0000\u0000\u0000\u0000G\u0000\u0000��\", 11) = 11\n[pid 25498] 17:42:06.939132 write(58<\/dev\/ttyS3>, \"�\u0001\u0000\u0000\u0000\u0000J\u0000\u0006\u0000\u0000\u0012\u0000\u0000\u0000\u0002)\", 17) = 17\n[pid 25498] 17:42:07.991053 write(58<\/dev\/ttyS3>, \"�\u0001\u0000\u0000\u0000\u0000D\u0000\u0000\u000e�\", 11) = 11\n",
        "ts_enviado": "2026-09-06 17:42:18",
        "ts_resultado": "2026-09-06 17:42:20"
    },
    {
        "id": "1788734576-abd6",
        "cmd": "shell grep -c ANTI-HUECO \/data\/local\/tmp\/vend_run.sh; grep -a enviadas= \/data\/local\/tmp\/vend_capture.log | tail -3",
        "estado": "hecho",
        "ts_creado": "2026-09-06 17:42:56",
        "resultado": "1\n2026-09-06 17:42:24 enviadas=1 resp=OK 0\/1 (0x4a repetidos omitidos: 1)\n2026-09-06 17:42:46 enviadas=1 resp=OK 0\/1 (0x4a repetidos omitidos: 1)\n2026-09-06 17:43:09 enviadas=1 resp=OK 0\/1 (0x4a repetidos omitidos: 1)\n",
        "ts_enviado": "2026-09-06 17:43:21",
        "ts_resultado": "2026-09-06 17:43:26"
    },
    {
        "id": "1788735101-9e77",
        "cmd": "shell grep -c ANTI-HUECO \/data\/local\/tmp\/vend_run.sh; grep -a enviadas= \/data\/local\/tmp\/vend_capture.log | tail -3",
        "estado": "hecho",
        "ts_creado": "2026-09-06 17:51:41",
        "resultado": "1\n2026-09-06 17:50:04 enviadas=2 resp=OK 0\/2 (0x4a repetidos omitidos: 2)\n2026-09-06 17:51:11 enviadas=1 resp=OK 0\/1 (0x4a repetidos omitidos: 1)\n2026-09-06 17:51:34 enviadas=1 resp=OK 0\/1 (0x4a repetidos omitidos: 1)\n",
        "ts_enviado": "2026-09-06 17:52:06",
        "ts_resultado": "2026-09-06 17:52:12"
    },
    {
        "id": "1788735110-eaea",
        "cmd": "estado",
        "estado": "hecho",
        "ts_creado": "2026-09-06 17:51:50",
        "resultado": "fecha placa : 2026-09-06 17:52:42\ncaptura     : 26510 26514 26519 26520 \nstrace      : 26534 \nagente      : 1418 31218 \ncom.weimi   : 25458 \nwifi wlan0  : \nbateria     : level:50\ndisco \/data : \/dev\/block\/mmcblk2p16  10G  1.6G  8.0G  18% \/mnt\/installer\/0\/emulated\/0\/Android\/obb\nultimas lineas de captura:\n[pid 25498] 17:52:36.965528 write(58<\/dev\/ttyS3>, \"�\u0001\u0000\u0000\u0000\u0000J\u0000\u0006\u0000\u0000\u0012\u0000\u0000\u0000\u0002)\", 17) = 17\n[pid 25498] 17:52:38.021000 write(58<\/dev\/ttyS3>, \"�\u0001\u0000\u0000\u0000\u0000D\u0000\u0000\u000e�\", 11) = 11\n2026-09-06 17:52:42 enviadas=1 resp=OK 0\/1 (0x4a repetidos omitidos: 1)\n",
        "ts_enviado": "2026-09-06 17:52:43",
        "ts_resultado": "2026-09-06 17:52:44"
    },
    {
        "id": "1788735317-26f9",
        "cmd": "actualizar_agente",
        "estado": "hecho",
        "ts_creado": "2026-09-06 17:55:17",
        "resultado": "vend_agent.sh actualizado. Reinicia el agente: pkill -f vend_agent; (se relanza al boot)\n",
        "ts_enviado": "2026-09-06 17:55:17",
        "ts_resultado": "2026-09-06 17:55:18"
    },
    {
        "id": "1788735447-0511",
        "cmd": "actualizar_agente",
        "estado": "hecho",
        "ts_creado": "2026-09-06 17:57:27",
        "resultado": "vend_agent.sh actualizado. Reinicia el agente: pkill -f vend_agent; (se relanza al boot)\n",
        "ts_enviado": "2026-09-06 17:57:50",
        "ts_resultado": "2026-09-06 17:57:51"
    },
    {
        "id": "1788735546-1c60",
        "cmd": "shell printf '%s\\n' 'sleep 2' 'pkill -9 -f \/data\/local\/tmp\/vend_agent.sh' 'rm -f \/data\/local\/tmp\/vend_agent.lock' 'sleep 1' 'nohup sh \/data\/local\/tmp\/vend_agent.sh >\/dev\/null 2>&1 &' > \/data\/local\/tmp\/relaunch_agent.sh; setsid sh \/data\/local\/tmp\/relaunch_agent.sh >\/dev\/null 2>&1 <\/dev\/null &",
        "estado": "hecho",
        "ts_creado": "2026-09-06 17:59:06",
        "resultado": "\n",
        "ts_enviado": "2026-09-06 17:59:23",
        "ts_resultado": "2026-09-06 17:59:24"
    },
    {
        "id": "1788735633-ecaf",
        "cmd": "shell grep -n INTERVAL= \/data\/local\/tmp\/vend_agent.sh; echo ---procs---; pgrep -f vend_agent.sh | tr '\\n' ' '",
        "estado": "hecho",
        "ts_creado": "2026-09-06 18:00:33",
        "resultado": "24:INTERVAL=10        # sondeo cada 10s (2026-09-06): consola\/comandos mas agiles. Gasta algo mas de SIM en reposo (una peticion GET liviana cada 10s), aceptable para este uso.\n---procs---\n1237 1806 \n",
        "ts_enviado": "2026-09-06 18:00:41",
        "ts_resultado": "2026-09-06 18:00:42"
    },
    {
        "id": "1788735718-3018",
        "cmd": "shell ps -ef 2>\/dev\/null | grep vend_agent.sh | grep -v grep",
        "estado": "hecho",
        "ts_creado": "2026-09-06 18:01:58",
        "resultado": "root           1237      1 0 17:59:25 ?     00:00:00 sh \/data\/local\/tmp\/vend_agent.sh\nroot           2401   1237 0 18:02:04 ?     00:00:00 sh \/data\/local\/tmp\/vend_agent.sh\n",
        "ts_enviado": "2026-09-06 18:02:06",
        "ts_resultado": "2026-09-06 18:02:07"
    },
    {
        "id": "1788736072-d6ab",
        "cmd": "estado",
        "estado": "hecho",
        "ts_creado": "2026-09-06 18:07:52",
        "resultado": "fecha placa : 2026-09-06 18:07:56\ncaptura     : 26510 26514 26519 26520 \nstrace      : 26534 \nagente      : 1237 4323 \ncom.weimi   : 25458 \nwifi wlan0  : \nbateria     : level:50\ndisco \/data : \/dev\/block\/mmcblk2p16  10G  1.6G  8.0G  18% \/mnt\/installer\/0\/emulated\/0\/Android\/obb\nultimas lineas de captura:\n[pid 25498] 18:07:36.923021 write(58<\/dev\/ttyS3>, \"�\u0001\u0000\u0000\u0000\u0000J\u0000\u0006\u0000\u0000\u0012\u0000\u0000\u0000\u0002)\", 17) = 17\n[pid 25498] 18:07:37.975138 write(58<\/dev\/ttyS3>, \"�\u0001\u0000\u0000\u0000\u0000D\u0000\u0000\u000e�\", 11) = 11\n2026-09-06 18:07:52 enviadas=1 resp=OK 0\/1 (0x4a repetidos omitidos: 1)\n",
        "ts_enviado": "2026-09-06 18:07:57",
        "ts_resultado": "2026-09-06 18:07:58"
    },
    {
        "id": "1788736233-a12b",
        "cmd": "shell tail -45 \/data\/local\/tmp\/vend_capture.log",
        "estado": "hecho",
        "ts_creado": "2026-09-06 18:10:33",
        "resultado": "[pid 25498] 18:05:01.931525 write(58<\/dev\/ttyS3>, \"�\u0001\u0000\u0000\u0000\u0000G\u0000\u0000��\", 11) = 11\n[pid 25498] 18:05:06.923031 write(58<\/dev\/ttyS3>, \"�\u0001\u0000\u0000\u0000\u0000J\u0000\u0006\u0000\u0000\u0012\u0000\u0000\u0000\u0002)\", 17) = 17\n[pid 25498] 18:05:07.976474 write(58<\/dev\/ttyS3>, \"�\u0001\u0000\u0000\u0000\u0000D\u0000\u0000\u000e�\", 11) = 11\n2026-09-06 18:05:14 enviadas=1 resp=OK 0\/1 (0x4a repetidos omitidos: 1)\n[pid 25498] 18:05:31.945349 write(58<\/dev\/ttyS3>, \"�\u0001\u0000\u0000\u0000\u0000G\u0000\u0000��\", 11) = 11\n[pid 25498] 18:05:36.955477 write(58<\/dev\/ttyS3>, \"�\u0001\u0000\u0000\u0000\u0000J\u0000\u0006\u0000\u0000\u0012\u0000\u0000\u0000\u0002)\", 17) = 17\n[pid 25498] 18:05:38.007634 write(58<\/dev\/ttyS3>, \"�\u0001\u0000\u0000\u0000\u0000D\u0000\u0000\u000e�\", 11) = 11\n2026-09-06 18:05:59 enviadas=1 resp=OK 0\/1 (0x4a repetidos omitidos: 1)\n[pid 25498] 18:06:01.929069 write(58<\/dev\/ttyS3>, \"�\u0001\u0000\u0000\u0000\u0000G\u0000\u0000��\", 11) = 11\n[pid 25498] 18:06:06.923013 write(58<\/dev\/ttyS3>, \"�\u0001\u0000\u0000\u0000\u0000J\u0000\u0006\u0000\u0000\u0012\u0000\u0000\u0000\u0002)\", 17) = 17\n[pid 25498] 18:06:07.974903 write(58<\/dev\/ttyS3>, \"�\u0001\u0000\u0000\u0000\u0000D\u0000\u0000\u000e�\", 11) = 11\n2026-09-06 18:06:22 enviadas=1 resp=OK 0\/1 (0x4a repetidos omitidos: 1)\n[pid 25498] 18:06:31.940037 write(58<\/dev\/ttyS3>, \"�\u0001\u0000\u0000\u0000\u0000G\u0000\u0000��\", 11) = 11\n[pid 25498] 18:06:36.933396 write(58<\/dev\/ttyS3>, \"�\u0001\u0000\u0000\u0000\u0000J\u0000\u0006\u0000\u0000\u0012\u0000\u0000\u0000\u0002)\", 17) = 17\n[pid 25498] 18:06:37.985914 write(58<\/dev\/ttyS3>, \"�\u0001\u0000\u0000\u0000\u0000D\u0000\u0000\u000e�\", 11) = 11\n2026-09-06 18:06:45 enviadas=1 resp=OK 0\/1 (0x4a repetidos omitidos: 1)\n[pid 25498] 18:07:01.904609 write(58<\/dev\/ttyS3>, \"�\u0001\u0000\u0000\u0000\u0000G\u0000\u0000��\", 11) = 11\n[pid 25498] 18:07:06.950679 write(58<\/dev\/ttyS3>, \"�\u0001\u0000\u0000\u0000\u0000J\u0000\u0006\u0000\u0000\u0012\u0000\u0000\u0000\u0002)\", 17) = 17\n[pid 25498] 18:07:08.003128 write(58<\/dev\/ttyS3>, \"�\u0001\u0000\u0000\u0000\u0000D\u0000\u0000\u000e�\", 11) = 11\n2026-09-06 18:07:30 enviadas=1 resp=OK 0\/1 (0x4a repetidos omitidos: 1)\n[pid 25498] 18:07:31.942461 write(58<\/dev\/ttyS3>, \"�\u0001\u0000\u0000\u0000\u0000G\u0000\u0000��\", 11) = 11\n[pid 25498] 18:07:36.923021 write(58<\/dev\/ttyS3>, \"�\u0001\u0000\u0000\u0000\u0000J\u0000\u0006\u0000\u0000\u0012\u0000\u0000\u0000\u0002)\", 17) = 17\n[pid 25498] 18:07:37.975138 write(58<\/dev\/ttyS3>, \"�\u0001\u0000\u0000\u0000\u0000D\u0000\u0000\u000e�\", 11) = 11\n2026-09-06 18:07:52 enviadas=1 resp=OK 0\/1 (0x4a repetidos omitidos: 1)\n[pid 25498] 18:08:01.909213 write(58<\/dev\/ttyS3>, \"�\u0001\u0000\u0000\u0000\u0000G\u0000\u0000��\", 11) = 11\n[pid 25498] 18:08:06.943366 write(58<\/dev\/ttyS3>, \"�\u0001\u0000\u0000\u0000\u0000J\u0000\u0006\u0000\u0000\u0012\u0000\u0000\u0000\u0002)\", 17) = 17\n[pid 25498] 18:08:08.004091 write(58<\/dev\/ttyS\n… (recortado por ?compactar; eran 3374 caracteres)",
        "ts_enviado": "2026-09-06 18:10:36",
        "ts_resultado": "2026-09-06 18:10:36"
    },
    {
        "id": "1788965453-bb31",
        "cmd": "shell getprop ro.product.model; getprop ro.board.platform; getprop ro.build.version.release; getprop ro.build.version.sdk; getprop ro.product.cpu.abilist; getenforce; wm size; wm density; pm path com.weimi; dumpsys package com.weimi | grep versionName; ls -lZ \/dev\/ttyS1 \/dev\/ttyS3; ps -A | grep weimi",
        "estado": "hecho",
        "ts_creado": "2026-09-09 09:50:53",
        "resultado": "WM55L22\nrk356x\n11\n30\narm64-v8a,armeabi-v7a,armeabi\nEnforcing\nPhysical size: 1080x1920\nPhysical density: 160\npackage:\/data\/app\/~~kGkoVeAMTSSZ2yjLV7nFjA==\/com.weimi-z2EebkbrxurnM-AzROY8og==\/base.apk\n    versionName=1.17.2\ncrw-rw-rw- 1 system system u:object_r:serial_device:s0  4,  65 2026-09-09 08:30 \/dev\/ttyS1\ncrw-rw-rw- 1 system system u:object_r:serial_device:s0  4,  67 2026-09-09 09:50 \/dev\/ttyS3\nsystem         2194    224 13757808 113612 do_epoll_wait      0 S com.weimi.installer\nsystem         2235    224 13956268 134928 do_epoll_wait      0 S com.weimi.monitor\nsystem         2294    224 13899612 118632 do_epoll_wait      0 S com.weimi.monitor:emq_message\nsystem         2651    225 2227680 430224 do_epoll_wait       0 S com.weimi\nsystem         2771    225 1960584 123516 do_epoll_wait       0 S com.weimi:emq_message\nsystem         2816    225 1963164 119988 do_epoll_wait       0 S com.weimi:motor_serial\n",
        "ts_enviado": "2026-09-09 09:50:59",
        "ts_resultado": "2026-09-09 09:51:00"
    },
    {
        "id": "1788966024-ecda",
        "cmd": "shell echo CODEX_SCREEN_BEGIN; screencap -p | base64; echo CODEX_SCREEN_END",
        "estado": "hecho",
        "ts_creado": "2026-09-09 10:00:24",
        "resultado": "CODEX_SCREEN_BEGIN\niVBORw0KGgoAAAANSUhEUgAABDgAAAeACAYAAAArYecKAAAAAXNSR0IArs4c6QAAAARzQklUCAgI\nCHwIZIgAACAASURBVHic7H13vCVFlf+3qvu+yczAMDCEAQSGMKCIgEOSoEgQXFGQBQkSdjEBBkAQ\nVFwDiFkWRVaBXUAkiZIUFcRFQAkqiDBIkuSQGYbJ797u+v1RfapPna7ue9+778HM\/urLZ3jvdVc4\nderUqVOnTlWrkwGDiIiIiIiIiIgVAA+2Wq83CRERERERERHLKfTrTUBERERERERERERERERERERE\nv4gOjoiIiIiIiIiIiIiIiIiIiBUe0cERERERERERERERERERERGxwiM6OCIiIiIiIiIiIiIiIiIi\nIlZ4RAdHRERERERERERERERERETECo\/o4IiIiIiIiIiIiIiIiIiIiFjhER0cERERERERERERERER\nERERKzzS15uAiIiIiIiIiIiIkccaG2yA955wAqAUnrz\/flz3n\/\/5epMUERERERExqogOjoiIiIiI\niIj\/szj0K1\/BhClT8I9778Wv\/uu\/Xm9yXlP8+3e+gy332AMvz5273Dg3jjv\/fEybMQMXf+5z+Psf\n\/\/h6k1PBv3ziE1hz5ky8\/MwzuPzLX\/bekSxxZO02Fr78Mp6aMwd3XX89li1ePGK0bLL99th0++2x\nyhprYMG8eRV6JHY66CBsteeemLr22mgNDGDByy\/jkbvvxq9+9CPMe+aZnuudsemm2O3II3H39dfj\nvt\/9blRp3nCrrfD2ww7DjFmzMDB2LOa\/+CIeuPVW\/PKcc7rycqeDDsI2e++NqWutBZ0kmPfss\/jb\nLbfg1z\/6EdpLl44azRz98Iqjn77rl4cjITP98HAk27PD\/vtj2333dTLxwpNP4tbLL8cd11wzbHqW\nV5oIQ5XBftoyGmWOBj3qZMAMK2dERERERERExGuMB1utIaU\/7\/HHscqaa+LOa6\/FGfvtN0pULX\/Y\n68MfxtFnnYWF8+bhK+99Lx68\/fbXmyS86e1vx3\/ccAMA4OaLL8ZZRx75OlNUxZdvvBGb7bQTnn7w\nQRz7pjd570iW6rB4\/nzcfNFFuPRLX8LCefOGTcNOBx2E\/U8+GTM23dQ9e\/yvf8Unt946mH7ajBn4\n1MUXY5Pttgu+f\/XFF3HuMcfg9quuqq1z3KRJePthh2GH\/ffHRrNnI0lTnHXkkbj54otHhWYAOOjz\nn8d7TzwRrTFjKu+ee\/xxfOfww4NyO3WttXD8xRdj0x12CJY79+GH8e0PfhCP3H33iNMM9M8rjn77\nbrg8HAmZAYbPwzoMtz2tsWNx4iWXYJt99qm8M8bgxgsuwPc\/\/OH\/MzQNVwaH25bRKnM06AFiBEdE\nRERERERExP8prL7eejjw85\/H0kWLhm0gjgb+ce+9eOyee7DKGmvgL7\/61etNzrDxzCOPYE7BU50k\nWGnqVKz\/5jdjyvTp2PuYY7DZzjvjGwcdhH8+9NCQyz7s9NOx7\/HHQymFrNPB43\/9K5597DE8+cAD\ntXlOuOQSbDR7NjqDg\/j95ZfjvptvRp5lmLnNNnjnkUdipVVXxTE\/\/CGe\/vvf8eT993t5t9x9d+x6\n6KF4yx57VKJTRpPm3f\/t33DAZz8LAHjozjvx2wsvxCvPPosNt94ae37oQ1h9vfVw\/MUX48TttsMr\nzz1Xae8m222HrNPBbVdeiftvuQXtpUux4dZb4+2HHYY1Z87ECZdcgo+\/+c21O8DDoXkkeCXRT9\/1\ny8Ph1ksYDg+b0E97PnTWWdhmn31gjMEff\/5z\/OmXv4ROEux80EHYbKed8M4jj8SCl17CRaeeukLT\n1I8M9tOW0ShzNOghxAiOiIiIiIiIiBUGMYKjO2ZsuinesMUWeP7JJ5cb58aKgl4iOOpkab+TTsIB\np5yCgXHj8Ng99+CUXXYZUoj13h\/7GI761reglMKc227Ducceiyf+9rfG\n… (recortado por ?compactar; eran 1491814 caracteres)",
        "ts_enviado": "2026-09-09 10:00:29",
        "ts_resultado": "2026-09-09 10:00:36"
    },
    {
        "id": "1788966123-8bbc",
        "cmd": "shell input tap 540 1280; sleep 4; echo CODEX_SCREEN_BEGIN; screencap -p | base64; echo CODEX_SCREEN_END",
        "estado": "hecho",
        "ts_creado": "2026-09-09 10:02:03",
        "resultado": "CODEX_SCREEN_BEGIN\niVBORw0KGgoAAAANSUhEUgAABDgAAAeACAYAAAArYecKAAAAAXNSR0IArs4c6QAAAARzQklUCAgI\nCHwIZIgAACAASURBVHic7J13mBzVlbffCh0nJ02SNBplCQkhBBI5OBANNqzX2MYL6wAGe\/3Zm2y8\nu951WgeM067DOufFBGMw2KQlg0ACIVDOYaSRNDn1dKququ+PWz2xJ\/RMj0aC8z5PPzNdXXXrVIdb\n9\/7uCRrfdV0EQRAEQRAEQRAEQRBOYvTpNkAQBEEQBEEQBEEQBGGyiMAhCIIgCIIgCIIgCMJJjwgc\ngiAIgiAIgiAIgiCc9IjAIQiCIAiCIAiCIAjCSY8IHIIgCIIgCIIgCIIgnPSY2R5Q89JPpsKOUTly\n1k3H\/ZyCIAiCIAiCIAiCIJw8ZCVwLP3d3zBn3zMsLizNmQEdVoI9PZ2cWlxOQDeGvb67p4Oy7Q+z\n+YP35eycgiAIgiAIgiAIgiC8schK4ChqWIep65QGQjkzIOW6aJpGsT9IyBhujr+3m+IDa3N2PkEQ\nBEEQBEEQBEEQ3nhkHaKSpsdK0GMl2dnTlvWxxb4gM8OFVATDEz29IAiCIAiCIAiCIAhCHxMWOPb0\ndNBpxVl54QVceO01WR27bf16HvvdnVwcnDPR0wuCMGFSYHSihZ9FL7wXPbQezWwCnCk+r45rzcTp\nvQAn8i7c2NlgFwHaFJ9XEARBEARBEIQ3AxMWOFKuQ0VtDf\/2q18QCGUXsnLhtdfQ3tQMm\/cO2v5U\nU8Og51XBvImaJwhCJvQetPCzGMU\/RQ8\/B3rsOJ7cQfM1YBT\/Fr3gzzg9V+B03oSbWAGu\/zjaIQiC\nIAiCIAjCG5FJlYnVdB3Hcfjk5e\/gc+\/\/GwB++dWvc1llLQAP\/PTnXDlzDt\/61D8C8E\/vvJZr5i3C\n5\/djmoO1ledaGll69ll9j\/mnr+RwLEJzIjoZEwVBSKPF0MJPYZR+Bz3vyeMsbgwxxejAKPoDevk3\n0ELrQEtOmy2CIAiCIAiCILwxmLAHR5oD23fQ3tTE2ZddSrQnQn5REbph8Nidd1FTX48\/EGDhaSuI\nRiJYySSu49DZ2pqxrdvvv7fv\/6aGQ9x4xlmTNU8QBA8tsB296E700HrQUtNtDmhxjNAzUFCDbdWC\nNXe6LRIEQRAEQRAE4SRm0gLH9g0baDp0mLv+63vUzp3Lb26\/g5Rl8djv72LesmX0dnfz0K9+TSpl\nsXfLVqxkgnu+\/8Nc2C4IQhZo4RdPHHEjjRFBD6\/FiZ2D61SAXTDdFgmCIAiCIAiCcJIyaYFjILFI\nhFhvb8bXeto7SMbjACN6cDQ1HOr7v+Xo0VyaJghverTAa2jmsXHvr2s6JWYJ5WYZfn3sHBkuELV7\nabFaidg9uOO1y7cPLbAVN7ZaBA5BEARBEARBECbMpAWO+cuXc83NN+EPBQE4\/aILqVu4kJr6OZRX\nVwFQVl1F\/ZIlXHPzTQAsOv001v7pwWFtSUiKIEwdmu9wVvsvDi3mA1XvZ3XBmeMUOFyaky38sfWP\n\/LntYbpSXeM7kR5D8x1G8+\/GteZkZaMgCIIgCIIgCEKaSQscna1t7N2yhVBeHrPmzaPlcCOpZH\/C\nwL1bthDr7aW4rIy9W7YAUDKjYlg7pxaV4zeMYdt3d7fTaSUma6YgvOnRsgxNqQvO5pyic1iRf+q4\nj+m2u9kZ28Uznc+NX+AANC2BZnSN2+tDEARBEARBEARhKJMSOJoOHeYrH7217\/nLTz0NQOOBA2xZ\n\/3Lf9i3rX+axu+4e9Fx3bN5aOadvW5E\/QMgYbo5fHy56CIIw9Wiaho6W7VFoaJD1cYIgCIIgCIIg\nCJNjUgJHIBRixcUXTejY3RteHbbNchzak6p0paFplAfCkzFPEARBEARBEARBEIQ3CZMSOIrLy\/iP\nX\/xsQsd++cYPwsadg7Zt7myhJREFlMCxuLBsMuYJgiAIgiAIgiAIgvAm\n… (recortado por ?compactar; eran 1315042 caracteres)",
        "ts_enviado": "2026-09-09 10:02:11",
        "ts_resultado": "2026-09-09 10:02:21"
    },
    {
        "id": "1789335569-dcc6",
        "cmd": "shell adb -s <SERIAL_REMOTO> shell \"echo '=== ID FILES ==='; ls -la \/sdcard\/.ANDROID_ID \/sdcard\/.DEVICE_CODE \/sdcard\/.CONFIG \/sdcard\/.PROJECT_CODE 2>\/dev\/null; echo; echo '=== DB FILES ==='; find \/data\/data\/com.weimi -maxdepth 3 -type f 2>\/dev\/null | grep -Ei '\\.(db|sqlite|sqlite3)$|databases\/'\"",
        "estado": "hecho",
        "ts_creado": "2026-09-13 16:39:29",
        "resultado": "\/data\/local\/tmp\/vend_agent.sh: can't open SERIAL_REMOTO: No such file or directory\n",
        "ts_enviado": "2026-09-13 16:39:36",
        "ts_resultado": "2026-09-13 16:39:37"
    },
    {
        "id": "1789335698-fa46",
        "cmd": "shell echo ANDROID_ID:; cat \/sdcard\/.ANDROID_ID 2>\/dev\/null; echo; echo DEVICE_CODE:; cat \/sdcard\/.DEVICE_CODE 2>\/dev\/null",
        "estado": "hecho",
        "ts_creado": "2026-09-13 16:41:38",
        "resultado": "ANDROID_ID:\n2306190008\nDEVICE_CODE:\n62160361\n",
        "ts_enviado": "2026-09-13 16:41:44",
        "ts_resultado": "2026-09-13 16:41:45"
    },
    {
        "id": "1789335745-7a1b",
        "cmd": "shell ls -lah \/data\/data\/com.weimi\/databases 2>\/dev\/null",
        "estado": "hecho",
        "ts_creado": "2026-09-13 16:42:25",
        "resultado": "\n",
        "ts_enviado": "2026-09-13 16:42:27",
        "ts_resultado": "2026-09-13 16:42:28"
    },
    {
        "id": "1789338236-b16e",
        "cmd": "shell N=pantalla_20260913_172356.png; rm -f \"\/data\/local\/tmp\/mcp_send.bin\"; screencap -p > \"\/data\/local\/tmp\/mcp_send.bin\" 2>\/dev\/null; S=$(wc -c < \"\/data\/local\/tmp\/mcp_send.bin\" 2>\/dev\/null); [ -z \"$S\" ] && S=0; if [ \"$S\" -le 0 ]; then echo \"ERROR: no pude leer el archivo (existe? permisos?)\"; elif [ \"$S\" -gt 8388608 ]; then echo \"ERROR: $S bytes supera el tope de 8388608 del servidor. Usa tail=N o gz.\"; else echo \"subiendo $S bytes como $N...\"; '\/data\/local\/tmp\/curl' -k -s -m 180 --resolve vending.maexspe.com:443:66.228.61.234 -H \"Expect:\" -H \"Content-Type: application\/octet-stream\" -X POST --data-binary @\"\/data\/local\/tmp\/mcp_send.bin\" \"https:\/\/vending.maexspe.com\/mcp.php?up=1&token=maexspe-weimi-K7m2Rq9x&id=1789338236-b16e&name=$N&src=screencap%20-p\"; fi; rm -f \"\/data\/local\/tmp\/mcp_send.bin\"",
        "estado": "hecho",
        "ts_creado": "2026-09-13 17:23:56",
        "resultado": "subiendo 1106439 bytes como pantalla_20260913_172356.png...\nOK archivo recibido: pantalla_20260913_172356.png 1.06 MB id=1789338236-b16e\n",
        "alias": "captura (screenshot PNG)",
        "ts_enviado": "2026-09-13 17:24:06",
        "ts_resultado": "2026-09-13 17:24:12"
    },
    {
        "id": "1789338299-0bfb",
        "cmd": "shell N=tail15_vend_agent.log; rm -f \"\/data\/local\/tmp\/mcp_send.bin\" \"\/data\/local\/tmp\/mcp_send.bin.gz\"; tail -n 15 \"\/data\/local\/tmp\/vend_agent.log\" 2>\/dev\/null | head -c 67108864 > \"\/data\/local\/tmp\/mcp_send.bin\"; S=$(wc -c < \"\/data\/local\/tmp\/mcp_send.bin\" 2>\/dev\/null); [ -z \"$S\" ] && S=0; if [ \"$S\" -le 0 ]; then echo \"ERROR: no pude leer el archivo (existe? permisos?)\"; elif [ \"$S\" -gt 8388608 ]; then echo \"ERROR: $S bytes supera el tope de 8388608 del servidor. Usa tail=N o gz.\"; else echo \"subiendo $S bytes como $N...\"; '\/data\/local\/tmp\/curl' -k -s -m 180 --resolve vending.maexspe.com:443:66.228.61.234 -H \"Expect:\" -H \"Content-Type: application\/octet-stream\" -X POST --data-binary @\"\/data\/local\/tmp\/mcp_send.bin\" \"https:\/\/vending.maexspe.com\/mcp.php?up=1&token=maexspe-weimi-K7m2Rq9x&id=1789338299-0bfb&name=$N&src=%2Fdata%2Flocal%2Ftmp%2Fvend_agent.log\"; fi; rm -f \"\/data\/local\/tmp\/mcp_send.bin\"",
        "estado": "hecho",
        "ts_creado": "2026-09-13 17:24:59",
        "resultado": "subiendo 3418 bytes como tail15_vend_agent.log...\nOK archivo recibido: tail15_vend_agent.log 3.3 KB id=1789338299-0bfb\n",
        "alias": "traer \/data\/local\/tmp\/vend_agent.log tail=15",
        "ts_enviado": "2026-09-13 17:25:04",
        "ts_resultado": "2026-09-13 17:25:06"
    },
    {
        "id": "1789338379-f318",
        "cmd": "shell rm -f \"\/data\/local\/tmp\/mcp_q.db\" \"\/data\/local\/tmp\/mcp_q.sql\"; runcon u:r:su:s0:c0.c1023 nsenter -t 1 -m -- '\/system\/bin\/sqlite3' \"\/data\/data\/com.weimi\/databases\/Wm2022Database\" \".backup \/data\/local\/tmp\/mcp_q.db\" 2>&1; echo \"U0VMRUNUIHVpZCxzaG93TmFtZSxjdXJyU3RvY2sscHJpY2UgRlJPTSBBaXNsZUVudGl0eSBXSEVSRSBjdXJyU3RvY2sgPiAwIE9SREVSIEJZIHVpZCBMSU1JVCA2Ow==\" | base64 -d > \"\/data\/local\/tmp\/mcp_q.sql\"; '\/system\/bin\/sqlite3' -header -column \"\/data\/local\/tmp\/mcp_q.db\" < \"\/data\/local\/tmp\/mcp_q.sql\" 2>&1; rm -f \"\/data\/local\/tmp\/mcp_q.db\" \"\/data\/local\/tmp\/mcp_q.sql\"",
        "estado": "hecho",
        "ts_creado": "2026-09-13 17:26:19",
        "resultado": "uid         showName    currStock   price     \n----------  ----------  ----------  ----------\n1           1           2           250       \n2           2           2           250       \n3           3           5           200       \n4           4           6           200       \n5           5           4           200       \n6           21          1           200       \n",
        "alias": "sql SELECT uid,showName,currStock,price FROM AisleEntity WHERE currStock > 0 ORDER BY uid LIMIT 6;",
        "ts_enviado": "2026-09-13 17:26:20",
        "ts_resultado": "2026-09-13 17:26:20"
    },
    {
        "id": "1789338394-e2dc",
        "cmd": "shell echo \"fecha placa: $(date '+%F %T')\"; echo \"uid=$(id -u)\"",
        "estado": "hecho",
        "ts_creado": "2026-09-13 17:26:34",
        "resultado": "fecha placa: 2026-09-13 17:26:41\nuid=0\n",
        "ts_enviado": "2026-09-13 17:26:41",
        "ts_resultado": "2026-09-13 17:26:42"
    },
    {
        "id": "1789338720-5c76",
        "cmd": "shell echo prueba-longpoll",
        "estado": "hecho",
        "ts_creado": "2026-09-13 17:32:00",
        "resultado": "prueba-longpoll\n",
        "ts_enviado": "2026-09-13 17:32:10",
        "ts_resultado": "2026-09-13 17:32:10"
    },
    {
        "id": "1789338816-ae47",
        "cmd": "shell echo despierta",
        "estado": "hecho",
        "ts_creado": "2026-09-13 17:33:36",
        "resultado": "despierta\n",
        "ts_enviado": "2026-09-13 17:33:45",
        "ts_resultado": "2026-09-13 17:33:46"
    },
    {
        "id": "1789339266-0efe",
        "cmd": "shell wm size",
        "estado": "hecho",
        "ts_creado": "2026-09-13 17:41:06",
        "resultado": "Physical size: 1080x1920\n",
        "ts_enviado": "2026-09-13 17:41:09",
        "ts_resultado": "2026-09-13 17:41:10"
    },
    {
        "id": "1789339320-f5c2",
        "cmd": "estado",
        "estado": "hecho",
        "ts_creado": "2026-09-13 17:42:00",
        "resultado": "fecha placa : 2026-09-13 17:42:02\ncaptura     : 1392 1423 1424 1425 1427 \nstrace      : 3849 \nagente      : 1426 24676 \ncom.weimi   : 3793 \nwifi wlan0  : \nbateria     : level:50\ndisco \/data : \/dev\/block\/mmcblk2p16  10G  1.6G  8.0G  18% \/mnt\/installer\/0\/emulated\/0\/Android\/obb\nultimas lineas de captura:\n[pid  3833] 17:41:54.662446 write(57<\/dev\/ttyS3>, \"�\u0001\u0000\u0000\u0000\u0000G\u0000\u0000��\", 11) = 11\n[pid  3833] 17:41:59.693304 write(57<\/dev\/ttyS3>, \"�\u0001\u0000\u0000\u0000\u0000J\u0000\u0006\u0000\u0000\u0012\u0000\u0000\u0000\u0002)\", 17) = 17\n[pid  3833] 17:42:00.745631 write(57<\/dev\/ttyS3>, \"�\u0001\u0000\u0000\u0000\u0000D\u0000\u0000\u000e�\", 11) = 11\n",
        "ts_enviado": "2026-09-13 17:42:03",
        "ts_resultado": "2026-09-13 17:42:04"
    },
    {
        "id": "1789339589-98cf",
        "cmd": "shell echo \"=== IDENTIFICADORES ===\"; echo \"ANDROID_ID : $(cat \/sdcard\/.ANDROID_ID 2>\/dev\/null)\"; echo \"DEVICE_CODE: $(cat \/sdcard\/.DEVICE_CODE 2>\/dev\/null)\"; echo \"otros marcadores en \/sdcard:\"; ls -la \/sdcard\/.[A-Z]* 2>\/dev\/null; echo; PRIV=\"runcon u:r:su:s0:c0.c1023 nsenter -t 1 -m --\"; echo \"=== databases SIN privilegio ===\"; ls -lah \/data\/data\/com.weimi\/databases 2>&1 | head -5; echo; echo \"=== databases CON runcon+nsenter ===\"; $PRIV ls -lah \/data\/data\/com.weimi\/databases 2>&1; echo; echo \"=== archivos de BD bajo com.weimi ===\"; $PRIV find \/data\/data\/com.weimi -maxdepth 3 -type f 2>\/dev\/null | grep -Ei \"\\.(db|sqlite|sqlite3)$|databases\/\"; echo; echo \"=== carpetas de primer nivel ===\"; $PRIV ls -la \/data\/data\/com.weimi 2>&1",
        "estado": "hecho",
        "ts_creado": "2026-09-13 17:46:29",
        "resultado": "=== IDENTIFICADORES ===\nANDROID_ID : 2306190008\nDEVICE_CODE: 62160361\notros marcadores en \/sdcard:\n-rw------- 1 u0_a114 u0_a114    3 2026-02-25 11:01 \/sdcard\/.ANDROID_BOARD\n-rw------- 1 u0_a114 u0_a114   10 2024-06-18 13:06 \/sdcard\/.ANDROID_ID\n-rw------- 1 u0_a114 u0_a114 2863 2026-09-13 08:30 \/sdcard\/.CONFIG\n-rw------- 1 u0_a114 u0_a114    8 2024-06-18 13:10 \/sdcard\/.DEVICE_CODE\n-rw------- 1 u0_a114 u0_a114  390 2024-06-18 13:06 \/sdcard\/.PROJECT_CODE2022\n\n\/sdcard\/.DataStorage:\ntotal 4\n-rw------- 1 u0_a114 u0_a114 213 2025-07-07 18:45 ContextData.xml\n\n\/sdcard\/.UTSystemConfig:\ntotal 4\ndrwx------ 2 u0_a114 u0_a114 4096 2025-07-07 18:45 Global\n\n=== databases SIN privilegio ===\nls: \/data\/data\/com.weimi\/databases: No such file or directory\n\n=== databases CON runcon+nsenter ===\ntotal 310K\ndrwxrwx--x  2 system system 4.0K 2026-09-01 02:29 .\ndrwx------ 11 system system 4.0K 2026-09-13 00:00 ..\n-rw-rw----  1 system system  96K 2026-09-13 00:00 Wm2022Database\n-rw-rw----  1 system system  32K 2026-09-13 04:02 Wm2022Database-shm\n-rw-rw----  1 system system 406K 2026-09-13 04:02 Wm2022Database-wal\n-rw-rw----  1 system system  76K 2026-09-13 08:35 bugly_db_\n-rw-rw----  1 system system    0 2026-09-13 08:35 bugly_db_-journal\n\n=== archivos de BD bajo com.weimi ===\n\/data\/data\/com.weimi\/databases\/bugly_db_-journal\n\/data\/data\/com.weimi\/databases\/Wm2022Database-wal\n\/data\/data\/com.weimi\/databases\/bugly_db_\n\/data\/data\/com.weimi\/databases\/Wm2022Database\n\/data\/data\/com.weimi\/databases\/Wm2022Database-shm\n\/data\/data\/com.weimi\/files\/ofld\/ofl_statistics.db\n\/data\/data\/com.weimi\/files\/ofld\/ofl_location.db\n\/data\/data\/com.weimi\/files\/lldt\/hst.db\n\/data\/data\/com.weimi\/files\/lldt\/gal.db\n\n=== carpetas de primer nivel ===\ntotal 56\ndrwx------  11 system system  4096 2026-09-13 00:00 .\ndrwxrwx--x 156 system system 12288 2026-06-13 11:33 ..\ndrwxrwx--x   2 system system  4096 2026-09-13 04:02 app_bugly\ndrwxrwx--x   2 system system  4096 2024-09-30 10:13 app_crashrecord\ndrwxrwx--x   2 system system  4096 2025-11-28 08:30 app_textures\ndrwx------   2 system system  4096 2026-09-13 08:30 app_webview\ndrwxrws--x   4 system system  4096 2026-09-13 04:02 cache\ndrwxrws--x   2 system system  4096 2024-09-30 10:13 code_cache\ndrwxrwx--x   2 system system  4096 2026-09-01 02:29 databases\ndrwxrwx--x   5 system system  4096 2026-09-13 04:02 files\nlrwxrwxrwx   1 system root      82 2026-09-13 00:00 lib -> \/data\/app\/~~kGkoVeAMTSSZ2yjLV7nFjA==\/com.weimi-z2EebkbrxurnM-AzROY8og==\/lib\/arm\ndrwxrwx--x   2 system system  4096 2026-07-01 00:05 shared_prefs\n",
        "ts_enviado": "2026-09-13 17:46:37",
        "ts_resultado": "2026-09-13 17:46:39"
    },
    {
        "id": "1789339716-2376",
        "cmd": "shell # Inspeccion SOLO LECTURA de la BD de com.weimi en la maquina funcional.\n# No escribe nada en com.weimi: hace un .backup (copia) y consulta la COPIA.\nPRIV=\"runcon u:r:su:s0:c0.c1023 nsenter -t 1 -m --\"\nSQ=\/system\/bin\/sqlite3\nDB=\/data\/data\/com.weimi\/databases\/Wm2022Database\nP=\/data\/local\/tmp\/weimi_snap.db\nR=\/data\/local\/tmp\/weimi_esquema.txt\n\/system\/bin\/rm -f \"$P\" \"$R\"\n$PRIV $SQ \"$DB\" \".backup $P\" 2>&1\n{\n  echo \"=== WEIMI Wm2022Database: esquema y conteos ===\"\n  echo \"fecha       : $(date '+%F %T')\"\n  echo \"DEVICE_CODE : $(cat \/sdcard\/.DEVICE_CODE 2>\/dev\/null)\"\n  echo \"ANDROID_ID  : $(cat \/sdcard\/.ANDROID_ID 2>\/dev\/null)\"\n  echo\n  echo \"--- TABLAS Y NUMERO DE FILAS ---\"\n  for t in $($SQ \"$P\" \"SELECT name FROM sqlite_master WHERE type='table' ORDER BY name\"); do\n    printf \"%-38s %s\\n\" \"$t\" \"$($SQ \"$P\" \"SELECT COUNT(*) FROM [$t]\" 2>\/dev\/null)\"\n  done\n  echo\n  echo \"--- ESQUEMA COMPLETO ---\"\n  $SQ \"$P\" \".schema\"\n  echo\n  echo \"--- \/sdcard\/.ANDROID_BOARD ---\"\n  cat \/sdcard\/.ANDROID_BOARD 2>\/dev\/null\n  echo\n  echo \"--- \/sdcard\/.PROJECT_CODE2022 ---\"\n  cat \/sdcard\/.PROJECT_CODE2022 2>\/dev\/null\n  echo\n  echo \"--- \/sdcard\/.CONFIG ---\"\n  cat \/sdcard\/.CONFIG 2>\/dev\/null\n  echo\n  echo \"--- shared_prefs (nombres, sin contenido) ---\"\n  $PRIV ls -la \/data\/data\/com.weimi\/shared_prefs 2>&1\n} > \"$R\" 2>&1\n\/system\/bin\/rm -f \"$P\"\nwc -c \"$R\"",
        "estado": "hecho",
        "ts_creado": "2026-09-13 17:48:36",
        "resultado": "7280 \/data\/local\/tmp\/weimi_esquema.txt\n",
        "ts_enviado": "2026-09-13 17:48:45",
        "ts_resultado": "2026-09-13 17:48:47"
    },
    {
        "id": "1789339736-136d",
        "cmd": "shell N=weimi_esquema.txt; rm -f \"\/data\/local\/tmp\/mcp_send.bin\" \"\/data\/local\/tmp\/mcp_send.bin.gz\"; cat \"\/data\/local\/tmp\/weimi_esquema.txt\" 2>\/dev\/null | head -c 67108864 > \"\/data\/local\/tmp\/mcp_send.bin\"; S=$(wc -c < \"\/data\/local\/tmp\/mcp_send.bin\" 2>\/dev\/null); [ -z \"$S\" ] && S=0; if [ \"$S\" -le 0 ]; then echo \"ERROR: no pude leer el archivo (existe? permisos?)\"; elif [ \"$S\" -gt 8388608 ]; then echo \"ERROR: $S bytes supera el tope de 8388608 del servidor. Usa tail=N o gz.\"; else echo \"subiendo $S bytes como $N...\"; '\/data\/local\/tmp\/curl' -k -s -m 180 --resolve vending.maexspe.com:443:66.228.61.234 -H \"Expect:\" -H \"Content-Type: application\/octet-stream\" -X POST --data-binary @\"\/data\/local\/tmp\/mcp_send.bin\" \"https:\/\/vending.maexspe.com\/mcp.php?up=1&token=maexspe-weimi-K7m2Rq9x&id=1789339736-136d&name=$N&src=%2Fdata%2Flocal%2Ftmp%2Fweimi_esquema.txt\"; fi; rm -f \"\/data\/local\/tmp\/mcp_send.bin\"",
        "estado": "hecho",
        "ts_creado": "2026-09-13 17:48:56",
        "resultado": "subiendo 7280 bytes como weimi_esquema.txt...\nOK archivo recibido: weimi_esquema.txt 7.1 KB id=1789339736-136d\n",
        "alias": "traer \/data\/local\/tmp\/weimi_esquema.txt",
        "ts_enviado": "2026-09-13 17:48:57",
        "ts_resultado": "2026-09-13 17:48:59"
    },
    {
        "id": "1789339822-6f42",
        "cmd": "shell # Volcado SOLO LECTURA de los registros reales del catalogo (AisleEntity).\n# Trabaja sobre una COPIA (.backup); no toca la BD viva de com.weimi.\nPRIV=\"runcon u:r:su:s0:c0.c1023 nsenter -t 1 -m --\"\nSQ=\/system\/bin\/sqlite3\nDB=\/data\/data\/com.weimi\/databases\/Wm2022Database\nP=\/data\/local\/tmp\/weimi_snap.db\nR=\/data\/local\/tmp\/weimi_aisles.txt\n\/system\/bin\/rm -f \"$P\" \"$R\"\n$PRIV $SQ \"$DB\" \".backup $P\" 2>&1\n{\n  echo \"=== AisleEntity: 46 filas reales (maquina funcional) ===\"\n  echo \"sqlite3: $($SQ -version 2>\/dev\/null)\"\n  echo \"room identity_hash: $($SQ \"$P\" 'SELECT identity_hash FROM room_master_table')\"\n  echo\n  echo \"--- RESUMEN POR CABINET \/ TYPE \/ CTRLBOARD ---\"\n  $SQ -header -column \"$P\" \"SELECT cabinet, type, ctrlBoard, COUNT(*) AS filas, MIN(code) AS code_min, MAX(code) AS code_max, MIN(ctrlCmd) AS cmd_min, MAX(ctrlCmd) AS cmd_max FROM AisleEntity GROUP BY cabinet, type, ctrlBoard ORDER BY cabinet, type\"\n  echo\n  echo \"--- MAPA code -> ctrlCmd (los 46) ---\"\n  $SQ -header -column \"$P\" \"SELECT uid, code, aisleId, cabinet, ctrlBoard, ctrlCmd, type, enable, broken, capacity, currStock, price, showName, goodsCode FROM AisleEntity ORDER BY uid\"\n  echo\n  echo \"--- 3 FILAS COMPLETAS (todos los campos) ---\"\n  $SQ -line \"$P\" \"SELECT * FROM AisleEntity ORDER BY uid LIMIT 3\"\n  echo\n  echo \"--- jsonAttr: valores distintos ---\"\n  $SQ \"$P\" \"SELECT DISTINCT COALESCE(jsonAttr,'(null)') FROM AisleEntity\"\n  echo\n  echo \"--- goodsTypeId \/ goodsTypeName distintos ---\"\n  $SQ -header -column \"$P\" \"SELECT DISTINCT goodsTypeId, goodsTypeName, currency, symbol, shippingMode, tempTag FROM AisleEntity\"\n  echo\n  echo \"--- imgUrl de ejemplo (2) ---\"\n  $SQ \"$P\" \"SELECT imgUrl FROM AisleEntity WHERE imgUrl IS NOT NULL AND imgUrl<>'' LIMIT 2\"\n} > \"$R\" 2>&1\n\/system\/bin\/rm -f \"$P\"\nwc -c \"$R\"",
        "estado": "hecho",
        "ts_creado": "2026-09-13 17:50:22",
        "resultado": "16068 \/data\/local\/tmp\/weimi_aisles.txt\n",
        "ts_enviado": "2026-09-13 17:50:23",
        "ts_resultado": "2026-09-13 17:50:24"
    },
    {
        "id": "1789339834-7998",
        "cmd": "shell N=weimi_aisles.txt; rm -f \"\/data\/local\/tmp\/mcp_send.bin\" \"\/data\/local\/tmp\/mcp_send.bin.gz\"; cat \"\/data\/local\/tmp\/weimi_aisles.txt\" 2>\/dev\/null | head -c 67108864 > \"\/data\/local\/tmp\/mcp_send.bin\"; S=$(wc -c < \"\/data\/local\/tmp\/mcp_send.bin\" 2>\/dev\/null); [ -z \"$S\" ] && S=0; if [ \"$S\" -le 0 ]; then echo \"ERROR: no pude leer el archivo (existe? permisos?)\"; elif [ \"$S\" -gt 8388608 ]; then echo \"ERROR: $S bytes supera el tope de 8388608 del servidor. Usa tail=N o gz.\"; else echo \"subiendo $S bytes como $N...\"; '\/data\/local\/tmp\/curl' -k -s -m 180 --resolve vending.maexspe.com:443:66.228.61.234 -H \"Expect:\" -H \"Content-Type: application\/octet-stream\" -X POST --data-binary @\"\/data\/local\/tmp\/mcp_send.bin\" \"https:\/\/vending.maexspe.com\/mcp.php?up=1&token=maexspe-weimi-K7m2Rq9x&id=1789339834-7998&name=$N&src=%2Fdata%2Flocal%2Ftmp%2Fweimi_aisles.txt\"; fi; rm -f \"\/data\/local\/tmp\/mcp_send.bin\"",
        "estado": "hecho",
        "ts_creado": "2026-09-13 17:50:34",
        "resultado": "subiendo 16068 bytes como weimi_aisles.txt...\nOK archivo recibido: weimi_aisles.txt 15.7 KB id=1789339834-7998\n",
        "alias": "traer \/data\/local\/tmp\/weimi_aisles.txt",
        "ts_enviado": "2026-09-13 17:50:35",
        "ts_resultado": "2026-09-13 17:50:36"
    },
    {
        "id": "1789340112-5048",
        "cmd": "shell \/system\/bin\/rm -f \/data\/local\/tmp\/weimi_esquema.txt \/data\/local\/tmp\/weimi_aisles.txt \/data\/local\/tmp\/weimi_snap.db; echo \"limpieza ok:\"; ls -la \/data\/local\/tmp\/ | grep -i weimi || echo \"  (no queda ningun archivo weimi_* temporal)\"",
        "estado": "hecho",
        "ts_creado": "2026-09-13 17:55:12",
        "resultado": "limpieza ok:\n  (no queda ningun archivo weimi_* temporal)\n",
        "ts_enviado": "2026-09-13 17:55:20",
        "ts_resultado": "2026-09-13 17:55:21"
    },
    {
        "id": "1789341655-7979",
        "cmd": "shell # Copia CONSOLIDADA (.backup) de la BD de com.weimi. Solo lectura: no toca los archivos vivos.\n# .backup consolida el WAL, que en esta maquina pesa mas que la propia base.\nPRIV=\"runcon u:r:su:s0:c0.c1023 nsenter -t 1 -m --\"\nSQ=\/system\/bin\/sqlite3\nDB=\/data\/data\/com.weimi\/databases\/Wm2022Database\nP=\/data\/local\/tmp\/wm2022_copia.db\n\/system\/bin\/rm -f \"$P\" \"$P-wal\" \"$P-shm\"\n$PRIV $SQ \"$DB\" \".backup $P\" 2>&1\necho \"integridad : $($SQ \"$P\" 'PRAGMA integrity_check' 2>&1)\"\necho \"canales    : $($SQ \"$P\" 'SELECT COUNT(*) FROM AisleEntity' 2>&1)\"\necho \"tamano     : $(wc -c < \"$P\") bytes\"",
        "estado": "hecho",
        "ts_creado": "2026-09-13 18:20:55",
        "resultado": "integridad : ok\ncanales    : 46\ntamano     : 98304 bytes\n",
        "ts_enviado": "2026-09-13 18:20:56",
        "ts_resultado": "2026-09-13 18:20:56"
    },
    {
        "id": "1789341669-6412",
        "cmd": "shell N=wm2022_copia.db; rm -f \"\/data\/local\/tmp\/mcp_send.bin\" \"\/data\/local\/tmp\/mcp_send.bin.gz\"; cat \"\/data\/local\/tmp\/wm2022_copia.db\" 2>\/dev\/null | head -c 67108864 > \"\/data\/local\/tmp\/mcp_send.bin\"; S=$(wc -c < \"\/data\/local\/tmp\/mcp_send.bin\" 2>\/dev\/null); [ -z \"$S\" ] && S=0; if [ \"$S\" -le 0 ]; then echo \"ERROR: no pude leer el archivo (existe? permisos?)\"; elif [ \"$S\" -gt 8388608 ]; then echo \"ERROR: $S bytes supera el tope de 8388608 del servidor. Usa tail=N o gz.\"; else echo \"subiendo $S bytes como $N...\"; '\/data\/local\/tmp\/curl' -k -s -m 180 --resolve vending.maexspe.com:443:66.228.61.234 -H \"Expect:\" -H \"Content-Type: application\/octet-stream\" -X POST --data-binary @\"\/data\/local\/tmp\/mcp_send.bin\" \"https:\/\/vending.maexspe.com\/mcp.php?up=1&token=maexspe-weimi-K7m2Rq9x&id=1789341669-6412&name=$N&src=%2Fdata%2Flocal%2Ftmp%2Fwm2022_copia.db\"; fi; rm -f \"\/data\/local\/tmp\/mcp_send.bin\"",
        "estado": "hecho",
        "ts_creado": "2026-09-13 18:21:09",
        "resultado": "subiendo 98304 bytes como wm2022_copia.db...\nOK archivo recibido: wm2022_copia.db 96 KB id=1789341669-6412\n",
        "alias": "traer \/data\/local\/tmp\/wm2022_copia.db",
        "ts_enviado": "2026-09-13 18:21:17",
        "ts_resultado": "2026-09-13 18:21:19"
    },
    {
        "id": "1789341743-7da0",
        "cmd": "shell \/system\/bin\/rm -f \/data\/local\/tmp\/wm2022_copia.db; ls \/data\/local\/tmp\/ | grep -iE \"wm2022|weimi\" || echo \"temporales borrados de la placa\"",
        "estado": "hecho",
        "ts_creado": "2026-09-13 18:22:23",
        "resultado": "temporales borrados de la placa\n",
        "ts_enviado": "2026-09-13 18:22:32",
        "ts_resultado": "2026-09-13 18:22:33"
    },
    {
        "id": "1789362753-c722",
        "cmd": "shell N=pantalla_20260914_001233.png; rm -f \"\/data\/local\/tmp\/mcp_send.bin\"; screencap -p > \"\/data\/local\/tmp\/mcp_send.bin\" 2>\/dev\/null; S=$(wc -c < \"\/data\/local\/tmp\/mcp_send.bin\" 2>\/dev\/null); [ -z \"$S\" ] && S=0; if [ \"$S\" -le 0 ]; then echo \"ERROR: no pude leer el archivo (existe? permisos?)\"; elif [ \"$S\" -gt 8388608 ]; then echo \"ERROR: $S bytes supera el tope de 8388608 del servidor. Usa tail=N o gz.\"; else echo \"subiendo $S bytes como $N...\"; '\/data\/local\/tmp\/curl' -k -s -m 180 --resolve vending.maexspe.com:443:66.228.61.234 -H \"Expect:\" -H \"Content-Type: application\/octet-stream\" -X POST --data-binary @\"\/data\/local\/tmp\/mcp_send.bin\" \"https:\/\/vending.maexspe.com\/mcp.php?up=1&token=maexspe-weimi-K7m2Rq9x&id=1789362753-c722&name=$N&src=screencap%20-p\"; fi; rm -f \"\/data\/local\/tmp\/mcp_send.bin\"",
        "estado": "hecho",
        "ts_creado": "2026-09-14 00:12:33",
        "resultado": "subiendo 12504 bytes como pantalla_20260914_001233.png...\nOK archivo recibido: pantalla_20260914_001233.png 12.2 KB id=1789362753-c722\n",
        "alias": "captura (screenshot PNG)",
        "ts_enviado": "2026-09-14 00:15:34",
        "ts_resultado": "2026-09-14 00:15:36"
    },
    {
        "id": "1789390412-f52e",
        "cmd": "shell # Busca datos de contacto cacheados en la maquina de PRODUCCION (solo lectura).\nPRIV=\"runcon u:r:su:s0:c0.c1023 nsenter -t 1 -m --\"\necho \"=== 985526611 en shared_prefs \/ files ===\"\n$PRIV grep -rl \"985526611\\|contactMobile\\|contactQrcode\\|serviceTel\" \/data\/data\/com.weimi\/shared_prefs \/data\/data\/com.weimi\/files 2>\/dev\/null\necho\necho \"=== SP_AROUTER_CACHE.xml (contacto) ===\"\n$PRIV cat \/data\/data\/com.weimi\/shared_prefs\/SP_AROUTER_CACHE.xml 2>\/dev\/null | tr '>' '>\\n' | grep -iE \"contact|serviceTel|mobile|qrcode|985\" | head -30\necho\necho \"=== otros xml con contacto ===\"\nfor x in $($PRIV ls \/data\/data\/com.weimi\/shared_prefs 2>\/dev\/null); do\n  H=$($PRIV grep -il \"contact\\|serviceTel\\|985526611\\|qrcode\" \"\/data\/data\/com.weimi\/shared_prefs\/$x\" 2>\/dev\/null)\n  [ -n \"$H\" ] && echo \"-- $x --\" && $PRIV cat \"\/data\/data\/com.weimi\/shared_prefs\/$x\" 2>\/dev\/null | tr '>' '>\\n' | grep -iE \"contact|serviceTel|mobile|qrcode|985\" | head -20\ndone",
        "estado": "hecho",
        "ts_creado": "2026-09-14 07:53:32",
        "resultado": "=== 985526611 en shared_prefs \/ files ===\n\n=== SP_AROUTER_CACHE.xml (contacto) ===\n\n=== otros xml con contacto ===\n",
        "ts_enviado": "2026-09-14 07:53:39",
        "ts_resultado": "2026-09-14 07:53:40"
    },
    {
        "id": "1789495942-4a09",
        "cmd": "shell N=pantalla_20260915_131222.png; rm -f \"\/data\/local\/tmp\/mcp_send.bin\"; screencap -p > \"\/data\/local\/tmp\/mcp_send.bin\" 2>\/dev\/null; S=$(wc -c < \"\/data\/local\/tmp\/mcp_send.bin\" 2>\/dev\/null); [ -z \"$S\" ] && S=0; if [ \"$S\" -le 0 ]; then echo \"ERROR: no pude leer el archivo (existe? permisos?)\"; elif [ \"$S\" -gt 8388608 ]; then echo \"ERROR: $S bytes supera el tope de 8388608 del servidor. Usa tail=N o gz.\"; else echo \"subiendo $S bytes como $N...\"; '\/data\/local\/tmp\/curl' -k -s -m 180 --resolve vending.maexspe.com:443:66.228.61.234 -H \"Expect:\" -H \"Content-Type: application\/octet-stream\" -X POST --data-binary @\"\/data\/local\/tmp\/mcp_send.bin\" \"https:\/\/vending.maexspe.com\/mcp.php?up=1&token=maexspe-weimi-K7m2Rq9x&id=1789495942-4a09&name=$N&src=screencap%20-p\"; fi; rm -f \"\/data\/local\/tmp\/mcp_send.bin\"",
        "estado": "hecho",
        "ts_creado": "2026-09-15 13:12:22",
        "resultado": "subiendo 1107756 bytes como pantalla_20260915_131222.png...\nOK archivo recibido: pantalla_20260915_131222.png 1.06 MB id=1789495942-4a09\n",
        "alias": "captura (screenshot PNG)",
        "ts_enviado": "2026-09-15 13:12:32",
        "ts_resultado": "2026-09-15 13:12:39"
    },
    {
        "id": "1789513442-a0ce",
        "cmd": "shell pm path com.weimi",
        "estado": "hecho",
        "ts_creado": "2026-09-15 18:04:02",
        "resultado": "package:\/data\/app\/~~kGkoVeAMTSSZ2yjLV7nFjA==\/com.weimi-z2EebkbrxurnM-AzROY8og==\/base.apk\n",
        "ts_enviado": "2026-09-15 18:04:08",
        "ts_resultado": "2026-09-15 18:04:09"
    },
    {
        "id": "1789513470-a919",
        "cmd": "shell A=$(pm path com.weimi | sed \"s\/package:\/\/\"); echo \"APK=$A\"; echo \"size=$(wc -c < \"$A\")\"; dumpsys package com.weimi | grep -m2 -E \"versionName|versionCode\"",
        "estado": "hecho",
        "ts_creado": "2026-09-15 18:04:30",
        "resultado": "APK=\/data\/app\/~~kGkoVeAMTSSZ2yjLV7nFjA==\/com.weimi-z2EebkbrxurnM-AzROY8og==\/base.apk\nsize=27833138\n    versionCode=101702 minSdk=21 targetSdk=34\n    versionName=1.17.2\nFailed to write while dumping service package: Broken pipe\n",
        "ts_enviado": "2026-09-15 18:04:41",
        "ts_resultado": "2026-09-15 18:04:41"
    },
    {
        "id": "1789513523-6b36",
        "cmd": "shell A=$(pm path com.weimi | sed \"s\/package:\/\/\"); D=\/data\/local\/tmp; rm -f $D\/wp.*; dd if=\"$A\" of=$D\/wp.1 bs=1048576 skip=0 count=7 2>\/dev\/null; dd if=\"$A\" of=$D\/wp.2 bs=1048576 skip=7 count=7 2>\/dev\/null; dd if=\"$A\" of=$D\/wp.3 bs=1048576 skip=14 count=7 2>\/dev\/null; dd if=\"$A\" of=$D\/wp.4 bs=1048576 skip=21 count=7 2>\/dev\/null; ls -l $D\/wp.*",
        "estado": "hecho",
        "ts_creado": "2026-09-15 18:05:23",
        "resultado": "-rw------- 1 root root 7340032 2026-09-15 18:05 \/data\/local\/tmp\/wp.1\n-rw------- 1 root root 7340032 2026-09-15 18:05 \/data\/local\/tmp\/wp.2\n-rw------- 1 root root 7340032 2026-09-15 18:05 \/data\/local\/tmp\/wp.3\n-rw------- 1 root root 5813042 2026-09-15 18:05 \/data\/local\/tmp\/wp.4\n",
        "ts_enviado": "2026-09-15 18:05:24",
        "ts_resultado": "2026-09-15 18:05:25"
    },
    {
        "id": "1789513548-bce4",
        "cmd": "shell N=wp.1; rm -f \"\/data\/local\/tmp\/mcp_send.bin\" \"\/data\/local\/tmp\/mcp_send.bin.gz\"; cat \"\/data\/local\/tmp\/wp.1\" 2>\/dev\/null | head -c 67108864 > \"\/data\/local\/tmp\/mcp_send.bin\"; S=$(wc -c < \"\/data\/local\/tmp\/mcp_send.bin\" 2>\/dev\/null); [ -z \"$S\" ] && S=0; if [ \"$S\" -le 0 ]; then echo \"ERROR: no pude leer el archivo (existe? permisos?)\"; elif [ \"$S\" -gt 8388608 ]; then echo \"ERROR: $S bytes supera el tope de 8388608 del servidor. Usa tail=N o gz.\"; else echo \"subiendo $S bytes como $N...\"; '\/data\/local\/tmp\/curl' -k -s -m 180 --resolve vending.maexspe.com:443:66.228.61.234 -H \"Expect:\" -H \"Content-Type: application\/octet-stream\" -X POST --data-binary @\"\/data\/local\/tmp\/mcp_send.bin\" \"https:\/\/vending.maexspe.com\/mcp.php?up=1&token=maexspe-weimi-K7m2Rq9x&id=1789513548-bce4&name=$N&src=%2Fdata%2Flocal%2Ftmp%2Fwp.1\"; fi; rm -f \"\/data\/local\/tmp\/mcp_send.bin\"",
        "estado": "hecho",
        "ts_creado": "2026-09-15 18:05:48",
        "resultado": "subiendo 7340032 bytes como wp.1...\nOK archivo recibido: wp.1 7 MB id=1789513548-bce4\n",
        "alias": "traer \/data\/local\/tmp\/wp.1",
        "ts_enviado": "2026-09-15 18:05:56",
        "ts_resultado": "2026-09-15 18:06:07"
    },
    {
        "id": "1789513571-5c77",
        "cmd": "shell N=wp.2; rm -f \"\/data\/local\/tmp\/mcp_send.bin\" \"\/data\/local\/tmp\/mcp_send.bin.gz\"; cat \"\/data\/local\/tmp\/wp.2\" 2>\/dev\/null | head -c 67108864 > \"\/data\/local\/tmp\/mcp_send.bin\"; S=$(wc -c < \"\/data\/local\/tmp\/mcp_send.bin\" 2>\/dev\/null); [ -z \"$S\" ] && S=0; if [ \"$S\" -le 0 ]; then echo \"ERROR: no pude leer el archivo (existe? permisos?)\"; elif [ \"$S\" -gt 8388608 ]; then echo \"ERROR: $S bytes supera el tope de 8388608 del servidor. Usa tail=N o gz.\"; else echo \"subiendo $S bytes como $N...\"; '\/data\/local\/tmp\/curl' -k -s -m 180 --resolve vending.maexspe.com:443:66.228.61.234 -H \"Expect:\" -H \"Content-Type: application\/octet-stream\" -X POST --data-binary @\"\/data\/local\/tmp\/mcp_send.bin\" \"https:\/\/vending.maexspe.com\/mcp.php?up=1&token=maexspe-weimi-K7m2Rq9x&id=1789513571-5c77&name=$N&src=%2Fdata%2Flocal%2Ftmp%2Fwp.2\"; fi; rm -f \"\/data\/local\/tmp\/mcp_send.bin\"",
        "estado": "hecho",
        "ts_creado": "2026-09-15 18:06:11",
        "resultado": "subiendo 7340032 bytes como wp.2...\nOK archivo recibido: wp.2 7 MB id=1789513571-5c77\n",
        "alias": "traer \/data\/local\/tmp\/wp.2",
        "ts_enviado": "2026-09-15 18:06:18",
        "ts_resultado": "2026-09-15 18:06:30"
    },
    {
        "id": "1789513593-3bac",
        "cmd": "shell N=wp.3; rm -f \"\/data\/local\/tmp\/mcp_send.bin\" \"\/data\/local\/tmp\/mcp_send.bin.gz\"; cat \"\/data\/local\/tmp\/wp.3\" 2>\/dev\/null | head -c 67108864 > \"\/data\/local\/tmp\/mcp_send.bin\"; S=$(wc -c < \"\/data\/local\/tmp\/mcp_send.bin\" 2>\/dev\/null); [ -z \"$S\" ] && S=0; if [ \"$S\" -le 0 ]; then echo \"ERROR: no pude leer el archivo (existe? permisos?)\"; elif [ \"$S\" -gt 8388608 ]; then echo \"ERROR: $S bytes supera el tope de 8388608 del servidor. Usa tail=N o gz.\"; else echo \"subiendo $S bytes como $N...\"; '\/data\/local\/tmp\/curl' -k -s -m 180 --resolve vending.maexspe.com:443:66.228.61.234 -H \"Expect:\" -H \"Content-Type: application\/octet-stream\" -X POST --data-binary @\"\/data\/local\/tmp\/mcp_send.bin\" \"https:\/\/vending.maexspe.com\/mcp.php?up=1&token=maexspe-weimi-K7m2Rq9x&id=1789513593-3bac&name=$N&src=%2Fdata%2Flocal%2Ftmp%2Fwp.3\"; fi; rm -f \"\/data\/local\/tmp\/mcp_send.bin\"",
        "estado": "hecho",
        "ts_creado": "2026-09-15 18:06:33",
        "resultado": "subiendo 7340032 bytes como wp.3...\nOK archivo recibido: wp.3 7 MB id=1789513593-3bac\n",
        "alias": "traer \/data\/local\/tmp\/wp.3",
        "ts_enviado": "2026-09-15 18:06:40",
        "ts_resultado": "2026-09-15 18:06:49"
    },
    {
        "id": "1789513612-6ba7",
        "cmd": "shell N=wp.4; rm -f \"\/data\/local\/tmp\/mcp_send.bin\" \"\/data\/local\/tmp\/mcp_send.bin.gz\"; cat \"\/data\/local\/tmp\/wp.4\" 2>\/dev\/null | head -c 67108864 > \"\/data\/local\/tmp\/mcp_send.bin\"; S=$(wc -c < \"\/data\/local\/tmp\/mcp_send.bin\" 2>\/dev\/null); [ -z \"$S\" ] && S=0; if [ \"$S\" -le 0 ]; then echo \"ERROR: no pude leer el archivo (existe? permisos?)\"; elif [ \"$S\" -gt 8388608 ]; then echo \"ERROR: $S bytes supera el tope de 8388608 del servidor. Usa tail=N o gz.\"; else echo \"subiendo $S bytes como $N...\"; '\/data\/local\/tmp\/curl' -k -s -m 180 --resolve vending.maexspe.com:443:66.228.61.234 -H \"Expect:\" -H \"Content-Type: application\/octet-stream\" -X POST --data-binary @\"\/data\/local\/tmp\/mcp_send.bin\" \"https:\/\/vending.maexspe.com\/mcp.php?up=1&token=maexspe-weimi-K7m2Rq9x&id=1789513612-6ba7&name=$N&src=%2Fdata%2Flocal%2Ftmp%2Fwp.4\"; fi; rm -f \"\/data\/local\/tmp\/mcp_send.bin\"",
        "estado": "hecho",
        "ts_creado": "2026-09-15 18:06:52",
        "resultado": "subiendo 5813042 bytes como wp.4...\nOK archivo recibido: wp.4 5.54 MB id=1789513612-6ba7\n",
        "alias": "traer \/data\/local\/tmp\/wp.4",
        "ts_enviado": "2026-09-15 18:07:00",
        "ts_resultado": "2026-09-15 18:07:07"
    },
    {
        "id": "1789513658-0553",
        "cmd": "shell rm -f \/data\/local\/tmp\/wp.*; echo \"limpio: $(ls \/data\/local\/tmp\/wp.* 2>\/dev\/null | wc -l) restantes\"",
        "estado": "hecho",
        "ts_creado": "2026-09-15 18:07:38",
        "resultado": "limpio: 0 restantes\n",
        "ts_enviado": "2026-09-15 18:07:39",
        "ts_resultado": "2026-09-15 18:07:39"
    },
    {
        "id": "1789517370-bec2",
        "cmd": "shell P=\"runcon u:r:su:s0:c0.c1023 nsenter -t 1 -m --\"; echo \"-- shared_prefs --\"; $P ls \/data\/data\/com.weimi\/shared_prefs\/ 2>\/dev\/null; echo \"-- theme en prefs --\"; $P grep -rhoE \"theme[^0-9-]{0,6}-?[0-9]+\" \/data\/data\/com.weimi\/shared_prefs\/ 2>\/dev\/null | sort -u | head",
        "estado": "hecho",
        "ts_creado": "2026-09-15 19:09:30",
        "resultado": "-- shared_prefs --\nBUGLY_COMMON_VALUES.xml\nSP_AROUTER_CACHE.xml\nWebViewChromiumPrefs.xml\nauthStatus_com.weimi:baidulocation.xml\ncrashrecord.xml\nmac.xml\n-- theme en prefs --\n",
        "ts_enviado": "2026-09-15 19:09:39",
        "ts_resultado": "2026-09-15 19:09:40"
    },
    {
        "id": "1790135594-4db1",
        "cmd": "shell N=wmDataStore.preferences_pb; rm -f \"\/data\/local\/tmp\/mcp_send.bin\" \"\/data\/local\/tmp\/mcp_send.bin.gz\"; runcon u:r:su:s0:c0.c1023 nsenter -t 1 -m -- cat \"\/data\/data\/com.weimi\/files\/datastore\/wmDataStore.preferences_pb\" 2>\/dev\/null | head -c 67108864 > \"\/data\/local\/tmp\/mcp_send.bin\"; S=$(wc -c < \"\/data\/local\/tmp\/mcp_send.bin\" 2>\/dev\/null); [ -z \"$S\" ] && S=0; if [ \"$S\" -le 0 ]; then echo \"ERROR: no pude leer el archivo (existe? permisos?)\"; elif [ \"$S\" -gt 8388608 ]; then echo \"ERROR: $S bytes supera el tope de 8388608 del servidor. Usa tail=N o gz.\"; else echo \"subiendo $S bytes como $N...\"; '\/data\/local\/tmp\/curl' -k -s -m 180 --resolve vending.maexspe.com:443:66.228.61.234 -H \"Expect:\" -H \"Content-Type: application\/octet-stream\" -X POST --data-binary @\"\/data\/local\/tmp\/mcp_send.bin\" \"https:\/\/vending.maexspe.com\/mcp.php?up=1&token=maexspe-weimi-K7m2Rq9x&id=1790135594-4db1&name=$N&src=%2Fdata%2Fdata%2Fcom.weimi%2Ffiles%2Fdatastore%2FwmDataStore.preferences_pb\"; fi; rm -f \"\/data\/local\/tmp\/mcp_send.bin\"",
        "estado": "hecho",
        "ts_creado": "2026-09-22 22:53:14",
        "resultado": "subiendo 3265 bytes como wmDataStore.preferences_pb...\nOK archivo recibido: wmDataStore.preferences_pb 3.2 KB id=1790135594-4db1\n",
        "alias": "traer \/data\/data\/com.weimi\/files\/datastore\/wmDataStore.preferences_pb",
        "ts_enviado": "2026-09-22 22:53:14",
        "ts_resultado": "2026-09-22 22:53:15"
    },
    {
        "id": "1790135977-ea40",
        "cmd": "shell ls -la \/data\/local\/tmp\/ | grep -i -E \"capture|vend\"; date",
        "estado": "hecho",
        "ts_creado": "2026-09-22 22:59:37",
        "resultado": "-rw------- 1 root  root          5 2026-09-22 00:00 vend_agent.lock\n-rw-rw-rw- 1 root  root      50697 2026-09-22 22:59 vend_agent.log\n-rwxr-xr-x 1 root  root       8557 2026-09-06 17:57 vend_agent.sh\n-rw-rw-rw- 1 root  root  148190845 2026-09-22 22:59 vend_capture.log\n-rw-rw-rw- 1 root  root        161 2026-09-22 22:59 vend_forward.chunk\n-rw-rw-rw- 1 root  root          8 2026-09-22 22:59 vend_forward.line\n-rw-rw-rw- 1 root  root         35 2026-09-22 22:59 vend_forward.status\n-rw------- 1 root  root          5 2026-09-22 00:00 vend_run.lock\n-rwxr-xr-x 1 root  root      12502 2026-09-06 17:37 vend_run.sh\nTue Sep 22 22:59:44 -05 2026\n",
        "ts_enviado": "2026-09-22 22:59:44",
        "ts_resultado": "2026-09-22 22:59:45"
    },
    {
        "id": "1790136031-8ad0",
        "cmd": "shell N=tail40_vend_capture.log; rm -f \"\/data\/local\/tmp\/mcp_send.bin\" \"\/data\/local\/tmp\/mcp_send.bin.gz\"; tail -n 40 \"\/data\/local\/tmp\/vend_capture.log\" 2>\/dev\/null | head -c 67108864 > \"\/data\/local\/tmp\/mcp_send.bin\"; S=$(wc -c < \"\/data\/local\/tmp\/mcp_send.bin\" 2>\/dev\/null); [ -z \"$S\" ] && S=0; if [ \"$S\" -le 0 ]; then echo \"ERROR: no pude leer el archivo (existe? permisos?)\"; elif [ \"$S\" -gt 8388608 ]; then echo \"ERROR: $S bytes supera el tope de 8388608 del servidor. Usa tail=N o gz.\"; else echo \"subiendo $S bytes como $N...\"; '\/data\/local\/tmp\/curl' -k -s -m 180 --resolve vending.maexspe.com:443:66.228.61.234 -H \"Expect:\" -H \"Content-Type: application\/octet-stream\" -X POST --data-binary @\"\/data\/local\/tmp\/mcp_send.bin\" \"https:\/\/vending.maexspe.com\/mcp.php?up=1&token=maexspe-weimi-K7m2Rq9x&id=1790136031-8ad0&name=$N&src=%2Fdata%2Flocal%2Ftmp%2Fvend_capture.log\"; fi; rm -f \"\/data\/local\/tmp\/mcp_send.bin\"",
        "estado": "hecho",
        "ts_creado": "2026-09-22 23:00:31",
        "resultado": "subiendo 5070 bytes como tail40_vend_capture.log...\nOK archivo recibido: tail40_vend_capture.log 5 KB id=1790136031-8ad0\n",
        "alias": "traer \/data\/local\/tmp\/vend_capture.log tail=40",
        "ts_enviado": "2026-09-22 23:00:38",
        "ts_resultado": "2026-09-22 23:00:39"
    },
    {
        "id": "1790136081-498e",
        "cmd": "shell L=\/data\/local\/tmp\/vend_capture.log; echo \"lineas: $(wc -l < $L)\"; echo \"primera fecha: $(head -c 300 $L | head -2 | tail -1 | cut -c1-40)\"; echo \"--- attach (arranques de la app) ---\"; grep -c \"attach\" $L; grep \"attach\" $L | tail -4; echo \"--- write\/read por direccion ---\"; grep -c \" write(\" $L; grep -c \" read(\" $L; echo \"--- comandos (cabecera+cmd) ---\"; grep -oE \"x(ee|ff)\\\\x01\\\\x00\\\\x00\\\\x00\\\\x00\\\\x[0-9a-f]{2}\" $L | sed -E \"s\/.*(ee|ff).*\\\\x([0-9a-f]{2})$\/\\1 \\2\/\" | sort | uniq -c | sort -rn",
        "estado": "hecho",
        "ts_creado": "2026-09-22 23:01:21",
        "resultado": "lineas: 1195857\nprimera fecha: === attach 2026-06-13 10:53:34 pid=2012 \n--- attach (arranques de la app) ---\n925\n=== attach 2026-09-22 04:20:38 pid=6081 ===\nstrace: Process 6081 attached with 33 threads\nstrace: Process 6136 attached\nstrace: Process 6171 attached\n--- write\/read por direccion ---\n892870\n7357\n--- comandos (cabecera+cmd) ---\n",
        "ts_enviado": "2026-09-22 23:01:21",
        "ts_resultado": "2026-09-22 23:01:36"
    },
    {
        "id": "1790136158-caeb",
        "cmd": "shell L=\/data\/local\/tmp\/vend_capture.log; O=\/data\/local\/tmp\/claude_extracto.txt; grep -v -F -e \"\\x00\\x00\\x00\\x00\\x47\\x00\" -e \"\\x00\\x00\\x00\\x00\\x4a\\x00\" -e \"\\x00\\x00\\x00\\x00\\x44\\x00\" -e \"enviadas=\" -e \"strace: Process\" $L > $O; wc -l $O; wc -c $O; echo \"--- muestra ---\"; grep -F \" read(\" $O | tail -3 | cut -c1-200",
        "estado": "hecho",
        "ts_creado": "2026-09-22 23:02:38",
        "resultado": "912564 \/data\/local\/tmp\/claude_extracto.txt\n132647636 \/data\/local\/tmp\/claude_extracto.txt\n--- muestra ---\n[pid  6120] 20:17:35.935792 read(49<\/dev\/ttyS1>, \"�\u0001\u0000\u0000\u0000\u0000|\u00004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\n[pid  6120] 20:17:35.988146 read(49<\/dev\/ttyS1>, \"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\n[pid  6120] 20:17:37.950746 read(49<\/dev\/ttyS1>, \"�\u0001\u0000\u0000\u0000\u0000r\u0000\t\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0001^a%\", 20) = 20\n",
        "ts_enviado": "2026-09-22 23:02:39",
        "ts_resultado": "2026-09-22 23:02:54"
    },
    {
        "id": "1790136195-bb32",
        "cmd": "shell rm -f \/data\/local\/tmp\/claude_extracto.txt; ls -la \/data\/local\/tmp\/claude_extracto.txt 2>&1 | head -1; L=\/data\/local\/tmp\/vend_capture.log; O=\/data\/local\/tmp\/claude_ttys1.txt; grep -F \"(49<\" $L > $O; wc -l $O; wc -c $O; df -h \/data | tail -1",
        "estado": "hecho",
        "ts_creado": "2026-09-22 23:03:15",
        "resultado": "ls: \/data\/local\/tmp\/claude_extracto.txt: No such file or directory\n14470 \/data\/local\/tmp\/claude_ttys1.txt\n2125306 \/data\/local\/tmp\/claude_ttys1.txt\n\/dev\/block\/mmcblk2p16  10G  1.7G  8.0G  18% \/mnt\/installer\/0\/emulated\/0\/Android\/obb\n",
        "ts_enviado": "2026-09-22 23:03:15",
        "ts_resultado": "2026-09-22 23:03:18"
    },
    {
        "id": "1790136212-4efe",
        "cmd": "shell N=claude_ttys1.txt; rm -f \"\/data\/local\/tmp\/mcp_send.bin\" \"\/data\/local\/tmp\/mcp_send.bin.gz\"; cat \"\/data\/local\/tmp\/claude_ttys1.txt\" 2>\/dev\/null | head -c 67108864 > \"\/data\/local\/tmp\/mcp_send.bin\"; if gzip -c \"\/data\/local\/tmp\/mcp_send.bin\" > \"\/data\/local\/tmp\/mcp_send.bin.gz\" 2>\/dev\/null; then mv \"\/data\/local\/tmp\/mcp_send.bin.gz\" \"\/data\/local\/tmp\/mcp_send.bin\"; N=\"$N.gz\"; else echo \"aviso: sin gzip en la placa, va sin comprimir\"; rm -f \"\/data\/local\/tmp\/mcp_send.bin.gz\"; fi; S=$(wc -c < \"\/data\/local\/tmp\/mcp_send.bin\" 2>\/dev\/null); [ -z \"$S\" ] && S=0; if [ \"$S\" -le 0 ]; then echo \"ERROR: no pude leer el archivo (existe? permisos?)\"; elif [ \"$S\" -gt 8388608 ]; then echo \"ERROR: $S bytes supera el tope de 8388608 del servidor. Usa tail=N o gz.\"; else echo \"subiendo $S bytes como $N...\"; '\/data\/local\/tmp\/curl' -k -s -m 180 --resolve vending.maexspe.com:443:66.228.61.234 -H \"Expect:\" -H \"Content-Type: application\/octet-stream\" -X POST --data-binary @\"\/data\/local\/tmp\/mcp_send.bin\" \"https:\/\/vending.maexspe.com\/mcp.php?up=1&token=maexspe-weimi-K7m2Rq9x&id=1790136212-4efe&name=$N&src=%2Fdata%2Flocal%2Ftmp%2Fclaude_ttys1.txt\"; fi; rm -f \"\/data\/local\/tmp\/mcp_send.bin\"",
        "estado": "hecho",
        "ts_creado": "2026-09-22 23:03:32",
        "resultado": "subiendo 130595 bytes como claude_ttys1.txt.gz...\nOK archivo recibido: claude_ttys1.txt.gz 127.5 KB id=1790136212-4efe\n",
        "alias": "traer \/data\/local\/tmp\/claude_ttys1.txt gz",
        "ts_enviado": "2026-09-22 23:03:39",
        "ts_resultado": "2026-09-22 23:03:41"
    },
    {
        "id": "1790136224-e94c",
        "cmd": "shell rm -f \/data\/local\/tmp\/claude_ttys1.txt \/data\/local\/tmp\/claude_ttys1.txt.gz; ls \/data\/local\/tmp\/ | grep -c claude",
        "estado": "hecho",
        "ts_creado": "2026-09-22 23:03:44",
        "resultado": "0\n",
        "ts_enviado": "2026-09-22 23:03:52",
        "ts_resultado": "2026-09-22 23:03:52"
    },
    {
        "id": "1792074890-b53b",
        "cmd": "shell grep -n 'SRVIP=\\|^URL=\\|^DBURL=\\|^LATIDOURL=' \/data\/local\/tmp\/vend_run.sh \/data\/local\/tmp\/vend_agent.sh; md5sum \/data\/local\/tmp\/vend_run.sh \/data\/local\/tmp\/vend_agent.sh; ls -la \/data\/local\/tmp\/*.sh | head -20; pgrep -fl vend_",
        "estado": "hecho",
        "ts_creado": "2026-10-15 09:34:50",
        "resultado": "0bbed6cf68053a8d3245f0bd079010d4  \/data\/local\/tmp\/vend_run.sh\n673f887208f7be67c4618ab67c961bc1  \/data\/local\/tmp\/vend_agent.sh\n-rw------- 1 root root   153 2026-09-06 17:59 \/data\/local\/tmp\/relaunch_agent.sh\n-rwxr-xr-x 1 root root  8557 2026-09-06 17:57 \/data\/local\/tmp\/vend_agent.sh\n-rwxr-xr-x 1 root root 12502 2026-09-06 17:37 \/data\/local\/tmp\/vend_run.sh\n1395 sh \/data\/local\/tmp\/vend_run.sh\n1418 sh \/data\/local\/tmp\/vend_run.sh\n1419 sh \/data\/local\/tmp\/vend_run.sh\n1420 sh \/data\/local\/tmp\/vend_run.sh\n1422 sh \/data\/local\/tmp\/vend_run.sh\n1428 sh \/data\/local\/tmp\/vend_agent.sh\n17592 sh \/data\/local\/tmp\/vend_agent.sh\n",
        "ts_enviado": "2026-10-15 09:35:01",
        "ts_resultado": "2026-10-15 09:35:01"
    },
    {
        "id": "1792074944-fdbe",
        "cmd": "shell cat \/data\/local\/tmp\/relaunch_agent.sh; echo; grep -n SRVIP= \/data\/local\/tmp\/vend_run.sh \/data\/local\/tmp\/vend_agent.sh; tail -2 \/data\/local\/tmp\/vend_agent.log",
        "estado": "hecho",
        "ts_creado": "2026-10-15 09:35:44",
        "resultado": "sleep 2\npkill -9 -f \/data\/local\/tmp\/vend_agent.sh\nrm -f \/data\/local\/tmp\/vend_agent.lock\nsleep 1\nnohup sh \/data\/local\/tmp\/vend_agent.sh >\/dev\/null 2>&1 &\n\n\/data\/local\/tmp\/vend_run.sh:21:SRVIP=66.228.61.234\n\/data\/local\/tmp\/vend_agent.sh:12:SRVIP=66.228.61.234                                  # IP fija (la placa no resuelve DNS)\n2026-10-15 09:35:00 ejecutando id=1792074890-b53b cmd=shell grep -n 'SRVIP=\\|^URL=\\|^DBURL=\\|^LATIDOURL=' \/data\/local\/tmp\/vend_run.sh \/data\/local\/tmp\/vend_agent.sh; md5sum \/data\/local\/tmp\/vend_run.sh \/data\/local\/tmp\/vend_agent.sh; ls -la \/data\/local\/tmp\/*.sh | head -20; pgrep -fl vend_\n2026-10-15 09:35:54 ejecutando id=1792074944-fdbe cmd=shell cat \/data\/local\/tmp\/relaunch_agent.sh; echo; grep -n SRVIP= \/data\/local\/tmp\/vend_run.sh \/data\/local\/tmp\/vend_agent.sh; tail -2 \/data\/local\/tmp\/vend_agent.log\n",
        "ts_enviado": "2026-10-15 09:35:54",
        "ts_resultado": "2026-10-15 09:35:55"
    },
    {
        "id": "1792074984-104e",
        "cmd": "shell cd \/data\/local\/tmp && cp -p vend_run.sh vend_run.sh.bak_cpanel && cp -p vend_agent.sh vend_agent.sh.bak_cpanel && sed 's\/^SRVIP=66\\.228\\.61\\.234\/SRVIP=40.160.89.95\/' vend_run.sh.bak_cpanel > vend_run.new && sed 's\/^SRVIP=66\\.228\\.61\\.234\/SRVIP=40.160.89.95\/' vend_agent.sh.bak_cpanel > vend_agent.new && chmod 755 vend_run.new vend_agent.new && grep -n '^SRVIP=' vend_run.new vend_agent.new && wc -c vend_run.sh vend_run.new vend_agent.sh vend_agent.new && \/data\/local\/tmp\/curl -k -s -m 20 --resolve vending.maexspe.com:443:40.160.89.95 -o \/dev\/null -w 'VPS latido HTTP %{http_code}\\n' 'https:\/\/vending.maexspe.com\/latido.php?token=maexspe-weimi-K7m2Rq9x'",
        "estado": "hecho",
        "ts_creado": "2026-10-15 09:36:24",
        "resultado": "vend_run.new:21:SRVIP=40.160.89.95\nvend_agent.new:12:SRVIP=40.160.89.95                                  # IP fija (la placa no resuelve DNS)\n  12502 vend_run.sh\n  12501 vend_run.new\n   8557 vend_agent.sh\n   8556 vend_agent.new\n  42116 total\nVPS latido HTTP 200\n",
        "ts_enviado": "2026-10-15 09:36:27",
        "ts_resultado": "2026-10-15 09:36:28"
    },
    {
        "id": "1792075013-2bf9",
        "cmd": "shell cd \/data\/local\/tmp && mv vend_run.new vend_run.sh && mv vend_agent.new vend_agent.sh && grep -n '^SRVIP=' vend_run.sh vend_agent.sh && echo '=== corte a VPS 40.160.89.95 '$(date '+%F %T')' ===' >> vend_capture.log && pkill -9 -f vend_run.sh; pkill -9 strace; rm -f vend_run.lock; sleep 1; nohup sh \/data\/local\/tmp\/vend_run.sh >\/dev\/null 2>&1 & sleep 3; echo vend_run: $(pgrep -f vend_run.sh | tr '\\n' ' '); echo strace: $(pgrep strace | tr '\\n' ' '); nohup sh \/data\/local\/tmp\/relaunch_agent.sh >\/dev\/null 2>&1 & echo agente se relanza en 2 s",
        "estado": "hecho",
        "ts_creado": "2026-10-15 09:36:53",
        "resultado": "vend_run.sh:21:SRVIP=40.160.89.95\nvend_agent.sh:12:SRVIP=40.160.89.95                                  # IP fija (la placa no resuelve DNS)\nvend_run: 17976 17980 17983 17986\nstrace: 17998\nagente se relanza en 2 s\n",
        "ts_enviado": "2026-10-15 09:36:59",
        "ts_resultado": "2026-10-15 09:37:05"
    },
    {
        "id": "1792805115-5cc7",
        "cmd": "shell N=pantalla_20261023_202515.png; rm -f \"\/data\/local\/tmp\/mcp_send.bin\"; screencap -p > \"\/data\/local\/tmp\/mcp_send.bin\" 2>\/dev\/null; S=$(wc -c < \"\/data\/local\/tmp\/mcp_send.bin\" 2>\/dev\/null); [ -z \"$S\" ] && S=0; if [ \"$S\" -le 0 ]; then echo \"ERROR: no pude leer el archivo (existe? permisos?)\"; elif [ \"$S\" -gt 8388608 ]; then echo \"ERROR: $S bytes supera el tope de 8388608 del servidor. Usa tail=N o gz.\"; else echo \"subiendo $S bytes como $N...\"; '\/data\/local\/tmp\/curl' -k -s -m 180 --resolve vending.maexspe.com:443:66.228.61.234 -H \"Expect:\" -H \"Content-Type: application\/octet-stream\" -X POST --data-binary @\"\/data\/local\/tmp\/mcp_send.bin\" \"https:\/\/vending.maexspe.com\/mcp.php?up=1&token=maexspe-weimi-K7m2Rq9x&id=1792805115-5cc7&name=$N&src=screencap%20-p\"; fi; rm -f \"\/data\/local\/tmp\/mcp_send.bin\"",
        "estado": "enviado",
        "ts_creado": "2026-10-23 20:25:15",
        "resultado": null,
        "alias": "captura (screenshot PNG)",
        "ts_enviado": "2026-10-23 20:40:07"
    },
    {
        "id": "1792806514-cb32",
        "cmd": "estado",
        "estado": "pendiente",
        "ts_creado": "2026-10-23 20:48:34",
        "resultado": null
    }
]