Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
MADLIRA — 使用学习和信息检索进行Android恶意软件检测 | Kitploit
工具/GitHubGitHub/dkhuuthe/madlira
Android安全静态分析恶意软件分析机器学习
GitHubdkhuuthe/madlira

MADLIRA

使用学习和信息检索进行Android恶意软件检测

查看仓库
7327296年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

MADLIRA

使用学习和信息检索进行安卓恶意软件检测

概述

MADLIRA 是一款用于安卓恶意软件检测的工具。它包含两个组件:TFIDF 组件和 SVM 学习组件。总体而言,它接收一组恶意软件和良性软件作为输入,然后提取恶意行为(TFIDF 组件)或计算训练模型(SVM 分类器)。之后,它利用这些知识来检测安卓应用中的恶意行为。

安装

下载文件 MADLIRA.7z 并解压。

安装后的数据:

  • MADLIRA.jar 是主应用程序。
  • noAPI.txt 声明 API 前缀。
  • family.txt 按家族列出恶意软件。
  • 文件夹 TrainData 包含训练配置和训练模型。
  • 文件夹 Samples 包含样本数据。
  • 文件夹 TempData 包含用于内核计算的数据。

功能

该工具包含两个主要组件:TFIDF 组件和 SVM 组件。

TFIDF 组件

root@kitploit:~
命令:java -jar MADLIRA TFIDF

该组件有两个功能:训练功能(恶意行为提取)和测试功能(恶意行为检测)。

恶意行为提取

  • 收集良性应用和恶意应用,并分别放入名为 benignApkFolder 和 maliciousApkFolder 的文件夹中。
  • 准备训练数据并使用以下命令将其打包到两个文件 benignPack 和 maliciousPack 中:
root@kitploit:~
MADLIRA TFIDF packAPK -PB benignApkFolder -B benignPack -PM maliciousApkFolder -M maliciousPack
  • 使用以下命令从两个打包文件(benignPack 和 maliciousPack)中提取恶意行为:
root@kitploit:~
java -jar MADLIRA TFIDF train -B benignPack -M maliciousPack

恶意行为检测

  • 收集新的应用并放入名为 checkApk 的文件夹中。
  • 使用以下命令检测 checkApk 文件夹中应用的恶意行为:
root@kitploit:~
java -jar MADLIRA TFIDF check -S checkApk

命令:

root@kitploit:~
java -jar MADLIRA TFIDF train <选项>
        根据给定的训练数据计算恶意特征。
                -B <文件名>:包含所有训练良性软件图文件的归档文件。
                -M <文件名>:包含所有训练恶意软件类别文件的归档文件。

java -jar MADLIRA TFIDF check <选项>
        检查给定文件夹中应用的恶意行为。
                -S <文件夹>:包含所有应用(apk 文件)的文件夹。

java -jar MADLIRA TFIDF test <选项>
        测试给定测试数据的分类器。
                -S <文件夹>:包含所有用于测试的图文件的文件夹。

java -jar MADLIRA TFIDF clear
        清除所有训练数据。

java -jar MADLIRA TFIDF install
        清除旧的训练数据并安装新的训练数据。
                -B <文件名>:包含所有训练良性软件图文件的归档文件。
                -M <文件名>:包含所有训练恶意软件类别文件的归档文件。

示例:

训练新数据:

  • 首先收集训练应用(APK 文件)并将其存储在名为 MalApkFolder 和 BenApkFolder 的文件夹中。
  • 使用以下命令将训练应用打包为归档文件 MalPack 和 BenPack:
root@kitploit:~
java -jar MADLIRA TFIDF packAPK -PB BenApkFolder -B BenPack -PM MalApkFolder -M MalPack
  • 清除旧的训练数据:
root@kitploit:~
java -jar MADLIRA TFIDF clear
  • 从训练包(BenPack 和 MalPack)计算恶意图:
root@kitploit:~
java -jar MADLIRA TFIDF train -B BenPack -M MalPack

检查新应用:

  • 将这些应用放入名为 checkApk 的文件夹中,并使用以下命令:
root@kitploit:~
java -jar MADLIRA TFIDF check -S checkApk

输出: output

SVM 组件

root@kitploit:~
命令:java -jar MADLIRA SVM

该组件有两个功能:训练功能和测试功能。

训练阶段

  • 将良性应用收集在名为 benignApkFolder 的文件夹中,恶意应用收集在名为 maliciousApkFolder 的文件夹中。
  • 使用以下命令准备训练数据:
root@kitploit:~
java -jar MADLIRA SVM packAPK -PB benignApkFolder -B benignPack -PM maliciousApkFolder -M maliciousPack
  • 使用以下命令计算训练模型:
root@kitploit:~
java -jar MADLIRA SVM train -B benignPack -M maliciousPack

恶意行为检测

  • 收集新的应用并将其放入名为 checkApk 的文件夹中。
  • 使用以下命令检测 checkApk 文件夹中应用的恶意行为:
root@kitploit:~
java -jar MADLIRA SVM check -S checkApk

命令:

root@kitploit:~
java -jar MADLIRA SVM train <选项>
        根据给定的训练数据计算分类器。
                -T <T>:公共游走的最大长度(默认值 = 3)。
                -l <lambda>:控制游走长度重要性的 lambda 值(默认值 = 0.4)。
                -B <文件名>:包含所有训练良性软件图文件的归档文件。
                -M <文件名>:包含所有训练恶意软件图文件的归档文件。

java -jar MADLIRA SVM check <选项>
        检查文件夹中应用的恶意行为。
                -S <文件夹名>:包含所有 apk 文件的文件夹。

java -jar MADLIRA SVM test <选项>
        测试给定图数据的分类器。
                -S <文件夹名>:包含所有测试数据图文件的文件夹。
                -n <n>:测试样本的数量。

java -jar MADLIRA SVM clear
        清除所有训练数据。

软件包:

该工具使用以下软件包:

  • apktool-2.2.1 (https://ibotpeaches.github.io/Apktool/)
  • ojalgo-41.0.0 (https://github.com/optimatika/ojAlgo)
  • libsvm (http://www.csie.ntu.edu.tw/~cjlin/libsvm/)
  • antlr (https://www.antlr3.org/)

参考文献

  • Khanh Huu The Dam and Tayssir Touili. Extracting Android Malicious Behaviors. In Proceedings of ForSE 2017
  • Khanh Huu The Dam and Tayssir Touili. Learn Android malware. In Proceedings of IWSMA@ARES 2017
下载工具