#!/bin/bash

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

# 检查用户是否为root用户
if [ $(id -u) != 0 ]; then
    echo "\n请使用root权限执行 !"
    exit 1
fi

sleep 0.3

echo -e "\033[1;33;40mTG-:@GXNB66\033[0m"
echo -e "\033[33;31m**************************************\033[0m"   	

sleep 0.2

# 检查目标应用是否安装
if ! pm list packages | grep -q "com.tencent.tmgp.pubgmhd"; then
    echo "[-] 目标应用未安装"
    exit 1
fi

# 检查进程是否运行
game_pid=$(pgrep -f com.tencent.tmgp.pubgmhd)
if [ -z "$game_pid" ]; then
    echo "[-] 游戏进程未运行"
    echo "[!] 请先手动启动游戏，然后重新运行此脚本"
    exit 1
fi

echo "[+] 游戏进程已运行 (PID: $game_pid)"

cp -f libguxue.so /data/data/com.tencent.tmgp.pubgmhd/
chmod 755 /data/data/com.tencent.tmgp.pubgmhd/libguxue.so*

cp -f inject /data/data/com.tencent.tmgp.pubgmhd/
chmod 777 /data/data/com.tencent.tmgp.pubgmhd/inject*

# 检查文件是否存在并且权限正确
if [ -f /data/data/com.tencent.tmgp.pubgmhd/libguxue.so ] && [ "$(stat -c '%a' /data/data/com.tencent.tmgp.pubgmhd/libguxue.so)" = "755" ]; then
    echo "[+] 动态库文件正常"
else
    echo "[-] 动态库文件不正确"
    exit 1
fi

if [ -f /data/data/com.tencent.tmgp.pubgmhd/inject ] && [ "$(stat -c '%a' /data/data/com.tencent.tmgp.pubgmhd/inject)" = "777" ]; then
    echo "[+] 劫持文件正常"
else
    echo "[-] 劫持文件不正确"
    exit 1
fi

echo -e "\n"

print_color 41 "准备完毕!"

echo -e "\n"

sleep 0.5

echo "[+] 正在执行注入..."

# 注意：原脚本中的注入命令有拼写错误，应该是 com.tencent.tmgp.pubgmhd
# 而不是 com.tencent.tmgp.pubgmhdce
su -c /data/data/com.tencent.tmgp.pubgmhd/inject -n com.tencent.tmgp.pubgmhd -so /data/data/com.tencent.tmgp.pubgmhd/libguxue.so

if [ $? -eq 0 ]; then
    echo "[+] 注入完成！"
else
    echo "[-] 注入失败！"
fi
