登录网站,浏览更多精彩内容
您需要 登录 才可以下载或查看,没有账号?加入我们
×
, n( X! Y" B8 @; U9 \
0 p ~; ?! W% N9 B4 f以下内容是我针对【Android逆向】初识APK所整理的一些内容,希望对需要的人有帮助!. j# S! \8 v) l H* w! T
新手教程 大牛勿扰
' Z: T2 ^1 D H& R e8 z 有什么需要改进的地方,希望大家能一起讨论,有什么问题和建议也可以私聊我!希望得到大家的更多支持!3 r0 C/ I3 B) I; z4 k$ _
1、apk是什么?) k9 V3 Q$ D; V+ ? `/ _
APK是AndroidPackage的缩写,即Android安装包(apk)。APK是类似Symbian Sis或Sisx的文件格式。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。' n# t; O$ N6 l* H% a
apk文件和sis一样,把android sdk编译的工程打包成一个安装程序文件,格式为apk。 APK文件其实是zip格式,但后缀名被修改为apk,通过UnZip解压后,可以看到Dex文件,Dex是DalvikVM executes的简称,即Android Dalvik执行程序,
' o4 G, q6 z! Q$ H' q: ^8 V 并非Java ME的字节码而是Dalvik字节码。Android在运行一个程序时首先需要UnZip,然后类似Symbian那样直接,和Windows Mobile中的PE文件有区别。* }$ M4 {9 J% p2 `8 a2 q
2、流程
# d2 q4 M6 R. V- v: r 打包资源(res/assets/AndroidManifest.xm/Android基础类库)文件,生成R.Java和resources.ap文件( [- ]' g; I; u& b/ X5 ?6 m# z
处理AIDL文件,生成相应的.Java文件" _5 h r, Z& P) g1 U& ]! Q- x/ f
编译Java文件,生成对应的dass文件
. D1 M8 J5 f8 n" h5 V 把dass文件转换成Davik VM支持的dex文件6 x4 q J) e) V3 a* n2 w
.Java→.dass→.dex! ~# f( ]( f) k+ K0 ^' `
打包生成未签名的.apk文件
- [9 G p8 V! g1 C/ B, X 对未签名的.apk文件进行签名
4 |, j- e2 F. T2 @ 对签名后的apk文件进行对齐处理2 y) j1 p( _, @
|
# x4 H" G" G C |
|