前言
在Android逆向工程中,ADB(Android Debug Bridge)是一个非常重要的工具。它允许逆向工程师与Android设备进行交互和调试。本文将介绍一些在Android逆向中常用的adb命令。
1. 基本命令
1.1 查看帮助信息
了解adb命令的使用方法,可以查看帮助信息:
adb help
或
adb --help
1.2 显示adb版本和路径
查看adb的版本信息以及路径:
adb version
1.3 启动和停止ADB Server
启动adb server:
adb start-server
停止adb server:
adb kill-server
1.4 连接设备
在使用adb之前,首先需要确保你的设备已连接并被adb识别。以下命令用于列出已连接的设备:
adb devices
这将显示已连接设备的列表以及它们的状态。
1.5 连接到特定设备
如果有多个设备连接,你可以使用设备的序列号来连接特定设备:
adb -s <device_serial_number> shell
例如:
adb -s emulator-5554 shell
2. 文件操作
2.1 推送文件到设备
你可以使用以下命令将文件从本地计算机推送到设备:
adb push <local_file> <remote_location>
例如:
adb push myfile.txt /sdcard/
2.2 从设备拉取文件
从设备中拉取文件到本地计算机,可以使用以下命令:
adb pull <remote_file> <local_location>
例如:
adb pull /sdcard/myfile.txt .
3. 应用管理
3.1 安装应用
通过adb安装APK文件:
adb install <apk_file>
例如:
adb install myapp.apk
3.2 卸载应用
使用包名卸载应用:
adb uninstall <package_name>
例如:
adb uninstall com.example.myapp
3.3 查看已安装的应用
列出设备上所有已安装的应用:
adb shell pm list packages
4. 调试和日志
4.1 查看日志
adb logcat是一个非常有用的命令,可以实时查看设备的日志输出。以下是一些常用的logcat选项:
adb logcat -help # 查看帮助
adb logcat # 常规显示
adb logcat -c # 清除日志
adb logcat -g # 显示缓冲区大小
adb logcat -G 256M # 修改缓冲区大小
adb logcat -v time # 设置不同的显示格式
adb logcat -v color # 带颜色的显示
强制中断程序的执行:
ctrl + c
4.2 根据tag过滤日志
你可以根据特定的tag来过滤日志:
adb logcat -s <tag>
例如:
adb logcat -s fish
4.3 根据pid过滤日志
你可以通过以下步骤根据进程ID (pid) 来过滤日志:
ps -A | grep <package_name> # 获取进程pid
例如:
ps -A | grep com.fish.app
然后使用该pid来过滤日志:
adb logcat | findstr <pid>
例如:
adb logcat | findstr 5568
4.4 调试应用
启动特定应用进行调试:
adb shell am start -D -n <package_name>/<activity_name>
然后你可以使用JDWP协议连接调试器进行调试。
5. 设备控制
5.1 重启设备
重启设备的命令:
adb reboot
5.2 进入Recovery模式
进入Recovery模式:
adb reboot recovery
5.3 进入Bootloader模式
进入Bootloader模式:
adb reboot bootloader