登录网站,浏览更多精彩内容
您需要 登录 才可以下载或查看,没有账号?加入我们
×
$ |* \, q4 \ I- I# w
3 u: D$ ^8 e& a. W0 s' \. N6 y2 D* B+ L
以下内容是我针对【Android逆向】初识APK所整理的一些内容,希望对需要的人有帮助!
5 U: b7 j6 o4 {* Q3 E# W! M* W新手教程 大牛勿扰! h+ d/ X1 E7 J" O6 ?" w/ z
有什么需要改进的地方,希望大家能一起讨论,有什么问题和建议也可以私聊我!希望得到大家的更多支持!
5 G: o5 O% x0 ~* S4 J 1、apk是什么?
1 F. s, d8 I4 w) Y APK是AndroidPackage的缩写,即Android安装包(apk)。APK是类似Symbian Sis或Sisx的文件格式。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。
# `3 H2 C y8 {+ V. G) w apk文件和sis一样,把android sdk编译的工程打包成一个安装程序文件,格式为apk。 APK文件其实是zip格式,但后缀名被修改为apk,通过UnZip解压后,可以看到Dex文件,Dex是DalvikVM executes的简称,即Android Dalvik执行程序,0 T# Z v$ U: _; l ]5 o$ F* a
并非Java ME的字节码而是Dalvik字节码。Android在运行一个程序时首先需要UnZip,然后类似Symbian那样直接,和Windows Mobile中的PE文件有区别。; k, `& s1 I9 M1 S, I4 {$ x% w$ i
2、流程7 H8 G. _+ F. \( ?8 I
打包资源(res/assets/AndroidManifest.xm/Android基础类库)文件,生成R.Java和resources.ap文件
# y) L% J5 C* a8 ` 处理AIDL文件,生成相应的.Java文件; l& n# S6 {8 `6 p/ l% `6 I
编译Java文件,生成对应的dass文件8 \4 H x5 {3 d5 v5 p0 l
把dass文件转换成Davik VM支持的dex文件 u! F2 T3 X H# N
.Java→.dass→.dex
' m/ a9 T/ O; l 打包生成未签名的.apk文件
4 ?0 F% C2 g5 c m) N- |) v2 Z5 a' R 对未签名的.apk文件进行签名
; y. q/ {6 l3 V/ X* J) y4 X( u) Q/ Y J 对签名后的apk文件进行对齐处理0 S7 k' G7 e+ B6 O# i3 k8 a5 J
|
" G% b- ?7 C: W- h# m |
|