Android逆向常用命令

ADB命令

查看最顶端前台应用的包名和activity名

1
adb shell dumpsys window | grep mCurrentFocus

查看包信息

1
adb shell dumpsys package com.android.settings

查看App使用的数据库信息

1
adb shell dumpsys dbinfo com.android.settings

截图操作

1
adb shell screencap -p /data/local/tmp/Luo.png

管理package

pm命令是Android中packageManager的命令行,是用于管理package的命令.

1
2
3
4
//列出所有安装的APK包名
adb shell pm list packages
//安装apk文件,这里的apk文件不是在主机目录下,而是在Android目录下
adb shell pm install /data/local/tmp/LuoDst.apk

调试命令

am命令是一个重要的调试工具,主要用于启动或停止服务、发送广播、启动Activity等

1
2
//以Debug模式启动App
adb shell am start -D -N org.example.luodst/.MainActivity

其实以上所有命令也可以通过执行adb shell进入Android的shell中直接执行,只需要将开始的adb shell去掉就行.

主机与Android交互命令

1
2
3
4
5
6
7
//安装apk
adb install
//交换文件
adb push 
adb pull
//查看日志
adb logcat

Linux命令

grep基本语法

用法:grep [选项] “字符串/基本正则表达式” [文件]

常用选项:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
-c 只输出匹配行的计数。
-i 不区分大小写(只适用于单字符)。
-h 查询多文件时不显示文件名。
-l 查询多文件时只输出包含匹配字符的文件名。
-n 显示匹配行及行号。
-s 不显示不存在或无匹配文本的错误信息。
-v 显示不包含匹配文本的所有行。
-q 不显示存在或者匹配的文本信息
-f 后接文件名,以文件中的每一行作为匹配项
-R 递归查询当前目录下的文件
-w 匹配单词
-o 只输出匹配字符串
-A 输出匹配行的后n行,后带数字,如-A 2
-B 输出匹配行的前n行,后带数字,如-B 2
-C 输出匹配行的前后n行,后带数字,如-C 2

创建空文件

1
touch /data/local/tmp/Luo.txt

写文件

echo命令通过配合">“或者”»“对文件进行写操作,其中”>“为覆盖写操作,"»“为扩展写操作.

1
echo "LuoHun" >> Luo.txt

查看文本文件内容

1
cat Luo.txt

在shell中过滤符合条件的输出

1
cat Luo.txt | grep LuoHun

查看当前设备正在运行的进程

1
2
//在Android8之后,ps命令只能打印出当前进程,需要加上-e参数才能打印出全部的进程
ps

查看App网络相关信息

通常使用的参数组合为-alpe

netstat -alpe用于查看sockets连接的IP和端口以及相应的进程名和PID,配合grep往往有奇效.

1
netstat -alpe | grep com.android.la

查看对应进程打开的文件

1
lsof -p 1625 -l | grep jar

这里的文件不仅仅指常见的普通文件.在Linux系统中有一种说法叫"万物皆文件”,其实网络中建立连接的也可以叫做文件,因此lsof命令也可以用于与netstat命令相同的操作.

1
lsof -l -p 1625 | grep TCP

查看当前系统运行负载

1
2
//和htop作用一样,只是相对来说htop更加人性化
top

相关内容

0%