47326-collab/Digital-forensics-Project

GitHub: 47326-collab/Digital-forensics-Project

这是一个Bash脚本工具,通过ADB从Android设备提取数据,支持数字取证和社交分析。

Stars: 0 | Forks: 0

# 📱 ADB 数据提取与系统快照脚本 这是一个通过ADB(Android Debug Bridge)从Android设备提取全面数据和系统快照的Bash脚本。适用于对授权设备进行**数字取证**、**设备审计**和**OSINT调查**。 ## 📋 功能 - ✅ 设备信息与系统属性 - ✅ 电池、运行时间与连接状态 - ✅ 网络接口配置 - ✅ 已注册账户与电子邮件地址 - ✅ 联系人与电话号码 - ✅ 完整通话记录转储 - ✅ 短信消息转储 - ✅ 已安装应用包(全部 + 第三方) - ✅ 活跃的系统服务 - ✅ Logcat 系统日志快照 - ✅ 完整的 Android 错误报告(后台生成) - ✅ 每次运行创建带时间戳的输出文件夹 - ✅ 彩色终端输出 ## 🔧 要求 | 要求 | 详情 | |---|---| | 操作系统 | Linux / macOS / WSL (Windows) | | ADB | 已安装 Android 平台工具 | | 设备 | 已启用 USB 调试 | | 连接 | USB 数据线 | ### 安装 ADB **Ubuntu/Debian:** ``` sudo apt install android-tools-adb ``` **macOS (Homebrew):** ``` brew install android-platform-tools ``` **Windows:** 从 [Android 平台工具](https://developer.android.com/tools/releases/platform-tools) 下载 ## 🚀 使用方法 ### 1. 在 Android 设备上启用 USB 调试 `设置 → 开发者选项 → USB 调试 → 启用` ### 2. 通过 USB 连接设备并验证 ``` adb devices ``` 你应该看到你的设备被列为 `device`(而非 `unauthorized`)。 ### 3. 克隆仓库 ``` git clone https://github.com/your-username/adb-extractor.git cd adb-extractor ``` ### 4. 使脚本可执行 ``` chmod +x extract.sh ``` ### 5. 运行脚本 ``` ./extract.sh ``` ## 📁 输出结构 每次运行都会创建一个带时间戳的文件夹: ``` ADB_Report_20260516_143022/ ├── device_info.txt # Model, manufacturer, Android version, serial ├── device_state.txt # Uptime, battery, connectivity ├── network_info.txt # IP addresses, network interfaces ├── registered.txt # Apps with linked accounts ├── emails.txt # Extracted email addresses ├── reboots.txt # Boot count ├── numbers.txt # Contacts with phone numbers (formatted) ├── contacts.txt # Full raw contacts dump ├── call_logs.txt # Complete call history ├── sms.txt # All SMS messages ├── packages_all.txt # All installed apps ├── packages_thirdparty.txt # User-installed apps only ├── services.txt # Active Android system services ├── logcat_snapshot.txt # Last 1000 lines of system log └── bugreport_*.zip # Full Android bug report ``` ## ⚙️ 工作原理 该脚本使用一个核心辅助函数 `run_adb_command`,它接受: - 一条描述(打印到终端) - 要运行的 ADB shell 命令 - 一个输出文件名 - 一个可选的 `silent` 标志(用于在冗长命令中抑制终端输出) 命令按顺序运行。错误报告作为**子进程**在后台启动,因为它可能需要几分钟时间,这允许脚本的其余部分无需等待即可完成。 ## 📸 命令参考 | 命令 | 用途 | |---|---| | `getprop` | 系统属性 | | `dumpsys battery` | 电池状态 | | `dumpsys connectivity` | 网络状态 | | `dumpsys account` | 同步的账户和电子邮件 | | `content query --uri content://contacts/phones/` | 联系人 | | `content query --uri content://call_log/calls` | 通话记录 | | `content query --uri content://sms/` | 短信消息 | | `pm list packages` | 所有已安装应用 | | `pm list packages -3` | 仅第三方应用 | | `dumpsys -l` | 活跃服务列表 | | `logcat -d -v time` | 系统日志快照 | | `adb bugreport` | 完整的系统错误报告 | ## 🛡️ 伦理使用场景 - 个人设备备份与审计 - 移动设备数字取证(授权调查) - 安全研究与渗透测试(在范围内) - 学术/教育目的 - IT 支持与设备故障排除 ## 👤 作者 **Muhammad Hammad** 网络安全学生 | 数字取证与 OSINT ## 📄 许可证 本项目采用 MIT 许可证。详情请参阅 [LICENSE](LICENSE)。
标签:ADB工具, Android取证, HTTP工具, OSINT工具, 安装包管理, 应用安全, 数字取证, 数据提取, 日志收集, 服务监控, 漏洞报告, 目录枚举, 短信备份, 社交分析, 移动安全, 系统快照, 网络配置, 联系人提取, 自动化脚本, 设备审计, 通话记录, 隐私研究