Files
hisense-root/skills/root-execution.md
T
2026-10-27 15:56:27 +01:00

1.7 KiB

Skill: Root-Ausführung & Persistenz

Root-Loop (Kommando-Kanal)

/3rd_rw/appdata/root_loop.sh läuft als root, pollt root_cmd.sh, führt aus, schreibt root_out.txt.

HiBrowser.File.write("root_cmd.sh",
  "id; cat /proc/self/status | grep -E '^(Uid|Gid|CapEff):'\n", 1);
// ~2-5 s warten:
fileXHR("file:///3rd_rw/appdata/root_out.txt");  // uid=0(root), CapEff=0000003fffffffff

Fertiges Snippet: ../root/scripts/host/run_root_cmd.js.

SSH (Rettungsweg)

  • Dropbear, key-only root, Port 22. ssh root@192.168.188.94.
  • SFTP/scp erst nach ../root/scripts/host/install_sftp.sh (statischer OpenSSH-sftp-server, Test 2222 → 22). Vorher: ssh+base64/tar/File.download.
  • PTY-Gotcha: /dev ist statisch-ro (kein devtmpfs). mount -t devpts auf /dev/shm/pts + bind /dev/pts; /etc/passwd-Bindmount nötig (Root-Home /basic ro).

Persistenz (Boot-Hooks)

Hook Zeitpunkt Datei
Früher Root-Hook vor ms_service/hisenseUI/app_man/delayrun /3rd_rw/developer.sh (Zeile 90)
Später Wrapper nach ~15 s /3rd_rw/hamservice/HamService (hamservice-wrapper.sh)

Fehler in developer.sh kann Boot/UI stören → set -x+Log, SSH als Fallback.

App-/Service-Steuerung (AM)

HiBrowser.System.startApp(":am,<app>,:start=<val>");
HiBrowser.System.startApp(":am,opera4x,:URL=http://<host>:9000/recon.html");
HiBrowser.System.startApp(":am,opera4x,:stop=opera4x");
  • UI-Kontext: Hisense_StartApp(...) (Signatur UNVERIFIED, im DevTools prüfen).
  • startApp kennt kein exec/run/args (Dead End).

Siehe: ../root/ROOT-GUIDE.md, ../modding/02-boot.md, ../modding/06-toolchain-deploy.md.