#!/usr/bin/env bash # Read-only Yuh / banking surface diff: GOLDEN oracle vs LAB. # Requires: adb, both devices authorized, root shell (Magisk su). set -euo pipefail GOLDEN=11071JEC203839 LAB=11231JEC207477 PKG=com.yuh USER_ISLAND=10 section() { echo; echo "======== $1 ========"; } dump_device() { local tag=$1 serial=$2 section "$tag ($serial)" adb -s "$serial" shell true >/dev/null 2>&1 || { echo "adb not ready for $serial" return 1 } adb -s "$serial" shell "su -c ' echo --- build --- getprop ro.build.display.id getprop ro.build.version.release getprop ro.build.version.sdk echo --- magisk --- magisk -v 2>/dev/null || true magisk --sqlite \"SELECT key,value FROM settings\" 2>/dev/null | sort echo --- modules (no disable) --- for d in /data/adb/modules/*; do [ -d \"\$d\" ] || continue name=\$(basename \"\$d\") [ -f \"\$d/disable\" ] && state=DISABLED || state=active id= [ -f \"\$d/module.prop\" ] && id=\$(grep -E ^id= \"\$d/module.prop\" | cut -d= -f2) echo \"\$state \$name id=\$id\" done echo --- tricky_store targets --- if [ -f /data/adb/tricky_store/target.txt ]; then cat /data/adb/tricky_store/target.txt else echo missing target.txt fi echo --- denylist (yuh / swissquote) --- magisk --denylist ls 2>/dev/null | grep -E \"yuh|swissquote\" || true echo --- boot props (app-visible) --- getprop ro.boot.verifiedbootstate getprop ro.boot.flash.locked getprop ro.boot.vbmeta.device_state getprop ro.boot.veritymode getprop sys.oem_unlock_allowed echo --- cmdline mode --- ls -l /proc/cmdline echo --- yuh packages --- pm list packages --user 0 \"$PKG\" 2>/dev/null || true pm list packages --user $USER_ISLAND \"$PKG\" 2>/dev/null || true dumpsys package \"$PKG\" 2>/dev/null | grep -E \"versionName|versionCode|firstInstallTime|installerPackage\" | head -20 echo --- island --- pm list packages --user $USER_ISLAND com.oasisfeng.island.fdroid 2>/dev/null | head -1 dumpsys package com.oasisfeng.island.fdroid 2>/dev/null | grep versionName | head -1 echo --- vector props log (tail) --- if [ -f /data/adb/lspd/log/props.txt ]; then tail -30 /data/adb/lspd/log/props.txt else echo no props.txt fi '" 2>&1 | sed 's/\r$//' } dump_device GOLDEN "$GOLDEN" || true dump_device LAB "$LAB" || true section "Next: Yuh open in Island user $USER_ISLAND on LAB only" echo " adb -s $LAB logcat -c" echo " # open Yuh in Island, reproduce fail" echo " adb -s $LAB logcat -d | grep -iE 'yuh|talsec|keystore2|KeyMint|integrity|DroidGuard|vectord|teesim' | tail -80"