逆向工程(Reverse Engineering)解析apk, 验证特性, 替换资源. 在批量生成应用时, 通过服务器脚本修改apk, 节约人力和时间. 我来讲述一下, 逆向工程的常用工具和方法.
1. apk
apk表示Application PacKage
, 是zip文件, 修改后缀名.apk
为.zip
, 解压获得apk信息.
应用信息:
AndroidManifest.xml: 二进制清单文件.
classes.dex: Dex格式编译文件.
resources.arsc: 二进制预编译资源文件.
res: 不需编译的资源文件, 一般都是系统的资源文件.
assets: AssetManager检索应用特性.
META-INF: Jar包元数据, 也包含应用签名.
安装应用
adb install -r ~/Desktop/Pedometer.apk
-r
表示强制安装, 会覆盖当前版本.
查看手机中的所有应用信息
adb shell pm list packages -f
导出手机中的apk
adb pull -p /data/app/me.chunyu.Pedometer-1/base.apk ~/Desktop/base.apk