rdxkeerthi/Malware-analysis-App-analysis-tool
GitHub: rdxkeerthi/Malware-analysis-App-analysis-tool
静态恶意软件与应用分析工具,用于解析和审计Android APK和Windows PE文件。
Stars: 0 | Forks: 0
# 静态恶意软件与应用分析工具
一个便携式、生产级静态二进制分析实用工具,用于解析和审计 **Android APK** 和 **Windows PE (EXE/DLL)** 文件。该工具提取结构、标识符、权限、API 导入和网络指标,将技术指标映射到清晰、通俗易懂的安全说明,并将结构化遥测输出到 JSON 报告中。
## 关键功能
### 🤖 Android APK 分析
- **清单组件审计**:提取并计数活动、服务、接收器和提供者,突出显示值得注意的后台组件(例如,潜在的同步处理程序或引导接收器)。
- **高风险权限配置文件**:将 Android 权限映射到一个全面的危险权限字典,将技术权限字符串转换为人类可读的系统功能描述(例如,读取短信、地理跟踪)。
- **动态回退引擎**:未映射或自定义权限将动态解析和格式化为人类可读的定义,而不是被跳过。
- **DEX 字节码字符串扫描**:从 DEX 字符串中提取 API 使用模式、URL 和域名。
### 💻 Windows PE (EXE/DLL) 分析
- **PE 头诊断**:检查机器架构、编译时间戳和文件特征。
- **节熵分析**:计算 PE 节的熵,以识别打包、加密或压缩的节(熵 > 6.8)。
- **危险 API 分类**:将导入地址表 (IAT) 与预先映射的 Win32 API 目录进行审计,这些 API 常用于:
- 进程注入/内存操作(例如,`VirtualAllocEx`、`WriteProcessMemory`、`VirtualProtect`)
- 避免检测和沙盒检测(例如,`IsDebuggerPresent`、`Sleep` 时间绕过)
- 持久化和生成(例如,`CreateProcessW`、`ShellExecuteW`)
- **执行感知字符串提取**:扫描 PE 节中的 UTF-8 和 UTF-16 宽字符串,同时排除可执行节(具有内存执行特征),以消除来自原始汇编操作码的假阳性 URL/域名匹配。
### 🌐 抗噪声域/URL 过滤
- 严格的验证过滤掉常见的变量、编程命名空间、英文散文和常见的网络扩展,以确保仅报告合法的域和 URL。
- 抑制以 `www` 开头的短、两部分的域名(例如,`www.world`),这些域名在二进制反汇编中很常见。
## 入门指南
### 先决条件
您需要安装 Python 3。安装所需的解析库:
```
pip install androguard pefile loguru
```
### 安装
克隆存储库并导航到文件夹:
```
git clone https://github.com/rdxkeerthi/Malware-analysis-App-analysis-tool.git
cd Malware-analysis-App-analysis-tool
```
## 使用方法
您可以通过指定命令行参数或通过交互式运行脚本来运行分析器。
### 网络界面
运行 Streamlit 仪表板以进行文件上传工作流程和 JSON 查看器:
```
python -m streamlit run app.py
```
该界面允许您上传示例二进制文件、运行分析器并在浏览器中检查返回的威胁指标。
### 1. 命令行参数
运行分析器并将结果写入自定义输出路径:
```
# 在 Windows 上,使用 py 启动器运行:
py static_analyzer.py "C:\path\to\target_app.apk" -o report.json
```
### 2. 交互模式
如果您不带参数运行脚本,它将提示您输入二进制文件的路径:
```
py static_analyzer.py
```
```
Enter the path to the binary (APK/EXE/DLL): C:\path\to\unsafe_binary.exe
[+] Static analysis results successfully saved to: output.json
```
## 输出模式概述
生成的 JSON 报告包含:
- **`metadata`**:哈希值(MD5、SHA-256)、文件大小、文件类型和文件名。
- **`static_insights`**:
- `architecture_details`:平台元数据(例如,APK 的 SDK 级别、PE 的编译时间戳)。
- `structural_indicators`:组件计数(APK)或节熵分解(PE)。
- `extracted_dangerous_apis`:匹配风险模式的分类 API。
- `integrity_checks`:数字签名存在和头部校验和状态。
- `extracted_urls` & `extracted_domains`:验证过的互联网指标。
- `device_access_requested`:映射到风险描述的权限/API 的完整列表。
- **`threat_indicators`**:一个高级分类表,突出显示特定的中等、高和关键安全关注点。
- **`translation_flags`**:总结二进制能力的标准化标识符。
标签:Kubernetes, 安全专业人员, 开源情报, 自定义DNS解析器, 逆向工具