freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

DroidLysis:针对Android应用程序的安全检测预分析工具
2024-06-18 14:47:37

关于DroidLysis

DroidLysis是一款针对Android应用程序安全的预分析工具,广大研究人员在对Android应用程序执行逆向分析的过程中,该工具可以帮助我们完成一些重复且无聊耗时的任务。

该工具能够对Android应用程序样本进行反汇编处理,并将内容按照项目结构输出到目录中,同时会搜索代码中的可疑部分,而这种输出结果将有助于加快逆向工程分析的速度。

DroidLysis支持对Android包(APK)、Dalvik可执行程序(DEX)、ZIP文件(ZIP)、RAR文件(RAR)或目录中的其他文件进行分析和处理。

工具要求

configparser>=4.0.2

python-magic==0.4.12

rarfile>=3.0

requests

SQLAlchemy>=1.1.1

platformdirs

工具安装

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

然后安装该工具所需的系统包:

sudo apt-get install default-jre git python3 python3-pip unzip wget libmagic-dev libxml2-dev libxslt-dev

然后安装Android反汇编工具:

1、Apktool

2、Baksmali

3、Dex2jar

安装命令如下:

$ mkdir -p ~/softs

$ cd ~/softs

$ wget https://bitbucket.org/iBotPeaches/apktool/downloads/apktool_2.9.3.jar

$ wget https://bitbucket.org/JesusFreke/smali/downloads/baksmali-2.5.2.jar

$ wget https://github.com/pxb1988/dex2jar/releases/download/v2.4/dex-tools-v2.4.zip

$ unzip dex-tools-v2.4.zip

$ rm -f dex-tools-v2.4.zip

接下来,广大研究人员可以创建一个Python虚拟环境,然后直接使用下列命令将该项目源码克隆至本地:

$ python3 -m venv venv

$ source ./venv/bin/activate

(venv) $ pip3 install git+https://github.com/cryptax/droidlysis

或者使用pip3命令从PyPi直接安装DroidLysis:

pip3 install droidlysis

配置“conf/general.conf”,确保修改“/home/axelle”为对应目录:

[tools]

apktool = /home/axelle/softs/apktool_2.9.3.jar

baksmali = /home/axelle/softs/baksmali-2.5.2.jar

dex2jar = /home/axelle/softs/dex-tools-v2.4/d2j-dex2jar.sh

keytool = /usr/bin/keytool

...

现在就可以直接使用下列命令运行DroidLysis了:

python3 ./droidlysis3.py --help

工具使用

DroidLysis基于Python 3开发,因此可以直接使用下列方式运行DroidLysis并查看帮助选项:

droidlysis --help

下列命令可以对Signal的APK文件执行分析测试:

droidlysis --input Signal-website-universal-release-6.26.3.apk --output /tmp --config /PATH/TO/DROIDLYSIS/conf/general.conf

工具输出

1、命令行窗口中输出测试概述;

2、在输出目录的子目录中输出解压后的预处理样本数据,子目录的明明使用了样本文件名+256校验和。比如说,如果我们分析的是Signal应用程序,并设置“--output /tmp”,则结果会写入到“/tmp/Signalwebsiteuniversalrelease4.52.4.apk-f3c7d5e38df23925dd0b2fe1f44bfa12bac935a6bc8fe3a485a4436d4487a290”中;

3、生成一个数据库文件(默认为SQLite)“droidlysis.db”,其中包含所有识别到的数据;

工具运行样例

许可证协议

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

项目地址

DroidLysis:【GitHub传送门

参考资料

https://ibotpeaches.github.io/Apktool/

https://bitbucket.org/JesusFreke/smali/downloads

https://github.com/pxb1988/dex2jar

https://signal.org/android/apk/

# android安全 # Android # 反汇编 # android逆向 # 应用程序安全
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录