alisakkaf/Smart-Screen-Unlocker-Recovery

GitHub: alisakkaf/Smart-Screen-Unlocker-Recovery

一款通过ADB注入内核级触摸手势并调用系统API来绕过Android锁屏的取证与设备恢复工具,专为屏幕损坏且被锁定的设备设计。

Stars: 25 | Forks: 7

Smart Screen Unlocker Logo # 🔓 Smart Screen Unlocker Recovery v1.1 [![Python Version](https://img.shields.io/badge/Python-3.8+-blue.svg?style=for-the-badge&logo=python&logoColor=white)](https://python.org) [![Platform](https://img.shields.io/badge/Platform-Windows%20%7C%20Linux%20%7C%20macOS-lightgrey.svg?style=for-the-badge&logo=windows&logoColor=black)]() [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg?style=for-the-badge&logo=opensourceinitiative&logoColor=white)](https://opensource.org/licenses/MIT) [![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-brightgreen.svg?style=for-the-badge)]() **Smart Screen Unlocker Recovery** 是一个先进的、自动化驱动的取证与无障碍框架。它专为帮助移动设备维修技术人员、取证专家以及普通用户恢复对 Android 设备的访问权限而设计,适用于具有**完全损坏的显示屏、失灵的触摸数字转换器或无法访问的屏幕**,且被**图案、PIN 码或密码**凭证锁定的设备。 通过注入内核级别的原始触摸手势,或经由授权的 ADB (Android Debug Bridge) 接口执行自动化安全凭证操作,该工具充当合成硬件数字转换器或安全绕过客户端,允许您绕过锁屏并恢复您的数据。
## 🔥 无与伦比的功能与特性 * **🔑 多凭证支持(图案、PIN 码、密码):** 全面扩展的 GUI 界面,提供专用的恢复选项,支持图案(交互式绘制)、数字 PIN 码和字母数字密码。 * **🌐 Unicode 与布局安全:** 限制对 Unicode(非 ASCII)密码(如阿拉伯语或中文)的模拟屏幕输入,以防止由于布局不匹配导致的击键丢失错误,并干净利落地提供操作系统级别的清除(`Clear Lock`)。 * **🛡️ 多状态感知(AFU/BFU):** 动态检测设备是处于*首次解锁前 (BFU)* 还是 *首次解锁后 (AFU)* 状态,并相应地调整垂直矩阵几何结构。 * **📐 智能 XML 容器绕过:** 智能忽略由现代安全补丁(例如三星 OneUI 8+)部署的虚假、全屏透明容器,以定位真实的锁屏网格。 * **🎨 交互式可视化 GUI:** 具有时尚的、由终端生成的图形画布,允许技术人员使用鼠标直观地绘制图案,模拟物理设备交互。 * **⏱️ 防止自动超时:** 在操作期间自动延长设备的 `screen_off_timeout` 以防止屏幕休眠,并在注入后无缝恢复原始设置。 * **💻 动态 CLI 纵向缩放 (745x900):** 在启动时自动调整终端窗口大小,并提供备选方案梯队(`93x56` -> `93x48` -> `85x45`),以安全地适应各种屏幕分辨率和 DPI 缩放,且不会出现 shell 错误。 * **🔁 持久主循环:** 脚本在每次操作后保持活动状态,提示技术人员返回主菜单而无需重新启动程序。 * **✅ 深度内核验证:** 询问 Android 操作系统(`dumpsys window` 和 `dumpsys keyguard`),通过数学计算验证解锁是否成功,而不依赖视觉屏幕反馈。 ## 📸 界面与执行预览 ### 🆕 v1.1 PIN 码与密码界面 | 📱 选择恢复方法 | 🔢 PIN 码与密码输入 | ⚙️ 动态操作选择 | | :---: | :---: | :---: | | 选择恢复方法 | PIN 码与密码 GUI | 操作选择 GUI | ### 🌀 经典图案恢复界面 | 🎛️ 实时交互式绘制器 | 📊 深度遥测与执行日志 | | :---: | :---: | | Unlock Screen Custom Matrix | Engine Execution and Verification | | Live Hardware Touch Inference | Device Connection & Handshake | ## 🛠️ PIN 码与密码恢复机制(揭秘) 该工具具有高度安全的自动化验证和绕过框架,用于 PIN 码和密码恢复: * **安全操作系统验证**:脚本不是盲目地模拟点击,而是使用设备的安全锁设置 API: - 现代命令:`adb shell cmd lock_settings verify --old ` - 旧版命令:`adb shell locksettings verify --old ` 这可以以 100% 的数学确定性判断输入的凭证是否正确。 * **精准注入器 (`type_password_safe`)**:纯字母数字字符串将作为单个块瞬间输入。特殊符号和空格将逐个字符输入,并带有自动的 `%s` 空格映射和 shell 参数转义。 * **操作选择菜单**:验证成功后,技术人员可以通过自定义的 Tkinter GUI 选择所需的操作: - **解锁手机(保留密码)**:使用非切换式唤醒键(`KEYCODE_WAKEUP` / keyevent 224)唤醒屏幕,关闭锁屏滑动障碍,输入正确的已验证密码,然后按回车键。 - **完全删除密码(清除锁)**:发出 `cmd lock_settings clear --old ` 指令,永久移除锁屏安全数据库(将锁设置为无/滑动),方便快速备份。 - **无操作**:仅在终端日志中输出正确的已验证锁屏代码并退出。 * **Unicode 与语言安全过滤器**:ADB 键盘模拟根据活动的设备虚拟键盘布局(例如 Gboard/三星键盘)映射按键。非 ASCII 凭证(例如阿拉伯语 `علي1` 或中文 `你好`)通常无法正确输入,因为活动布局对按键输入的映射方式不同(例如,Gboard 阿拉伯语会将按键注入转换为阿拉伯语-印度数字 `١` 而不是 ASCII `1`)。 - 为了防止输入阈值锁定并确保绝对安全,脚本会自动解析凭证布局。如果它包含非 ASCII 字符,**解锁手机(保留密码)**选项将完全从 GUI 中隐藏。仅允许用户选择**完全删除密码(清除锁)**(在程序化系统数据库级别安全运行)或**无操作**。 ## ⚙️ 6 引擎多重攻击策略 为了应对 Android OEM、DPI 缩放和自定义 UI 之间的碎片化问题,该工具采用了数学引擎的顺序级联。如果其中一个失败,脚本会动态调整其几何结构并触发下一个! | 引擎 | 策略名称 | 描述 | 目标设备 | | :---: | :--- | :--- | :--- | | **1** | `Dynamic XML Hierarchy` | 尝试直接从 UI Automator 树中提取精确的像素边界。 | 通用(如果未被阻止) | | **2** | `Golden Ratio Base Matrix`| 使用经验性的 OEM 宽高比来计算数学上完美的正方形或矩形网格。 | 三星与通用 AOSP | | **3** | `DPI Shifted Matrix` | 补偿更改了显示缩放(小/大 UI 尺寸)的用户。 | 通用 | | **4** | `Custom High Matrix` | 针对偏移的通知栏布局,常见于 Android 13+ 环境。 | 三星与定制 ROM | | **5** | `Custom Extreme Matrix` | 基于极端情况的硬件遥测数据构建,适用于独特的屏幕分辨率。 | 高宽长比 (21:9) | | **6** | `Cross-Over Failsafe` | 在 AFU 状态下测试 BFU 矩阵(反之亦然),以防 Knox 或 SystemUI 不同步。 | 通用 | ## 📱 支持与已测试设备 该框架动态计算屏幕矩阵,使其在理论上兼容**任何 Android 设备**。然而,它已经过针对以下架构的严格测试和优化: | OEM / 品牌 | 已测试型号(示例) | UI 环境 | 成功率 | | :--- | :--- | :--- | :---: | | **Samsung** | Galaxy S24 (SM-S921U), Galaxy S23 (SM-S911U) | OneUI 5.0 - 8.5 | 🟢 100% | | **TCL** | T609DL, 30 SE, 40 XL | TCL UI / AOSP 12-13 | 🟢 100% | | **Xiaomi / POCO**| Redmi Note 12, POCO X5 | MIUI 14 / HyperOS | 🟢 高 | | **Motorola** | Moto G Stylus, Edge 系列 | MyUX / AOSP | 🟢 高 | | **Google** | Pixel 6, Pixel 7, Pixel 8 | Pixel UI | 🟢 高 | ## 🚀 安装与使用 ### 📦 选项 1:独立 Windows 可执行文件(推荐) 您无需安装 Python。只需从 [Releases](https://github.com/alisakkaf/Smart-Screen-Unlocker-Recovery/releases) 标签页下载独立的 `.exe` 文件。 1. 确保在目标 Android 设备上启用了 **USB 调试**。 2. 将设备连接到您的 PC 并授权连接。 3. 运行 `Smart_Screen_Unlocker.exe`。 4. 在交互式 GUI 上绘制您的图案,并观察终端自动执行注入! ### 💻 选项 2:从源码运行 ``` # Clone 仓库 git clone [https://github.com/alisakkaf/Smart-Screen-Unlocker-Recovery.git](https://github.com/alisakkaf/Smart-Screen-Unlocker-Recovery.git) cd Smart-Screen-Unlocker-Recovery # 安装 build 依赖(可选,用于编译) pip install -r requirements.txt # 执行脚本 python main.py ``` ## ✅ 解锁成功后:通过 Scrcpy 完全控制 一旦 **Smart Screen Unlocker Recovery** 成功注入内核手势并绕过安全的 BFU/AFU 锁屏状态,您的 Android 设备即被完全解锁,并响应外部显示实用程序。 您可以立即转而使用 [scrcpy](https://github.com/genymobile/scrcpy) 来实现全低延迟屏幕镜像、音频转发和外围设备控制,以安全地备份您的系统数据。 ### 🚀 快速执行指南: 1. 保持您的设备通过授权的 USB/无线 ADB 接口连接。 2. 将最新版本的 `scrcpy` 下载并解压到您的主机上。 3. 根据您的恢复工作流执行以下终端命令: ``` # 在物理设备息屏状态下的标准高性能镜像 scrcpy --always-on-top --turn-screen-off --stay-awake # 针对 backup 操作优化的高级 forensic 流 scrcpy --max-fps=30 --video-bit-rate=4M --audio-bit-rate=128k --window-title="Recovered Device Screen" --- ## 🛠️ 编译为 .exe(For Developers) To bundle the utility into a portable runtime executable with your custom icon (`6437133.png`), execute this command in your PowerShell/CMD: ```powershell python -c "from PIL import Image; img = Image.open('6437133.png'); img.save('icon.ico', format='ICO')" ; pyinstaller --noconfirm --onefile --console --icon="icon.ico" --name="Smart_Screen_Unlocker" --clean main.py ```
标签:ADB调试, Python, 安卓, 屏幕解锁, 数字取证, 无后门, 漏洞挖掘, 自动化脚本, 访问恢复, 逆向工具