收藏本站

取证中国

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4437|回复: 40
收起左侧

[ADB/Recovery/Fastboot] ADB命令使用基础及删除屏幕锁实验

  [复制链接]
发表于 2016-2-16 19:26:54 | 显示全部楼层 |阅读模式
本帖最后由 信息员 于 2016-2-16 19:50 编辑

山东警察学院 张璇 投稿     转载请注明出处


        前阵子看到一篇通过ADB命令删除屏幕锁的文章,当时很多朋友反馈是很有用的。恰好看到ADB命令的使用这块,就作为实验来做吧。
        原文链接:
游客,如果您要查看本帖隐藏内容请回复


0x1什么是ADB?
        ADB(Android Debug Bridge)是Android 提供的一个通用的调试工具,借助这个工具,我们可以很好的调试开发的程序,adb.exe在 android的sdk开发包platform-tools目录下。adb采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯。通过ADB命令,我们可以对手机执行很多操作,比如安装程序、传送文件、端口管理、运行命令等等。顾名思义,我们可以把ADB理解成PC与android手机的桥梁,能在电脑上操作手机了。
        ADB是一个C/S架构的应用程序,由三部分组成:
        1)adb client运行在PC上(为DDMS,即IDE工作)
        2)adb daemon(守护进程),运行于Emulator(为与Emulator中的VM交互工作);
        3)adb server(服务进程),运行在PC,管理adb client和adb daemon通信。

0x2环境配置
        1、安装android sdk
        Android SDK 指的是Android专属的软件开发工具包。
        最新版本是R24.4.1
        下载地址:
游客,如果您要查看本帖隐藏内容请回复

        2、设置环境变量
        自SDK2.2版本以后adb.exe就放在platform-tools文件夹里。因此在设置环境变量的时候就会忽略了adb,在命令控制台上输入”adb”会提示”不是内部或者外部命令”。需要设置环境变量才能方便使用。
        win8下的设置办法:
        我的电脑–右键–属性–高级系统设置–环境变量–path:
        添加:盘符:\xxx\android\android-sdk-windows\platform-tools。根目录根据自己情况的定
图片1.png

        win下调用cmd,输入adb提示各种参数,证明设置成功。
图片2.png

        3、开启USB调试
        不同系统版本情况略有不同,比如我的mate7,开发者选项被隐藏起来了,但可以通过选择“设置”(或“设定”)——“关于手机”或“关于设备”,找到“版本号”,用手连续快速点击“内部版本号”,然后,就调出来了。在开发者模式下,可以设置打开USB调试模式。
        4、启动虚拟机或者USB线连接手机

0x3 ADB命令的使用
        基本格式:
  1. adb [-d|-e|-s <serialNumber>]
复制代码
       常用命令:
        1、adb devices 查询关联模拟器\设备
图片3.png

        2、adb install <path_to_apk> 安装应用到模拟器/设备
        我们装一个apk(为了方便都放到c盘下)到虚拟机里试试。
图片4.png

        提示安装成功了。
        3、adb uninstall卸载应用程序
        需要注意:卸载软件时,卸载的是包名,后面跟的是包的名字,而不是.APK.
        比如我们刚才刚装到虚拟机中的x.apk文件,包名是什么呢 ? 参考这篇文章
游客,如果您要查看本帖隐藏内容请回复

也可以在系统中查看包名。
图片5.png

        找到包名,卸载成功。
图片6.png

        4、adb shell 启动Linux命令界面
        Android本来就是一个linux操作系统,通过上面的命令,就可以进入设备或模拟器的shell环境中,所以大部分都是linux的命令,如mkdir,ls,netstat,mount等。
图片7.png

        5、adb logcat 打印日志
        打印android 日志记录,因为记录太多,我们先用logcat –c命令把日志记录清除,再使用logcat命令可以实时查看系统日志。
图片8.png


0x4删除锁屏文件实验
        当然这种方法要求1、手机开启usb调试;2、手机已经成功root。原因很简单,开启usb调试模式,才能用adb命令进行操作。root成功才可以获得删除文件的权限。现实情况下这两者同时满足可能性极小…所以此方法仅仅做个验证。
        首先启动虚拟机(android 4.4.4)设置锁屏图案密码如下:
图片9.png

        密码生效:
图片10.png

        输入命令:adb shell rm /data/system/gesture.key
图片11.png

        没有回显,但你会发现图案密码已经去掉了。有的版本可能仍然会有图案解锁界面,但随便输入都可以顺利进入了。

0x5、附加其他常用命令
        1)显示系统中全部Android平台:
  1. android list targets
复制代码

        2)显示系统中全部AVD(模拟器):
  1. android list avd
复制代码

        3)创建AVD(模拟器):参考http://jingyan.baidu.com/article/20b68a88588205796cec6280.html
  1. android create avd --name 名称 --target 平台编号
复制代码

        4)启动模拟器:
  1. emulator -avd 名称 -sdcard ~/名称.img (-skin 1280x800)
复制代码

        5)删除AVD(模拟器):
  1. android delete avd --name 名称
复制代码

        6)创建SDCard:
  1. mksdcard 1024M ~/名称.img
复制代码

        7) AVD(模拟器)所在位置:
  1. Linux(~/.android/avd)      Windows(C:\Documents and Settings\Administrator\.android\avd)
复制代码

        8)启动DDMS:
  1. ddms
复制代码

        9)显示当前运行的全部模拟器:
  1. adb devices
复制代码

        10)对某一模拟器执行命令:
  1. abd -s 模拟器编号 命令
复制代码

        11)安装应用程序:
  1. adb install -r 应用程序.apk
复制代码

        12)获取模拟器中的文件:
  1. adb pull <remote> <local>
复制代码

        13)向模拟器中写文件:
  1. adb push <local> <remote>
复制代码

        14)进入模拟器的shell模式:
  1. adb shell
复制代码

        15) 启动SDK文档,实例下载管理器:
  1. android
复制代码

        16)缷载apk包:
  1. adb shell
  2. cd data/app
  3. rm apk包
  4. exit
  5. adb uninstall apk包的主包名
  6. adb install -r apk包
复制代码

         17)查看adb命令帮助信息:
  1. adb help
复制代码

        18)在命令行中查看LOG信息:
  1. adb logcat -s 标签名
复制代码

        19)adb shell后面跟的命令主要来自:
  1. 源码\system\core\toolbox目录和源码\frameworks\base\cmds目录。
复制代码

        20)删除系统应用:
  1. adb remount (重新挂载系统分区,使系统分区重新可写)。
  2. adb shell
  3. cd system/app
  4. rm *.apk
复制代码

        21)获取管理员权限:
  1. adb root
复制代码

        22)启动Activity:
  1. adb shell am start -n 包名/包名+类名(-n 类名,-a action,-d date,-m MIME-TYPE,-c category,-e 扩展数据,等)。
复制代码

        23)发布端口:
        你可以设置任意的端口号,做为主机向模拟器或设备的请求端口。如:
  1. adb forward tcp:5555 tcp:8000
复制代码

        24)复制文件:
        你可向一个设备或从一个设备中复制文件,
        复制一个文件或目录到设备或模拟器上:
  1. adb push <source> <destination></destination></source>
复制代码

        如:adb push test.txt /tmp/test.txt
        从设备或模拟器上复制一个文件或目录:
  1. adb pull <source> <destination></destination></source>
复制代码

        如:adb pull /addroid/lib/libwebcore.so .
        25)搜索模拟器/设备的实例:
        取得当前运行的模拟器/设备的实例的列表及每个实例的状态:
  1. adb devices
复制代码

        26)查看bug报告:
  1. adb bugreport
复制代码

        27)记录无线通讯日志:
        一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令,设置记录:
  1. adb shell
  2. logcat -b radio
复制代码

        28)获取设备的ID和序列号:
  1. adb get-product
  2. adb get-serialno
复制代码

        29)访问数据库SQLite3
  1. adb shell
  2. sqlite3
复制代码

回复

使用道具 举报

发表于 2016-2-18 09:10:41 | 显示全部楼层
感谢分享
回复

使用道具 举报

发表于 2016-2-18 10:29:08 | 显示全部楼层
学习了,感谢分享
回复 支持 反对

使用道具 举报

发表于 2016-2-18 14:23:33 | 显示全部楼层
先看看。
回复

使用道具 举报

发表于 2016-2-19 16:18:27 | 显示全部楼层
好东西,值得
回复 支持 反对

使用道具 举报

发表于 2016-2-21 14:38:16 | 显示全部楼层
学习了1
回复

使用道具 举报

发表于 2016-2-21 22:40:49 | 显示全部楼层

谢楼主分享!
回复 支持 反对

使用道具 举报

发表于 2016-2-22 08:45:06 | 显示全部楼层
学习一下。。。
回复

使用道具 举报

发表于 2016-2-22 17:29:29 | 显示全部楼层
学习一下
回复

使用道具 举报

发表于 2016-2-24 13:55:22 | 显示全部楼层
顶 ,感谢LZ!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|    

GMT+8, 2017-12-16 21:02

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表