Android APK文件笔记

这篇具有很好参考价值的文章主要介绍了Android APK文件笔记。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

APK文件其实是一个zip压缩包

APK的常见文件结构如下:

  • AndroidManifest.xml 声明四大组件、权限等信息。解压是无法直接打开的,可以使用apktool等工具解密
  • lib 存放各种架构下的so文件的文件夹 存放的so文件可以使用IDA工具进行修改。
    重打包手段:替换/data/app/packagename/lib下的so为你修改之后的so
    重新打包APK,但是要过签名检验
  • res 存放 未编译的资源文件,存放图片。样式。xml等资源 raw文件未原始文件,存放音频等内容,其他文件会被压缩处理
  • class.dex 源码生成的.class文件,经过转化后成为Android系统可识别的Dalvik Byte Code。
    可使用apktool等工具进行反编译,反编译后的jar文件可能存在部分错误,需要自己去调试。
    反制方法:进行应用加固、代码混淆
    应用加固反制方法:脱壳、去GooglePlay下载应用,因为谷歌是aab文件,安装之后拿出来的APK没带so,需要去安装目录lib下把so给补全
  • resources.arsc 编译过后的资源文件
  • assets 存放的文件可用AssetManager进行获取
  • META-INF用于存放应用的签名和检验信息,

编译过程
aidl文件先转化为java接口文件
资源文件被aapt处理为resources.arsc并且生成R.java
编译器将源码、R.java`aidl生成的Java接口文件编译成.class文件
.class文件和第三方库转化为dex文件,如果遇到65535问题,就要进行分包
c++代码通过NDK编译为指定架构的so文件
打包其他资源生成APK
jarsigner进行签名
zipalign进行优化生成最终APK文件

安装流程:

应用发送安装Intent
PackageInstall启动进入安装流程
复制APK安装包到data/app目录下,解压并扫描安装包,把dex文件(Dalvik字节码)保存到dalvik-cache目录,并data/data目录下创建对应的应用数据目录。

https://blog.csdn.net/u012267215/article/details/88313259
这边文章讲的清楚

系统应用静默安装:
使用反射或者引用framework.jar调用安装方法。

ADB安装
adb install -r 应用APK存放路径

另类的APK安装:
github的blackbox仓库 使用了插件化的思想进行加载APK,可以做你想做的事文章来源地址https://www.toymoban.com/news/detail-610254.html

到了这里,关于Android APK文件笔记的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android Studio模拟器如何运行apk文件

    Android手机软件都是以apk为后缀的,而apk文件在电脑中是无法直接运行的,需要在模拟器中安装和打开。 如果使用Android Studio中的模拟器,首先需要打开自己的AVD模拟器。 将apk文件复制到android studio安装目录里的androidsdkplatform-tools文件夹下(如下图所示文件夹) win+R运行cmd终

    2023年04月08日
    浏览(91)
  • adb 获取 Android 设备中已安装的 apk 文件

    今天发现手机上一个应用在应用商店已经搜索不到了,想把其推荐给朋友使用,发现不知道从哪里找原始的 apk 安装文件,记录一下。 两种方法 可以使用 MT管理器 ( Android 平台逆向神器 ),它有个 安装包提取 的功能,可以方便快捷的查看应用包名及导出。MT管理器官方下载地

    2024年02月04日
    浏览(54)
  • adb命令导出手机已安装的android应用apk文件

    前提条件是手机已经和PC电脑可以通过adb建立连接。 (1)通过adb shell命令获取当前手机所有已经安装的应用包名:   (2)根据上面打印出来的包名,找到想要导出apk文件的应用包名,这个包名可以通过多种方式找到,也可以用一些工具找,假设已经知道某个应用的包名后,

    2024年02月16日
    浏览(59)
  • Android11.0 生成系统签名.jks文件并对Apk进行签名

    V2签名 对应用手动进行系统签名,需要platform.pk8,platform.x509.pem,signapk.jar这三个文件,应用的AndroidManifest.xml中需要添加 android:sharedUserId=“android.uid.system” ,然后输入以下命令就可得到签名后的apk文件: 如果你的应用 targetSdkVersion=30 ,在7.0以上的设备上安装不成功,会报以

    2024年02月07日
    浏览(56)
  • Android 安装自身更新APK时,包解析错误或无法访问文件的可能原因

        其实能找到我的文章的小伙伴估计早已解决99.99%的问题,我这里讲的是一个比较白痴的问题及很简单地解决,供有可能需要的人参考。     在做Android自动更新时,用了一段Android7旧版代码,实现了下载APK后调用安装界面来安装,已经是奶牛了,能跑就没人动它。      可

    2024年02月15日
    浏览(57)
  • Android之用新的签名文件对apk进行V3打包(apksigner命令方式)来解决签名不一致的升级问题

    我们app需要使用的的签名文件,但是之前的apk都是老签名文件,如果是采用v1和v2方式打包,我们知道升级覆盖安装会提示签名匹配安装失败。 Android 目前支持以下四种应用签名方案: v1 方案:基于 JAR 签名。 v2 方案:APK 签名方案 v2(在 Android 7.0 中引入) v3 方案:APK 签名方

    2023年04月15日
    浏览(55)
  • 安卓apk修改(Android反编译apk)

    最近因为项目需要,需要将Android手机系统自带的某个系统软件反编译并更改里面某个资源,并重新打包,签名生成新的自定义的apk,下面我来介绍一下我的实现过程。APK修改,分为以下几步: 反编译解包,修改, 重打包 , 修改签名等步骤。 1. 系统配置好Java JDK环境变量 2. 需要

    2024年02月01日
    浏览(47)
  • Android APK 签名打包原理分析(二)【Android签名原理】

    说到签名,从这个词来理解,正常个人需要签名的时候,一般是用来证明这是某个人的特属认证。 大家是否有印象?还记得我们之前在学习、总结网络相关知识的时候,说到过,客户端和服务端虽然通信数据上,可以采用对称加密和非对称加密组合去进行数据的加密,但是这

    2024年01月18日
    浏览(51)
  • Android apk逆向脱壳

    步骤一:下载逆向相关软件和apk 1、Android模拟器:雷电模拟器,我这Android系统是7.1.2【推荐使用模拟器,已经有Root权限】 2、下载安装Xposed框架 3、下载安装‘反射大师’apk 4、jadx反编译 5、配置Xposed    显示如下图即安装成功 模块选择反射大师     步骤二:脱壳 在模拟器中

    2024年02月14日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包