安卓玩机工具------手搓python小工具:APK反编译 重新打包 签名工具

在ROM修改或APK反编译过程中,我们经常需要参考某些代码或查看应用文件结构。这时就需要反编译APK进行查阅。为了更方便操作,我手搓了一个图形化小工具,可以快速查看APK中的DEX代码和其他文件内容。

应用apk的基础常识

APK (Android Package) 文件本质上是一个遵循 ZIP 格式的压缩包,包含了应用运行所需的一切。了解其构成、各文件作用及反编译原理,有助于您进行安全审计、竞品分析或问题排查

APK 文件构成

一个典型的 APK 解压后,主要包含以下目录和文件:

├── AndroidManifest.xml # 应用清单 (二进制格式)

├── classes.dex # 核心代码 (DEX 字节码)

├── resources.arsc # 编译后的资源索引表

├── META-INF/ # 签名和校验信息

│ ├── MANIFEST.MF

│ ├── CERT.SF

│ └── CERT.RSA

├── res/ # 资源目录 (布局、图片、字符串等)

│ ├── layout/

│ ├── drawable-xxx/

│ └── values/

├── assets/ # 原始资源目录 (不被资源系统管理)

├── lib/ # 原生库 (.so 文件, 按 CPU 架构分类)

│ ├── armeabi-v7a/

│ ├── arm64-v8a/

│ └── x86/

└── ... (其他可选文件) # 如 kotlin/、META-INF/services/ 等

核心文件与目录详解

1.AndroidManifest.xml

应用的"身份证"和"说明书",系统通过它来识别应用。包含包名、版本号、权限、四大组件

assets/目录

存放需要原样保留的文件,如配置文件、HTML、字体等。应用通过 AssetManager按文件名直接访问,不经过资源 ID 系统

lib/目录

存放 C/C++ 编写的原生动态库 (.so文件),按 CPU 架构分类存放,如 armeabi-v7a, arm64-v8a, x86等,以实现最佳性能

META-INF/目录

存放 APK 的签名和校验信息,确保应用未被篡改。

MANIFEST.MF: 记录 APK 中每个文件的 SHA-1 摘要。

CERT.SF: 对 MANIFEST.MF文件本身及其中每条摘要再次进行 SHA-1 摘要。

CERT.RSA: 开发者签名证书,包含公钥和开发者身份信息

手搓工具操作演示

工具特点:

1----可以简单操作即可分解应用apk。查看文件结构

2----可以直接查看AndroidManifest.xml代码【需要使用默认电脑程序打开】

3-----查看源apk中dex代码反编译后的全文件以及 smali代码

4----重新编译打包为apk【个别应用除外】

5----对apk进行签名操作 【简易版】

解包apk后的文件

注意事项:

最近对python较感兴趣。手搓小工具。功能一般。用于查看一些应用代码 结构来说绰绰有余。不支持一些特殊apk应用。需要配置安装好java环境。操作前记得备份源文件。以免出错,

下载:https://download.csdn.net/download/u011283906/92640601

🍀🌼🌻🌺🌹🌸🌷💐

相关推荐
-SOLO-24 分钟前
Android Event 日志完全指南
android
壮哥_icon1 小时前
【Android 系统开发】从掉帧卡顿到丝滑:高频硬件中断(IRQ)的 CPU 亲和性性能优化实战
android·性能优化
千里马学框架1 小时前
Android Framework 新手学习踩坑建议指南
android·智能手机·性能优化·framework·aaos·车载开发·系统工程师
我命由我123453 小时前
执行 Gradle 指令报错,无法将“grep”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
狂奔solar4 小时前
ARMA 模型:从白噪声到万能逼近器
android
渣渣灰飞5 小时前
MySQL 系统学习 第五阶段:企业级 MySQL 实战开发 第二章:RBAC 权限系统设计
android·学习·mysql
qq_422828625 小时前
android 图形学之图层数据送显及合成图层(七)
android
MiyamuraMiyako6 小时前
Compose:从自动滚动到双锚点 LazyLayout
android·android jetpack
用户63421419935078 小时前
base_logger_core --- 跨平台 C++ 日志核心库
android
苦瓜花8 小时前
【Kotlin】初入门
android·开发语言·kotlin