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解析器, 逆向工具