移动安全:APK的基础结构
文章目录
- 前言
- 一、APK的获取
- 二、APK查看
- 1.修改文件后缀名,点击进行查看
- 2.APK包体结构分析
- 总结
前言
在移动安全的学习过程中,最离不开的过程就是和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缺少任一一部分主题信息都无法得以正确运行;因而弄清楚五大主题部分信息的主要作用至关重要。
移动安全:APK的基础结构相关推荐
- Unity5.6+ 导出Android 应用程序apk的环境配置及导出过程
首先下载并安装安卓SDK和java的JDK 安卓sdk下载: http://www.android-studio.org/ 也可以在这下载: 链接:http://pan.baidu.com/s/1bp ...
- android 在设备上安装apk包
使用adb 命令安装 1 打开cmd 命令 win+r 输入cmd 命令 打开控制面板 输入adb install 然后把把apk 拖拽进去然后回车即可 安装 2 adb 卸载apk 输入adb un ...
- linux(以ubuntu为例)下Android利用ant自动编译、修改配置文件、批量多渠道,打包生成apk文件...
原创,转载请注明:http://www.cnblogs.com/ycxyyzw/p/4555328.html 之前写过一篇<windows下Android利用ant自动编译.修改配置文件.批量 ...
- 一个apk多个ICON执行入口
一个工程对应一个AndroidManifest.xml文件,这个文件中包含有该项目的一些设置,如权限.SDk版Activity.Service信息等.一般而言,这个文件中会有且仅有一个applicat ...
- android预置第三方apk,android 内置APK成系统应用
一. 这种方法必须要自己编写Android.mk文件(关于Android.mk可以参考),在研发中,自己有源码时,可以将APK的源码包置于Android源码中(比如:alps/package/apps ...
- Unity导出apk出现的问题,JDK,Android SDK,NDK,无“安装模块”
导出apk失败 使用unity导出apk文件,会出现提示:需要合适版本的JDK.Android SDK和Android NDK,要找到.下载和安装好合适的版本非常耗费时间, 网上很多教程指出可以直接在 ...
- Android studio 获取每次编译apk时的日期
项目中需要获取apk的编译日期,首先肯定是用手动的方式获取,但这样容易遗忘,怎么样通过代码的方式获取呢? 其实android 为我们提供了一个BuildConfig的类,android 每次编译的时候 ...
- Android APK加壳技术方案----代码实现
本文章由Jack_Jia编写,转载请注明出处. 文章链接:http://blog.csdn.net/jiazhijun/article/details/8746917 作者:Jack_Jia 邮 ...
- Android如何防止apk程序被反编译
作为Android应用开发者,不得不面对一个尴尬的局面,就是自己辛辛苦苦开发的应用可以被别人很轻易的就反编译出来.Google似乎也发现了这个问题,从SDK2.3开始我们可以看到在android-sd ...
最新文章
- boost::sort模块实现提供多种分布的灵活随机数生成器的测试程序
- mysql 修复模式_Mysql表修复
- 安装Frida抓包工具
- Win7系统桌面右下角托盘图标不显示原因和解决方法
- python os.walk遍历目录_Python 用 os.walk 遍历目录
- SQL 分页查询的四种方法
- java导出excel超出65536条处理
- 78. Cookie
- win11问题记录:
- 直线和直线,直线和圆,直线和矩形的交点
- 史上最全的NB-IoT知识,每个通信人都应该了解的
- 小程序引导用户下载APP
- 短路与和与、短路或和或的区别
- 视频教程-JAVAEE真实课堂系列之XML全讲-云计算基础架构
- 【考研初试】问题汇总及解答
- 使用ctrl+alt+delete没有任务管理器选项,鼠标右键点击任务栏显示任务管理器不可用
- 锂电池的六个主要参数
- LeetCode q22
- Vegas的MP4渲染格式
- 关于TI CCS版本的一些个人观点