Loading

云手机检测

check VMOS app

#!/system/bin/sh
process_names=("ueventd" "servicemanager" "installd" "surfaceflinger" "netd" "system_server")
pkgNames=()
sdk=$(getprop ro.build.version.sdk)
multiple_instance_detected=false

for process_name in "${process_names[@]}"
do
  if [ $sdk -eq 23 ]; then
    pids=$(busybox pidof $process_name)
  else
    pids=$(pidof $process_name)
  fi
  pid_count=$(echo "$pids" | awk 'END {print NF}')

  if [ $pid_count -gt 1 ]; then
    multiple_instance_detected=true
    echo "Multiple instances of $process_name detected!"

    # Perform actions for each PID found
    for pid in $pids
    do
      uid=$(cat /proc/$pid/status | grep "Uid" | awk '{print $2}')
      if [ $uid -ne 0 ] && [ $uid -ge 10000 ]; then
        if [ $sdk -eq 23 ]; then
          packageName=$(cat /data/system/packages.list | grep $uid | awk -F' ' '{printf$1}')
        else
          packageName=$(pm list packages --uid $uid | awk -F':' '{printf$2}' | awk -F' ' '{printf$1}')
        fi
        pkgNames+=("${packageName}")
      fi
    done
  fi

  if $multiple_instance_detected; then
    break
  fi
done

if ! $multiple_instance_detected; then
  echo "No multiple instances detected."
else
  pkgSize=${#pkgNames[@]}
  if [ $pkgSize -gt 0 ]; then
    value=""
    for pkg in "${pkgNames[@]}"
    do
      value="${pkg},"
    done
    value="${value%?}"
    if [ -z "${value}" ]; then
      echo "No multiple instances detected."
    else
      am broadcast -a VMOS_DETECT --esa pkgNames ${value}
    fi
  fi
fi
posted @ 2026-08-18 12:53  xtyuns  阅读(6)  评论(0)    收藏  举报