【Android安全】从xapk中提取apk并进行重命名

这篇具有很好参考价值的文章主要介绍了【Android安全】从xapk中提取apk并进行重命名。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

关于xapk格式

XAPK文件是由APKPure首创的

它是一种文件扩展格式,包含了单独的APK文件和OBB cache assets文件。这种格式节省了文件大小以助于开发者能够在最大限制100 MB内上传他们的安卓应用到谷歌商城。APKPure APP是提供在安卓下载和安装XAPK文件的最受信任的来源之一。

参考:https://m.apkpure.com/cn/how-to/how-to-install-xapk-apk

核心:xapk中,解压之后,有一个apk的名字是包名(称为main apk,或者main application package),将这个main apk提取出来,进行后续分析即可

术语参考:https://filext.com/file-extension/XAPK

任务描述

当前文件夹下有一些xapk文件
原始文件名 例如:PA01-0018-com.nra.flyermaker-90.xapk
希望从中解压并提取出主apk 例如:com.nra.flyermaker.apk
并将com.nra.flyermaker.apk命名为PA01-0018-com.nra.flyermaker-90.apk

解决方案

Xapk2Apk.py

import os
import zipfile
import shutil

# 原始文件名:例如PA01-0018-com.nra.flyermaker-90.xapk
# 希望从中解压并提取出主apk:com.nra.flyermaker.apk
# 并将com.nra.flyermaker.apk命名为PA01-0018-com.nra.flyermaker-90.apk


# 获取当前目录下所有.xapk文件
xapk_files = [file for file in os.listdir('.') if file.endswith('.xapk')]

# 循环处理每个文件
for file in xapk_files:
    print(file)
    # PA01-0018-com.nra.flyermaker-90.xapk

    # 解压缩到当前目录下的与文件同名的文件夹中
    with zipfile.ZipFile(file, 'r') as zip_ref:
        folder_name = os.path.splitext(file)[0]
        zip_ref.extractall(folder_name)

    # 在解压缩后的文件夹中找到apk文件并进行重命名
    folder_files = os.listdir(folder_name)
    apk_files = [name for name in folder_files if name.endswith('.apk')]
    for apk_file in apk_files:

        # 找到解压后的主apk
        if os.path.splitext(apk_file)[0] in os.path.splitext(file)[0]:
            print(apk_file)  
            # com.nra.flyermaker.apk

            apk_path = os.path.join(folder_name, apk_file)
            print("old apk name : " + apk_path) 
            # old apk name : PA01-0018-com.nra.flyermaker-90/com.nra.flyermaker.apk

            new_apk_path = os.path.join(folder_name, folder_name+'.apk')
            print("new apk name : " + new_apk_path) 
            # new apk name : PA01-0018-com.nra.flyermaker-90/PA01-0018-com.nra.flyermaker-90.apk

            os.rename(apk_path, new_apk_path)

            # 将./PA01-0018-com.nra.flyermaker-90/PA01-0018-com.nra.flyermaker-90.apk 移动至 ./PA01-0018-com.nra.flyermaker-90.apk
            shutil.move(new_apk_path, "./"+folder_name+'.apk')

            # 删除./PA01-0018-com.nra.flyermaker-90/文件夹
            shutil.rmtree(folder_name)

参考:
https://chat.openai.com/文章来源地址https://www.toymoban.com/news/detail-723338.html

到了这里,关于【Android安全】从xapk中提取apk并进行重命名的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 如何在Android/鸿蒙上安装XAPK文件

    How to install XAPK / APK file On Android (apkpure.com) 什么是XAPK文件? XAPK文件最初由APKPure创建。它是一个文件扩展名,包含单独的APK或包OBB缓存资产文件,用于保存数据大小,以便开发者可以在最大大小限制100 MB内将其Android应用上传到Play Store。APKPure应用程序是在Android上下载和安装安

    2024年02月12日
    浏览(34)
  • 开源Android apk转aab工具

    自动化将 apk 转为 aab 文件. 自动化实现打包 smali ,签名,安装. 配置文件(config.toml ) apk转aab命令 config.toml 为配置文件. aab 为指定将 apk 转为 aab 流程. 主要流程如下: 编译apk 将 smali 工程编译成 apk 并签名. 主要流程如下: 编译 upx压缩(可选) 在 target/release 下 压缩后 linux 平台二进制

    2024年02月12日
    浏览(47)
  • Android中的APK打包与安全

    apk文件结构 classes.dex:Dex,即Android Dalvik执行文件 AndroidManifest.xml:工程中AndroidManifest.xml编译后得到的二进制xml文件 META-INF:主要保存各个资源文件的SHA1 hash值,用于校验资源文件是否被篡改,防止二次打包时资源文件被替换,该目录下主要包括下面三个文件: MANIFEST.MF:保

    2024年02月11日
    浏览(44)
  • 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逆向入门介绍

    也许每个人出生的时候都以为这世界都是为他一个人而存在的,当他发现自己错的时候,他便开始长大 少走了弯路,也就错过了风景,无论如何,感谢经历 转移发布平台通知:将不再在CSDN博客发布新文章,敬请移步知识星球 感谢大家一直以来对我CSDN博客的关注和支持,但

    2023年04月08日
    浏览(48)
  • 【APP渗透测试】Android APK常用测试工具(Drozer)安装及使用方法介绍

    本篇文章主要介绍 Drozer Android测试工具的安装以及简单使用,后续会持续更新更多使用方法。 Drozer 是 MWR Labs 开发的一款Android安全测试框架。是目前最好的Android安全测试工具之一。其官方文档说道: Drozer允许你一个普通Android应用的身份与其他应用和操作系统交互。 在Web世界

    2024年02月16日
    浏览(44)
  • Python如何对文件进行重命名操作?

    目录 一、引言 二、Python文件重命名的方法 三、注意事项 四、示例代码 五、高级应用 1、批量重命名文件 2、根据规则重命名文件 在Python中,对文件进行重命名是一项常见的操作。文件重命名通常用于整理文件、改变文件类型或者根据程序的需求修改文件名。本篇文章将深入

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

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

    2023年04月15日
    浏览(55)
  • 实现Android APK加固:代码加密隐藏、资源加密隐藏、so库加密隐藏。兼容unity引擎。附加固工具链接。

    0.1.可自动批量循环改包 改包包括:自动换包名(可选),自动改类,清单处理等 使用场景:原包为母包,争取处理出来的包没有容易被标记的地方 0.2.可自动批量循环加固,改包后自动加固 使用场景:原包为母包,争取处理出来的包每个包都不一样 0.3 改包加固效果 原包代码不可见,原包

    2024年02月09日
    浏览(60)
  • 使用Python的Pillow库对图片进行格式转换和重命名

    Python 是一门功能强大的编程语言,广泛应用于科学计算、数据分析、机器学习等领域。随着互联网的发展和智能手机的普及,现在人们更加倾向于通过图片来表达自己的想法和情感。因此,在科研、工程和设计等领域,对于图片的处理也变得越来越重要。 Python 提供了多种图

    2024年02月08日
    浏览(84)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包