Android 逆向使用 Python 编写 APK 批处理分析工具
Posted 韩曙亮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 逆向使用 Python 编写 APK 批处理分析工具相关的知识,希望对你有一定的参考价值。
一、涉及到的工具和脚本
apktool.jar : 反编译 APK 文件使用到的工具 ; 参考 【Android 逆向】Android 逆向工具 ( Apktool | IDA | Python ) 一、Apktool 博客章节 ;
aapt.exe : 资源打包工具 ;
ApkTool.py : 这是一个 Python 脚本 , 主要是使用 apktool.jar 和 aapt.exe 工具 , 对 APK 文件进行各种操作 ; 该脚本是 【Android 逆向】APK 文件处理脚本 ApkTool.py ( 脚本简介 | 用法 | 分析 APK 文件 ) 博客中的脚本 ;
二、使用 Python 编写 APK重打包工具
程序结构 : apk 目录是存放所有的 apk 文件的 , 该目录中的文件可以被一次性处理 ;
main.py 是主程序 , ApkTool.py 是通过系统调用调用的脚本 ;
apktool.jar 和 aapt.exe 是 ApkTool.py 脚本用到的工具 ;
Python 代码如下 :
# coding=utf-8
# 导入系统命令
import os
# 对 APK 文件进行批处理
def batch_apk():
# 列出 apk 目录下的所有文件
for f in os.listdir('apk'):
# 文件名长度超过 4 个字符
if len(f) > 4:
# 从后面 4 字节到结尾是 .apk ,
# 则该文件是 APK 文件 , 对该文件进行解包
if f[-4:] == '.apk':
os.system('python ApkTool.py -analyse -inapk apk/' + f)
# 主函数入口
if __name__ == '__main__':
batch_apk()
执行结果 :
三、博客源码
GitHub : https://github.com/han1202012/APK
以上是关于Android 逆向使用 Python 编写 APK 批处理分析工具的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向逆向修改游戏应用 ( APK 解析工具 | 解包 -> 分析 -> 重打包 -> 签名 流程 )
Android 逆向Android 逆向工具 ( Apktool | IDA | Python )
Android 逆向使用 Python 代码解析 ELF 文件 ( PyCharm 中进行断点调试 | ELFFile 实例对象分析 )
Android 逆向APK 文件格式 ( Android 应用安装 | Zip 文件格式 | 使用 Python 代码提取 APK 文件 )
Android 逆向修改 Android 的 apk 安装包内的文件并重新打包 ( apktool_2.6.0.jar 下载和使用 | zipalign 文件对齐 | apksigner 签名 )
Android 逆向使用 Python 代码解析 ELF 文件 ( PyCharm 中创建 Python 程序 | 导入 ELFFile 库 | 解析 ELF 文件 )