当前位置: 首页 > article >正文

APKLeaks:一款针对APK文件的数据收集与分析工具

关于APKLeaks

APKLeaks是一款功能强大的APK文件安全分析工具,该工具可以帮助广大研究人员扫描目标APK文件中的URI、端点和敏感信息,可以有效地实现针对APK的数据收集与分析任务。

工具要求

pyaxmlparser>=0.3.24

工具安装

由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好最新版本的Python 3环境。

源码安装

广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

git clone https://github.com/dwisiswant0/apkleaks.git

然后切换到项目目录中,使用pip命令和项目提供的requirements.txt安装该工具所需的其他依赖组件:

cd apkleaks

pip install -r requirements.txt

PyPi安装

$ pip3 install apkleaks

Docker使用

运行以下命令拉取 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

工具选项

下面给出的是当前版本APKLeaks支持的参数选项:

参数选项

描述

使用样例

-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

工具输出

一般来说,如果不提供-o参数的话,该工具将自动生成结果文件。默认情况下,它还会以文本格式保存结果,如果您想要 JSON 输出格式,请使用--json参数。

自定义模式

我们还可以通过下列方式在JSON文件格式中提供敏感搜索规则来实现自定义搜索模式:

--pattern /path/to/custom-rules.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 DEB

工具运行演示

许可证协议

本项目的开发与发布遵循Apache-2.0开源许可协议。

项目地址

APKLeaks:【GitHub传送门】

参考资料

https://github.com/skylot/jadx


http://www.kler.cn/a/505993.html

相关文章:

  • Web3 时代,区块链与物联网的融合创新前景
  • C#中的ref struct
  • HarmonyOS 鸿蒙 ArkTs(5.0.1 13)实现Scroll下拉到顶刷新/上拉触底加载,Scroll滚动到顶部
  • WordPress如何配置AJAX以支持点击加载更多?
  • FPGA 串口与HC05蓝牙模块通信
  • 怎么实现Redis的高可用?
  • Git 合并和 Git 变基有什么区别?
  • 利用Redis实现付款倒计时
  • Chapter5.4 Loading and saving model weights in PyTorch
  • 【机器学习实战入门项目】基于机器学习的鸢尾花分类项目
  • C++:工具VSCode的编译和调试文件内容:
  • Python爬虫:从入门到实践
  • 路由环路的产生原因与解决方法(1)
  • 在Android 15的设备上关闭edge-to-edge功能
  • uniapp 页面铺满屏幕
  • STM32 FreeRTOS 信号量
  • 使用docker-compose安装ELK(elasticsearch,logstash,kibana)并简单使用
  • Web基础-分层解耦-IOC与DI入门(具体的是实现步骤)
  • 遥感原理及图像处理
  • 向量数据库Milvus详解
  • day_2_排序算法和树
  • IOS工程师
  • 隧道网络:为数据传输开辟安全通道
  • HttpClient和HttpGet实现音频数据的高效爬取与分析
  • Unity中实现倒计时结束后干一些事情
  • Leetcode 72. 编辑距离 动态规划