ADB(Android Debug Bridge)介绍
ADB 是 Android Debug Bridge 的缩写,是一款用于与安卓设备进行交互的命令行工具。它允许开发者和逆向工程师执行各种任务,包括安装应用、调试应用、访问系统文件、执行远程操作等。ADB 通常用于 Android 开发和调试,也广泛应用于安卓逆向分析中。
ADB 组件
ADB 包括三部分:
- 客户端(adb):运行在开发者的计算机上,接受命令并将其传递给 Android 设备。
- 服务器(adb server):在计算机上运行,管理与设备的连接。
- 守护进程(adb daemon):在 Android 设备上运行,负责与计算机上的 adb 客户端通信。
安装和设置 ADB
-
安装 Android SDK(包含 ADB 工具):
- 下载并安装 Android Studio。
- 或者,单独下载 ADB 工具:ADB SDK Platform Tools。
- Android官方文档更详细:Android 调试桥 (adb)
-
启用开发者选项和 USB 调试(不同设备操作会有差异):
- 在 Android 设备上,进入 “设置” > “关于手机” > 连续点击 “版本号” 七次以启用开发者选项。
- 打开开发者选项后,进入 “设置” > “开发者选项” > 开启 “USB 调试”。
-
连接设备:
- 通过 USB 连接安卓设备到电脑。
- 在终端中输入命令:
adb devices,如果设备正常连接,设备的序列号会显示在命令行中。
常用的 ADB 命令
1. 查看连接设备
adb devices
- 显示所有已连接的设备列表。
- 例如成功连接的信息:
List of devices attached
2e2659ea0820 device
2. 安装 APK
adb install <apk_path>
- 安装 APK 文件。
- 例如:
adb install app.apk
3. 卸载应用
adb uninstall <package_name>
- 卸载应用。
- 例如:
adb uninstall com.example.app
4. 启动应用
adb shell am start -n <package_name>/<activity_name>
- 启动指定的应用。
- 例如:
adb shell am start -n com.example.app/.MainActivity
5. 停止应用
adb shell am force-stop <package_name>
- 停止正在运行的应用。
- 例如:
adb shell am force-stop com.example.app
6. 进入设备的 shell(命令行)
adb shell
- 进入设备的 shell 模式,允许你执行设备上的 Linux 命令。
7. 推送文件到设备
adb push <local_path> <remote_path>
- 将本地文件推送到设备。
- 例如:
adb push file.txt /sdcard/
8. 从设备拉取文件
adb pull <remote_path> <local_path>
- 从设备中拉取文件到本地。
- 例如:
adb pull /sdcard/file.txt ./
9. 重启设备
adb reboot
- 重启安卓设备。
10. 重启设备进入恢复模式
adb reboot recovery
- 重启设备并进入恢复模式。
11. 查看设备日志
adb logcat
- 查看设备的日志输出,常用于调试应用或捕获崩溃信息。
12. 查看当前设备的系统信息
adb shell getprop
- 查看设备的各种系统属性,如 Android 版本、设备型号等。
13. 截屏
adb shell screencap -p /sdcard/screenshot.png
adb pull /sdcard/screenshot.png ./screenshot.png
- 截取屏幕并保存到设备,然后将截图文件拉取到本地。
14. 录制屏幕
adb shell screenrecord /sdcard/demo.mp4
- 录制设备屏幕并保存为视频文件。
15. 显示设备的网络连接
adb shell ifconfig
- 查看设备的网络接口和 IP 地址。
高级命令与使用技巧
1. 模拟按键操作
adb shell input keyevent <keycode>
- 模拟按键事件,适用于自动化测试或模拟某些硬件按钮的按下。
- 例如,模拟“返回”键:
adb shell input keyevent 4。
2. 模拟触摸事件
adb shell input touchscreen tap <x> <y>
- 模拟点击屏幕上的某个位置。
3. 运行自定义脚本
- 你可以通过
adb shell运行设备上的自定义脚本文件。 - 例如:
adb shell sh /sdcard/script.sh
4. 开启端口转发
adb forward tcp:<local_port> tcp:<device_port>
- 将本地端口转发到设备的端口上,常用于进行调试或抓包。
- 例如:
adb forward tcp:8080 tcp:8080
5. 文件系统权限管理
- 可以通过 ADB 修改文件权限,查看和编辑系统文件:
adb root
adb remount
adb shell chmod 777 /system/app
总结
- ADB 是一个非常强大的工具,适用于安卓应用的调试、逆向分析、系统管理等任务。
- 通过掌握常用的 ADB 命令,你可以轻松管理设备、执行自动化任务、进行应用分析等。
- 对于安卓逆向工程师而言,熟练使用 ADB 工具能够极大地提高效率,帮助你更好地分析和破解 Android 应用。
4万+

被折叠的 条评论
为什么被折叠?



