登录网站,浏览更多精彩内容
您需要 登录 才可以下载或查看,没有账号?加入我们
×
0 O5 Y- r, O) `. j; e- l
0 @7 d: ]0 O4 s3 W1 T5 }以下内容是我针对【Android逆向】初识APK所整理的一些内容,希望对需要的人有帮助!
9 ~$ R! ?9 m% h! l9 K新手教程 大牛勿扰. o$ ]5 n2 S& i& K, [' Z
有什么需要改进的地方,希望大家能一起讨论,有什么问题和建议也可以私聊我!希望得到大家的更多支持!) T( m9 J; s. s. B- E& D7 g
1、apk是什么?% y3 j0 P/ Z% a# o- @- [0 v4 _6 A
APK是AndroidPackage的缩写,即Android安装包(apk)。APK是类似Symbian Sis或Sisx的文件格式。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。
- x& U6 u7 H+ p3 M2 W apk文件和sis一样,把android sdk编译的工程打包成一个安装程序文件,格式为apk。 APK文件其实是zip格式,但后缀名被修改为apk,通过UnZip解压后,可以看到Dex文件,Dex是DalvikVM executes的简称,即Android Dalvik执行程序,5 E. X0 ^) }& }* m, Z
并非Java ME的字节码而是Dalvik字节码。Android在运行一个程序时首先需要UnZip,然后类似Symbian那样直接,和Windows Mobile中的PE文件有区别。 g) p$ T$ F* c) _' A9 h: o: j( u I
2、流程# v2 K, r g6 g# U: w. X, g- M
打包资源(res/assets/AndroidManifest.xm/Android基础类库)文件,生成R.Java和resources.ap文件1 e" M- Z1 N7 z8 |5 F4 {4 {
处理AIDL文件,生成相应的.Java文件
+ \4 @" ]8 |+ _. w: s 编译Java文件,生成对应的dass文件
# F' k2 i2 _1 `+ {4 @' E1 k 把dass文件转换成Davik VM支持的dex文件/ o% o2 H' \. `+ g9 C: `7 ] g3 l* }
.Java→.dass→.dex( m: K6 l" Y0 |
打包生成未签名的.apk文件' ^1 R& W- p0 J% N5 v6 n7 q- g
对未签名的.apk文件进行签名
5 \; c3 B+ W3 P+ ~4 N 对签名后的apk文件进行对齐处理: J# C. b* Z8 o
| . _/ o4 Z" L# H( }3 R8 p2 _- ?
|
|