登录网站,浏览更多精彩内容
您需要 登录 才可以下载或查看,没有账号?加入我们
×
0 N: T7 r: a- `4 S# N, p
& s1 P' a8 k8 }9 [9 V5 L以下内容是我针对【Android逆向】初识APK所整理的一些内容,希望对需要的人有帮助!
( W% x6 p3 ]5 M9 M9 ^! g" q5 J/ ~新手教程 大牛勿扰
' Y% U/ y6 b _( z; D6 ~6 ? 有什么需要改进的地方,希望大家能一起讨论,有什么问题和建议也可以私聊我!希望得到大家的更多支持!
& @! m. l' b: E! q 1、apk是什么?/ g6 m d% T4 d1 K' N3 u
APK是AndroidPackage的缩写,即Android安装包(apk)。APK是类似Symbian Sis或Sisx的文件格式。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。
! _1 n6 V$ B+ i+ V" J apk文件和sis一样,把android sdk编译的工程打包成一个安装程序文件,格式为apk。 APK文件其实是zip格式,但后缀名被修改为apk,通过UnZip解压后,可以看到Dex文件,Dex是DalvikVM executes的简称,即Android Dalvik执行程序,
; V9 `9 q* l2 c 并非Java ME的字节码而是Dalvik字节码。Android在运行一个程序时首先需要UnZip,然后类似Symbian那样直接,和Windows Mobile中的PE文件有区别。3 x! ` r4 h8 G8 G
2、流程
! q# B- \1 c3 }4 T 打包资源(res/assets/AndroidManifest.xm/Android基础类库)文件,生成R.Java和resources.ap文件
. u$ ]9 n+ p9 Q" h! P% I1 o 处理AIDL文件,生成相应的.Java文件' [+ {# c& i3 G* z
编译Java文件,生成对应的dass文件& ^9 }0 J- p, X7 i d% M9 a _
把dass文件转换成Davik VM支持的dex文件$ P) I" B' o; ?$ k; R: E5 U! v
.Java→.dass→.dex
; ?2 O/ R5 o' S! k 打包生成未签名的.apk文件0 {/ H C$ ~$ ~; l( i. j
对未签名的.apk文件进行签名( i! {' \1 {8 F( K' ^+ C P5 j" A
对签名后的apk文件进行对齐处理9 c( C% ^8 }5 W- h6 _4 I& V* N
|
& m% Q! ?' D+ S4 F6 T5 Q |
|