ADB指令、Linux命令行、Android分区目录

常用adb指令

adb devices:显示当前连接的设备列表,adb进程经常会死掉,使用这个命令会重新连接

  • -s参数:需要操作某一个设备时,如果当前有多个设备,使用-s 设备指定某一个设备

adb connect:连接到设备,如:adb connect 127.0.0.1:21503

adb shell:进入到设备的控制台,如果有多台设备需要用-s参数来指定

  • 如果进入的是shell权限,说明机器是不完全root,然后输入su回车,会进入到root权限
  • 进入权限后,之后所有的操作都是使用Linux命令行

adb push:把电脑上的文件推送到手机上,例如:adb push d:\1.apk /data/app/123.apk

adb pull:把手机上的文件拉到电脑上

adb install:安装APP

adb -s name:多个设备时,用于指定设备,如:adb -s 127.0.0.1:5555 shell,会直接进入到端口为5555模拟器窗口的root权限

Linux命令行

ls:显示当前目录下的文件/目录列表

cd:切换目录

cat:查看文件里面内容

su:获取root权限

grep:过滤
在这里插入图片描述

getprop:从系统中读取一些设备信息,相关教程

chmod:修改权限,如:chomd 667 as

ps:打印进程信息

md5:取文件md5

mv:移动文件

cp:复制

rm -f:删除文件
-f 表示强制性
-r 表示递归,会把目录里面文件全部删除
rm -rf /:删库跑路

Android分区目录

Android通常有以下分区(用df 来查看分区情况)

ADB指令、Linux命令行、Android分区目录_第1张图片

  • System分区: 就是我们刷ROM的分区
  • Data分区: 分区就是我们装APK的分区
  • Cache分区: 是缓存分区
  • SDCard分区: 就是挂载的SD卡

概念:

概念 描述
根目录 /表示根目录
绝对路径与相对路径 /开头的都绝对路径,表示从根目录开始
隐藏文件 ls -a:-a表示显示所有文件,包括 .开头的隐藏文件
可执行程序的运行 必须给绝对路径,如:/data/local/tmp/as、./as (此处的 . 表示当前目录)
用户组与文件权限 ls -l:-l是显示详细信息,会显示文件大小、用户组、权限等…

可执行程序运行时出现下图所示,说明权限不够

ADB指令、Linux命令行、Android分区目录_第2张图片

  • 用户组:
    Android的用户组有System、root、shell,和Linux不太一样

  • 文件权限:

ADB指令、Linux命令行、Android分区目录_第3张图片

第一个字符代表文件类型:

-:普通文件
d:文件夹
l:符号连接(软连接/快捷方式) 后面会用 -> 打印出指向的真实文件
s
p

后面9个字符表示文件权限(用户对该文件的权限):

rwx分别是可读 可写 可执行、- 代表没有权限

第一个rwx代表文件所有者的权限,第二个rwx代表和所有者同组人的权限,第三个rwx代表其他用户对该文件的权限

权限还可以用数字来表示 r=4 w=2 x=1;读 写 执行

Android下面的目录和文件都是有权限的,要操作目录和文件都需要有对应权限才能操作
如果没有,则使用chomd 数字 文件或文件夹来修改
chomd 777 文件直接将所有用户组对此文件的权限 改为可读可写可执行,之后可以使用任何用户来对此文件进行操作,777对于网站服务器来说 非常不安全

data分区常见目录

app、system、data、local、misc

  1. data/data目录
    存放的是所有APK程序数据的目录,每个APK对就一个自己的Data目录,就是在data/data/目录下,会产生一个跟Package一样的目录。比如有一个APK,它的包名叫com.test.hello,则在data/data/目录下会有一个com.test.hello的目录,这个APK只能操作此目录,不能操作其它APK的目录

  2. data/app目录
    用户安装的APK放在这里。我们如果把APK放入这个文件夹下面的话,就算安装好了,这就叫静默安装,不用管APK文件里面的lib目录下的库文件,系统会自动帮我们放入调用库

    静默安装例子:
    使用exit退出控制台,使用360手机助手,连接手机,使用命令:adb push d:\1.apk /data/app/123.apk,将电脑d盘下的1.apk 推送到data下的app目录 并命名为123.apk
    出现下图所示,说明权限不够
    在这里插入图片描述
    进入到控制台 修改app这个目录的权限为777,然后再操作即可
    在这里插入图片描述
    一般不推荐这种方式安装软件,推荐使用adb install

  3. data/misc目录
    保存WIFI帐号,VPN设置信息等。比如保存了一个WIFI连接帐号,则此目录下的WIFI目录下面wpa_supplicant.conf可以查看到

system分区常用目录

app、lib、xbin、bin、media、framework

  1. system/app目录
    存放系统自带的APK。将APK放入到System/app目录下,也是静默安装

  2. system/lib目录
    存放APK程序用到的库文件

  3. system/bin目录和system/xbin目录
    存放的是shell命令

  4. system/framework目录
    启用Android系统所用到框架,如一些jar文件

sd卡目录

/sdcard、/mnt/sdcard

指向的都是同一个路径

在这里插入图片描述

ADB指令、Linux命令行、Android分区目录_第4张图片

模拟器没有sd卡,只有共享文件夹,但是使用adb都是一样可以操作

你可能感兴趣的:(安卓逆向,linux,shell,java,python,android)