移动安全:APK的基础结构

39 篇文章 0 订阅
2 篇文章 0 订阅


前言

在移动安全的学习过程中,最离不开的过程就是和apk文件打交道,apk加固、apk漏洞挖掘、apk反编译等过程都和apk文件息息相关

以下先对apk整体结构进行认知描述

一、APK的获取

任意选择一款APK,有过Android开发经验的同学可以直接从AS自己打包一份APK,或者从其他渠道任意获得一份APK文件发送到自己的电脑上
在这里插入图片描述
我这里直接获取了自己之前的项目打包出来的APK

二、APK查看

1.修改文件后缀名,点击进行查看

在这里插入图片描述
修改文件的后缀名,可以修改为一种压缩文件打包的文件后缀名,而后使用压缩文件解压的软件进行查看,这里采用将APK文件名修改为RAR
在这里插入图片描述
点击打开压缩文件进行查看
接下来对APK的包体结构进行分析

2.APK包体结构分析

  • META-INF APK的签名文件,是APK的正盗版的唯一表示,如果要对APK进行反编译或是替换APK的签名文件,则必然会对此文件夹下的内容进行操作
    在这里插入图片描述
  • AndroidManifest.xml Android的配置文件,其中会包含四大组件和一些权限的基本信息,学过Android开发的同学这方面应该不难理解
    在这里插入图片描述
  • dex文件,APK的相关执行代码、算法和逻辑都包含在其中,这里主要讨论以Java语言编写的Android项目,在Java语言编写的Android的项目中,各个类的代码和各个类之间的联系都会被打包扔进dex文件当中,在反编译时,可以使用dex2jar工具将拿到手的代码反编译成java源文件
    在这里插入图片描述
  • resource.arsc,字符文件,对APK整体的字符显示进行修改,例如将一个英语的APK文件,修改为汉化的APK文件
    在这里插入图片描述
  • • res目录,资源文件,如图片等文件;通过情况下,当我们想要模仿一个竞业APP的状态时,我们可以使用ApkTool获取其资源文件
    在这里插入图片描述

总结

以上是一款APK的主体信息介绍,其实实际的APK包含的内容远远超过上述介绍的五大部分,但上述的五大部分是一款APK不可缺少的主题信息,一款APK缺少任一一部分主题信息都无法得以正确运行;因而弄清楚五大主题部分信息的主要作用至关重要。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值