登录网站,浏览更多精彩内容
您需要 登录 才可以下载或查看,没有账号?加入我们
×
. d5 ^' |; _/ \- {
# s! U6 C$ f0 j4 r6 T) x0 j以下内容是我针对【Android逆向】初识APK所整理的一些内容,希望对需要的人有帮助!% G- o' g, o# s3 j" b4 c- O
新手教程 大牛勿扰
0 Y- F2 J) O/ ?3 k% p u7 X# C' w 有什么需要改进的地方,希望大家能一起讨论,有什么问题和建议也可以私聊我!希望得到大家的更多支持!7 p( z" G7 H, }
1、apk是什么?2 [2 Z. Q4 x3 D/ x k! b
APK是AndroidPackage的缩写,即Android安装包(apk)。APK是类似Symbian Sis或Sisx的文件格式。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。4 n0 |6 c' v d! M1 _
apk文件和sis一样,把android sdk编译的工程打包成一个安装程序文件,格式为apk。 APK文件其实是zip格式,但后缀名被修改为apk,通过UnZip解压后,可以看到Dex文件,Dex是DalvikVM executes的简称,即Android Dalvik执行程序,
4 p: R8 `& s6 k# Y0 W( x 并非Java ME的字节码而是Dalvik字节码。Android在运行一个程序时首先需要UnZip,然后类似Symbian那样直接,和Windows Mobile中的PE文件有区别。
: e% ^, J8 x" T4 Y" R2 c2、流程
$ j! Q% p& L9 x9 ^) {( s. l/ h 打包资源(res/assets/AndroidManifest.xm/Android基础类库)文件,生成R.Java和resources.ap文件: z; Q( W9 W: W' g, Y* K
处理AIDL文件,生成相应的.Java文件
* L% b* p; u0 j' g F% \ 编译Java文件,生成对应的dass文件
; p7 X7 f2 ^3 W. S+ `6 b) t5 a' F) q 把dass文件转换成Davik VM支持的dex文件3 E/ X+ g1 F( Q
.Java→.dass→.dex
" n; v9 F0 n! |# Y3 D1 Y- O 打包生成未签名的.apk文件
& d" j3 v9 T# J+ w# I6 m 对未签名的.apk文件进行签名
k1 Z* `2 Z6 g. f: ^% A8 A 对签名后的apk文件进行对齐处理9 c% m% h3 N9 [) y7 `
|
/ j6 q* A; O) a+ i+ p2 F |
|