首页
社区
课程
招聘
[分享]apk文件结构-apk目录结构
2022-2-2 15:25 4654

[分享]apk文件结构-apk目录结构

2022-2-2 15:25
4654

0x1 assets

  1.assets
APK中的静态文件,比如视频,音频,图片等

0x2 res

  1.res
res是resource的缩写,这个目录存放编译后的资源文件

0x3 lib

  1.lib
动态链接库文件,扩展名为so

 

  2.因为java不能直接调用底层文件,需要借助so文件去调用。

 

  3.后期我们不光要对java文件反编译,还要对so文件反编译,因为很多功能在so文件实现的。

0x4 MATA-INF

  1.MATA-INF
保存应用的签名信息,签名信息可以验证APK文件的完整性.

 

  2.可以验证app是否被篡改,是否被别人植入了木马,可以对签名校验防篡改。

0x5 class.dex

  1.class.dex
davilk可执行文件,我们重点对这个文件进行分析和反编译

0x6 androidmanifest.xml

  1.androidmanifest.xml
Android应用程序配置清单

0x7 resources.arsc

  1.resources.arsc
用来记录资源文件和资源ID之间的映射关系,用来根据资源ID寻找资源。例如字符串,对话框,按钮。

 

  2.写代码时通过ID找到资源,我们逆向通过资源找到资源ID,然后找到代码里使用ID的位置。

0x8 实战

  1.找一个apk文件,后缀名改成.zip,用压缩软件打开,看一下MANIFEST.MF文件

 

Manifest-Version: 1.0
Built-By: Signflinger
Created-By: Android Gradle 4.1.1

 

Name: AndroidManifest.xml
SHA-256-Digest: 0VmjGSIkjOUNGfv9VD6zLJIguOVXc5jdwljqfPuWFk0=

 

Name: META-INF/androidx.activity_activity.version
SHA-256-Digest: VjoLTuw8d7vDSsYw1PpSFPXGcmrgFGhAT9cERzEQCE4=

 

Name: META-INF/androidx.annotation_annotation-experimental.version
SHA-256-Digest: WYVJhIUxBN9cNT4vaBoV/HkkdC+aLkaMKa8kjc5FzgM=

 

Name: META-INF/androidx.appcompat_appcompat-resources.version
SHA-256-Digest: EOLhF7AVI4kconGmFa426dXlI0j9fWQvZnJ2AsG43L4=

 

Name: META-INF/androidx.appcompat_appcompat.version
SHA-256-Digest: EOLhF7AVI4kconGmFa426dXlI0j9fWQvZnJ2AsG43L4=

 

Name: META-INF/androidx.arch.core_core-runtime.version
SHA-256-Digest: yJuHwmLp1f/SDnOqx0oXcq3Mn1ohaCzDOtz1CG5f71w=

 

注意:目录下还有个CERT.SF是对MANIFEST.MF文件的哈斯算法摘要,只是加密了我们看不到里面的内容。

 

  2.看一下res目录,里面有些图标,图片等等资源文件。

0x9 常见问题总结

  1.如果遇到反编译后,里面有多个dex文件,是因为一个dex文件最多只能包含65535个函数,超过后拆分成多个包。

 

  2.我们逆向找应用程序入口的时候,通常在androidmanifest.xml找第一个页面下手。


[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
点赞2
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回