Post

Android Reverse 常用命令

adb命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
adb shell dumpsys activity top #查看当前应用的activity信息
adb shell dumpsys > info.txt #打印当前所有应用运行的四大组件信息
adb shell dumpsys package [pkgname] #打印某个包的AndroidManifest.xml的内容
adb shell dumpsys meminfo [pname/pid] #查看指定进程名或进程Id的内存信息 可以分析应用的性能消耗情况
adb shell dumpsys dbinfo [pkgname] #查看指定包名应用的数据库存储信息,最近执行的sql语句
adb install (-r) [apkPath]#安装应用包apk文件,加r升级安装
adb uninstall [pkgName]
adb pull 安卓文件 本地路径 #将设备中的文件拉到本地,常配合chmod
adb push 本地文件 安卓路径 #将本地文件放到设备中,常配合chmod
adb shell screencap -p /sdcard/tmp.png #写个截图脚本如下
adb shell screenrecord /sdcard/tmp.mp4 #视频保存路径
adb shell input text 'HelloWorld' #获取文本框焦点后输入文本
adb shell input tap 100 100 #模拟点击(100,100)
adb shell input keyevent "KEYCODE_POWER" #键值宏定义在KeyEvent.java中
adb forward tcp:23946 tcp:23946 # 远程端 ↔ 设备端 的端口转发
adb forward tcp:8700 jwdp:(pid) # IDA调试中很有用
adb logcat -s tag # 查看当前日志信息
adb logcat |findstr [pname/pid/keyword] # 过滤日志信息(windows)
adb shell logcat |grep [pname/pid/keyword] #过滤日志信息(shell)

shell命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
run-as [pkgName] # 在非root设备中查看指定debug模式的包名应用沙盒数据
ps | grep 过滤内容 # 查看进程信息
ps -t [pid] # 查看pid对应的线程信息
pm clear [pkgName] # 清空指定包名的数据
pm (un)install [apk] # 同adb install
am start -n [pkgName]/[pkgName].[activityName]
am start -D -n com.android.browser/com.android.browser/BrowserActivity # 以debug方式启动
am startservice -n [pkgName]/[pkgName].[serviceName]
am broadcast -a [广播动作]
netcfg # 查看设备ip地址
netstat # 查看设备端口号信息
app_process [运行代码目录][运行主类] # 运行Java代码
dalvikvm -cp [dex文件][运行主类] # 运行一个Dex文件
top [-n/-m/-d/-s/-t] -m 最多显示多少个进程 -n刷新次数 -d刷新间隔时间 -s按哪列排序 -t显示线程信息而不是进程
getprop [属性值名称] # 如getprop ro.debuggable

其他命令

1
2
3
4
cat log.txt |grep four
touch "fourbrother" > demo.txt # 创建
echo "fourbrother" >> demo.txt # 追加
echo "fourbrother" > demo.txt # 覆盖

操作apk命令

1
2
aapt dump xmltreee [apk包][需要查看的资源文件xml] # 查看apk中的信息以及编辑apk程序包,可使用重定向到其他文件里
dexdump [dex文件路径]

进程命令

1
2
3
cat /proc/[pid]/maps 查看内存映射信息,加载的so、dex文件
cat /proc/[pid]/status 查看进程状态信息
cat /proc/[pid] + /net/tcp/tcp6/udp/udp6 查看当前应用使用到的端口信息

手机使用终端模拟器也可以模拟adb shell

This post is licensed under CC BY 4.0 by the author.