三星Galaxy Fame GT-S681OP rooted失败原因分析与解决

9次阅读
没有评论

解决方案:Superuser.apk 授权失败问题

一、问题描述

用户尝试通过 Motochopper 脚本(用于 Android 设备的 Linux/OSX 版)对三星 Galaxy Fame GT-S681OP 的设备进行 root 处理。在执行脚本的某个步骤时,遇到异常退出的问题。具体表现为:

  • 在/rooting手机的部分,“Pushing exploit…”、“Pushing root tools…” 和 “Rooting phone …” 部分均按预期完成。
  • 但在“Cleaning up”的过程中,即尝试删除 tmp 目录下的相关文件(pwn、su、busybox)时出现错误信息。

二、具体问题分析

根据输出日志与提供的 run.sh 脚本内容如下:

$adb shell /data/local/tmp/pwn

该命令执行失败,导致后续清理步骤被中断。原因可能有两个方面:
1. 权限问题:尽管上一步 chmod 755 赋予了 /data/local/tmp/pwn 可执行权限,并且脚本中也使用了此路径进行操作(如 adb push pwn /data/local/tmp/),但在 shell 命令层面,有可能因设备本身或其他未知因素限制了对该文件的调用。
2. pwn 文件问题:可能存在 pwn 文件的内容存在致命错误或者在设备上运行不兼容。例如,在特定版本或定制化 ROM 上,某些预构建脚本可能未针对当前环境做出正确适配。

三、解决方案

  1. 验证文件执行性

    • 在连接设备后,尝试直接在终端进行权限提升相关命令的执行(类似于 adb shell 所用的一系列指令),以确认 run.sh 脚本中涉及的所有内容是否在当前环境下皆有效。
  2. 检查pwn脚本文件内容或重新生成

    • 如果 pwn 文件是由外部分配,则应重新获取其正确版本。或者直接从互联网资源抓取最新的适用于 4.1.2 版本的系统,验证其兼容性。
  3. 简化操作流程

    • 可以尝试将整个过程手动在设备上执行一次,并记录每一步输出信息,用以缩小问题的范围。
  4. 修改脚本处理异常情况

    • 为了更加健壮地应对可能出现的问题,在代码中加入适当的异常捕获或重试机制以减少手动干预。

四、代码修订建议

针对上述问题点,可以对原 run.sh 脚本做一些调整如下:

$adb shell /data/local/tmp/pwn
if [ $? -ne 0 ]; then
    echo "[-] Error encountered during rooting process."
    exit 1
fi

echo "[$*] Cleaning up..."
$adb shell rm /data/local/tmp/pwn &> /dev/null || true
$adb shell rm /data/local/tmp/su &> /dev/null || true
$adb shell rm /data/local/tmp/busybox &> /dev/null || true

$adb reboot

上述修订主要是添加了一个检查以确保pwn 执行成功后才会进行文件清理步骤,并且添加了错误输出重定向及异常捕获。

五、总结

综上所述,通过以上措施可以有效识别并解决此阶段遇到的授权失败问题。建议进一步细化每次命令执行后的状态反馈机制,以便快速定位具体故障点,并确保各部分命令均在设备侧正确运行后再继续后续操作。

正文完