扫描 APK 文件中的 URI、端点及密钥。
安装 APKLeaks 非常简单:
$ pip3 install apkleaks
克隆仓库并安装依赖:
$ git clone https://github.com/dwisiswant0/apkleaks
$ cd apkleaks/
$ pip3 install -r requirements.txt
运行以下命令拉取 Docker 镜像:
$ docker pull dwisiswant0/apkleaks:latest
APKLeaks 使用 jadx 反编译器解压 APK 文件。如果系统中未安装 jadx,它将提示您下载。
直接使用:
$ apkleaks -f ~/path/to/file.apk
# 通过源码运行
$ python3 apkleaks.py -f ~/path/to/file.apk
# 或使用 Docker
$ docker run -it --rm -v /tmp:/tmp dwisiswant0/apkleaks:latest -f /tmp/file.apk
以下是所有支持的选项。
一般情况下,如果您未提供 -o 参数,它将自动生成结果文件。
[!TIP] 默认情况下,结果将以文本格式保存。如需 JSON 输出格式,请使用
--json参数。
可以使用以下参数添加自定义规则,以 JSON 文件格式提供敏感搜索规则:--pattern /path/to/custom-rules.json。如果未设置文件,工具将使用默认规则,这些规则位于 regexes.json 文件中。
以下是自定义规则文件的示例:
// custom-rules.json
{
"Amazon AWS Access Key ID": "AKIA[0-9A-Z]{16}",
// ...
}
要使用这些自定义规则运行工具,请执行以下命令:
$ apkleaks -f /path/to/file.apk -p rules.json -o ~/Documents/apkleaks-results.txt
我们允许用户完全自定义反编译器参数。例如,如果您希望在 jadx 反编译过程中启用多线程,可以通过 -a/--args 参数添加,例如:--args="--threads-count 5"。
$ apkleaks -f /path/to/file.apk -a "--deobf --log-level DEBUG"
[!WARNING] 请注意我们使用的默认反编译器参数,以避免冲突。
apkleaks 采用 Apache 2 许可证。
由于本工具包含一些贡献,并且我不是一个混蛋,我将公开感谢以下用户提供的帮助和资源:
apkurlgrep 启发了我,这就是本工具诞生的原因。truffleHogRegexes 做出贡献的人。LinkFinder 的出色规则,用于发现 URL、端点及其参数。gf 规则。dex2jar。SHA2048#4361(Discord 用户) - 帮助我将代码移植到 Python3。NotKeyHacks。| 参数 | 描述 | 示例 |
|---|
| -f, --file | 要扫描的 APK 文件 | apkleaks -f file.apk |
| -o, --output | 将结果写入文件(未设置时随机命名) | apkleaks -f file.apk -o results.txt |
| -p, --pattern | 自定义规则 JSON 文件路径 | apkleaks -f file.apk -p custom-rules.json |
| -a, --args | 反编译器参数 | apkleaks -f file.apk --args="--deobf --log-level DEBUG" |
| --json | 以 JSON 格式保存 | apkleaks -f file.apk -o results.json --json |