虽然Java层代码包含了许多有用的信息,但是一般稍微注重安全的应用都会把核心代码放到Native层,所以对Native层的调试就显得尤为重要了。
动态调试步骤使用工具:
am + pm +IDA, 其中am和pm为安卓系统自带
复制android_server到设备中,并执行。
android_server的目录为:IDA目录>dbgsrv>android_server
注意:
android_server分版本的,使用对应的版本。
//复制到设备上
adb push android_server /data/local/tmp
//修改权限,使之能执行
chmod 777 /data/local/tmp/android_server
//执行
cd /data/local/tmp
./android_server
adb forward tcp:23946 tcp:23946
等待附加。
用pm确定要调试apk的包名
pm(package manager)包管理工具.
列出所有的包信息:pm list packages [filter]
pm过滤器-d:只显示禁用的应用的包名
-e:只显示可用的应用的包名
-s:只显示系统应用的包名
-3:只显示第三方应用的包