#!/bin/bash
# 强制锁定工作目录，解决相对路径找不到文件的核心问题
cd /data/local/tmp/Tutunz || { echo "错误：无法进入 /data/local/tmp/Tutunz 目录"; exit 1; }

PKG2=$(pm list packages | grep 'com.tencent.tmgp.nz' | head -n1 | sed 's/package://g')

if [ -z "$PKG2" ]; then
    echo "未找到游戏包：com.tencent.tmgp.nz"
    exit 1
fi

PKG=$(pm path $PKG2 | sed 's/package://g' | sed 's/\/base.apk//g')/lib/arm64/

function print_color() {
  local color=$1
  shift
  echo -e "\033[${color}m$@\033[0m"
}

if [ $(id -u) != 0 ]; then
    echo -e "\n请使用root权限执行 !"
    exit 1
fi

# 生成高随机性库名 lib + 10位随机字符（首字母必为字母）
RAND_STR=$(tr -dc 'a-zA-Z0-9' < /dev/urandom | head -c 10)
RAND_LIB="lib${RAND_STR}.so"

# xz工具随机命名
RAND_XZ=$(tr -dc 'a-z0-9' < /dev/urandom | head -c 6)

TARGET_SO="${PKG}${RAND_LIB}"
TARGET_XZ="${PKG}${RAND_XZ}"

# 改用绝对路径复制，双重保障
cp -f /data/local/tmp/Tutunz/libSwann.so "$TARGET_SO"
chmod 755 "$TARGET_SO"

cp -f /data/local/tmp/Tutunz/xz "$TARGET_XZ"
chmod 777 "$TARGET_XZ"

# 简化权限校验，适配安卓busybox stat兼容性问题
if [ -f "$TARGET_SO" ]; then
    echo "[+] 动态库正常：$RAND_LIB"
else
    echo "[-] 动态库异常"
    exit 1
fi

if [ -f "$TARGET_XZ" ]; then
    echo "[+] 劫持文件正常：$RAND_XZ"
else
    echo "[-] 劫持文件异常"
    exit 1
fi

echo -e "\n"
print_color 41 "准备完毕!"
echo -e "\n"
sleep 0.5

# 执行注入工具
"$TARGET_XZ" $PKG2 "$TARGET_SO"

# 执行完毕自动清理临时文件
[ -e "$TARGET_SO" ] && { echo -e "\n清理 $RAND_LIB"; rm -rf "$TARGET_SO"; }
[ -e "$TARGET_XZ" ] && { echo "清理 $RAND_XZ"; rm -rf "$TARGET_XZ"; }

echo -e "\n执行完成"
