开发与逆向常用命令

看书里面的一些命令,这里记录一下。

adb shell dunpsys activeity top
可以查看当前正运行的应用的activeity信息

adb shell dumpsys
会打印四大组件的所有信息,内容非常多,要重定向到文件再查看

adb shell dumpsys package packname
查看指定应用包名的详细信息。相当于应用的androidManiftest.xml内容了

adb shell dumpsys meminfo packname
查看指定应用的内存分布情况,后面可以加上top来进行排序

adb shell dumpsys dbinfo packname
查看指定应用的数据库信息

adb install a.apk
安装应用,如果是覆盖已经安装的可以用adb install -r a.apk

adb uninstall packname
卸载应用

adb pull /data/local/tmp/xx.txt d:/
将设备上的文件传到电脑上

adb push d:/tmp.txt /data/local/tmp/tmp.txt
将本地的文件传到设备

adb shell screencap -p /sdcard/tmp.png
截屏操作

adb shell screenrecord /sdcard/tmp.mp4
录屏操作

adb shell input text 'hello'
让获取焦点的文本框输入内容

adb forward tcp:8700 jdwp:1786
设备的端口转发

adb jdwp
查看设备中可以被调试的应用进程号

adb logcat -s tag
查看当前日志信息,也有另外一种用法
adb logcat|findstr cn.test.demo
根据关键词显示日志

adb shell pm clear packname
清空应用数据

run-as packname
可以在非root设备查看指定debug模式的包名沙盒数据

ps
查看设备的进程信息,或者指定进程的信息 ps -t 11789

pm install /sdcard/demo.apk
安装设备中的apk,和adb install功能一样

pm uninstall packname
卸载设备中的应用,功能和adb uninstall一样

am start -n packname/packname.应用的activity
启动一个应用

am startservice -n packname/packname.servicename
启动一个服务

am broadcast -a 广播动作
发送一个广播,广播动作例如android.NET.conn.CONNECTIVITY_CHANGE

netcfg
查看设备的ip地址,我测试了下查看失败,可能是我的设备非root的

netstat
查看设备的端口信息

app_process
运行java代码
例如:
export CLASSPATH=/data/demo.jar
exec /system/bin/app_process /data/cn.wj.Main

dalvikvm -cp dex文件路径 运行主类
运行一个dex文件
例如 dalvikvm -cp /data/demo.dex cn.wj.Main

top
查看当前应用的cpu消耗

getprop ro.debuggable
查看系统属性值,我们有时候要修改系统属性例如debug开关,让所有应用都可以调试

aapk dump xmltree demo.apk androidManifest.xml
查看apk中的信息以及编辑apk包,有时候只是像看一个apk中的清单文件,可以不用进行复杂的反编译工作

dexdump d:/classed.dex
查看dex文件的详细信息

cat /proc/[pid]/maps
可以查看当前进程的内存映射信息,比如加载了哪些so文件和dex文件

cat /proc/[pid]/status
查看当前进程的状态信息

猜你喜欢

转载自www.cnblogs.com/kings0/p/10512973.html