编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

APKLeaks - 寻找安卓 Apk 隐藏信息的利器

wxchong 2024-06-22 21:07:26 开源技术 9 ℃ 0 评论

APK(Android application package,Android应用程序包)是Android操作系统使用的一种应用程序包文件格式,用于分发和安装移动应用及中间件。

一个APK文件内包含被编译的代码文件(.dex 文件),文件资源(resources), 原生资源文件(assets),证书(certificates),和清单文件(manifest file)。在这些文件中,包含了大量应用相关的信息。在对于安卓应用包的静态分析、信息提取、安全分析中,这些信息有着重要的作用。


简介

APKLeaks,是 dwisiswant0 在 Github 上开源的 APK 信息扫描工具,目前版本为 v2.0.3。

APKLeaks 能够扫描安卓 APK 文件中的 URL、终端地址,和秘密信息,并能提供特定的模式进行匹配,不失为安卓开发中的静态分析和安全分析的有力工具。



使用

APKLeaks 使用 Python 编写,是一个脚本式的命令行工具。其依赖 jadx 来对 APK 文件进行反编译,使用前需要确保安装了 jadx。

要安装 APKLeaks,运行

$ git clone https://github.com/dwisiswant0/apkleaks
$ cd apkleaks/
$ pip3 install -r requirements.txt

安装完成后,就可以运行命令行工具脚本:

$ python3 apkleaks.py -f ~/path/to/file.apk

APKLeaks 的基本使用选项如下:

$ python3 apkleaks.py -h
usage: apkleaks [-h] -f FILE [-o OUTPUT] [-p PATTERN]

optional arguments:
  -h, --help            show this help message and exit
  -f FILE, --file FILE  APK file to scanning
  -o OUTPUT, --output OUTPUT
                        Write to file results (NULL will be saved into random
                        file)
  -p PATTERN, --pattern PATTERN
                        Path to custom patterns JSON

可以看到,APKLeaks 提供了 -f 选项,用来输入需要分析的 APK 文件的路径;-o 选项,用来指定扫描报告的输出文件;-p 用来指定包含扫描匹配模式的文件。

APKLeaks 预设了一些匹配模式,包括 IP 地址、SSH 私钥、AWS API 密钥等,可以匹配多种不同的敏感信息。也可以提供自定义的匹配模式文件,实现更符合目的需求的扫描结果:

"RSA private key": "-----BEGIN RSA PRIVATE KEY-----"
"IP Address": "(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])"
"AWS API Key": "AKIA[0-9A-Z]{16}"
$ python apkleaks.py -f /path/to/file.apk -p rules.json -o ~/Documents/apkleaks-results.txt


总结

APKLeaks 使用 Python 脚本的方式,拓展了原有反编译工具的功能,实现了对于 APK 内特定信息的扫描,为相关开发和分析工作提供了便利。


Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表