MrcVnz/BinaryLens

GitHub: MrcVnz/BinaryLens

一款基于 C++ 和 Qt 构建的 Windows 桌面安全筛查工具,整合文件分析、URL/IP 信誉查询与 YARA 匹配能力,帮助分析师在深入调查前快速获取初步信号。

Stars: 0 | Forks: 0

# BinaryLens

English Português (BR)

Windows C++ Qt 6 CMake MASM Active development

BinaryLens 是一款用于检查可疑**文件、URL 和 IP**的 Windows 桌面分类工具。 它使用 **C++** 构建,采用 **Qt 桌面 UI**,并包含用于底层匹配工作的**汇编辅助模式扫描**。其目标是快速提供有用的信号,使后续调查更加容易。 BinaryLens 并非旨在取代沙箱、EDR 或完全手动的逆向工程。它是一款初步筛查工具,同时也是一个实用项目,适合希望了解如何构建此类桌面安全工具的人员学习。 ## 项目网站

Project Website

## 下载 **当前版本:** `v1.2.0` 如果您只是想使用该应用程序,请前往 Releases 页面并选择适合您工作流程的包: - **安装版** → 推荐大多数用户使用 - **便携版** → 解压即用版本 发布文件: - `BinaryLens-Setup.exe` - `BinaryLens-Portable-v1.2.0.zip` 打包的发布版本已包含运行 BinaryLens 所需的可执行文件和 Qt 运行时文件。无需单独安装 Qt。 ### 发布类型 #### 安装版 普通最终用户的最佳选择。 - 安装并启动 - 无需手动配置 Qt - 旨在开箱即用 #### 便携版 如果您想要一个解压即用的包,这是最佳选择。 - 解压 `.zip` 文件 - 打开文件夹 - 运行 `BinaryLensQt.exe` 此处同样无需单独安装 Qt。

Portable Version Installer Version

## 演示 快速了解当前的桌面工作流程:

BinaryLens demo

## 目标受众 BinaryLens 主要面向: - 网络安全学生 - 逆向工程初学者 - 恶意软件分类学习者 - 对原生 Windows 安全工具开发感兴趣的开发者 - 想要学习实用 **C++ + Qt + MASM** 项目的人员 该项目最适合已经掌握基础编程并希望涉足 Windows 安全工具领域的学习者。 ## 功能特性 - 从桌面 UI 扫描本地文件、URL 和原始 IP 目标 - 将多个分析信号汇总到单一报告中 - 支持**文件分类**和 **URL / IP 背景分类** - 使用的检查包括: - 哈希生成 - PE 解析 - 导入检查 - 存档检查 - 嵌入 payload 检查 - 上下文感知的嵌入 payload 印证与信号可靠性校准 - 存档感知处理,使底层字节特征不会自动将干净的容器误报升级 - 脚本滥用指标 - 基于 YARA 的匹配 - 针对文件、URL 和原始 IP 信誉的 VirusTotal 查询(如适用) - 包含汇编支持的模式扫描,用于性能敏感的匹配工作 - 支持报告导出、IOC 导出、剪贴板复制和面向分析师的视图 ## 典型用例 您可以使用 BinaryLens 来: - 在进行深入分析前检查可疑文件 - 快速初步查看 URL 或 IP - 提取原始 IP 目标的提供商 / ASN / 所有权背景信息 - 导出报告和 IOC 以供后续工作使用 - 了解原生 Windows 分类工具的内部结构 ## 项目布局 ``` BinaryLens/ ├─ BinaryLens/ │ ├─ asm/ │ ├─ config/ │ ├─ include/ │ ├─ plugins/ │ ├─ rules/ │ └─ src/ │ ├─ analyzers/ │ ├─ asm/ │ ├─ core/ │ ├─ scanners/ │ └─ services/ ├─ qt_app/ │ ├─ include/ │ ├─ resources/ │ └─ src/ ├─ assets/ ├─ release_support/ ├─ CMakeLists.txt └─ .gitignore ``` ## 环境要求 - Windows 10 或 11 - Visual Studio 2022 或更高版本,并配备 C++ 桌面开发工具 - CMake 3.21+ - Qt 6(本项目基于 **Qt 6.10.2 msvc2022_64** 构建) - MASM / ml64(随 Visual Studio 一起安装) - Inno Setup 6(仅在您想自行生成安装程序时需要) ## 克隆仓库 使用 Git: ``` git clone https://github.com/MrcVnz/BinaryLens.git cd BinaryLens ``` 或者直接从 GitHub 下载项目的 ZIP 压缩包并在本地解压。 ## 构建 在 Visual Studio 中以 **CMake 项目**的形式打开项目根目录。 如果 Qt 未安装在此仓库使用的默认路径中,请在配置之前将 `CMAKE_PREFIX_PATH` 设置为您的 Qt 安装路径。 预期的默认 Qt 路径: ``` C:/Qt/6.10.2/msvc2022_64 ``` ### 构建步骤 1. 在 Visual Studio 中打开根文件夹 2. 让 CMake 配置项目 3. 构建 `BinaryLensQt` 目标 4. 运行生成的可执行文件 可以将项目配置为在构建后调用 `windeployqt`,以便将 Qt 运行时自动复制到可执行文件旁边。 ## 发布流程 该仓库现在包含用于生成以下两种 Windows 打包发布版本的支持文件: - **便携版** - **安装版** 实用文件: - `release_support/make_portable_release.bat` - `release_support/BinaryLens.iss` 典型流程: 1. 构建 `x64-Release` 2. 运行 `release_support/make_portable_release.bat` 3. 测试生成的 `BinaryLens-Portable` 文件夹 4. 将其压缩以作为便携版发布 5. 在 Inno Setup 中打开 `release_support/BinaryLens.iss` 并编译安装程序 ## VirusTotal 配置 有两种支持的方式来使用 VirusTotal 集成: ### 1. 预构建发布版 / 打包的可执行文件 对于打包的公开发布版,该应用程序是以终端用户无需手动设置 Qt 文件的方式进行分发的。 对于源码构建,VirusTotal 仍使用本地配置规则。 ### 2. 从源码构建 如果您克隆仓库并自行构建 BinaryLens,请在本地创建此文件: ``` BinaryLens/config/config.json ``` 您可以复制下面的示例文件并填入您自己的密钥: ``` BinaryLens/config/config.example.json ``` 预期格式: ``` { "virustotal_api_key": "PASTE_YOUR_VIRUSTOTAL_API_KEY_HERE" } ``` ## 备注 - 当前的桌面应用程序入口点是 **Qt** 前端。 - 仓库不应包含构建输出、已部署的 Qt DLL 或个人运行时密钥。 - BinaryLens 应被视为分类和学习工具,而不是判断某物是否为恶意的最终权威。 - 原始 IP 分析旨在提供上下文和分类指导,而非完整的互联网情报丰富化。 - 发布的二进制文件可以为普通用户打包,但如果您想自行检查或修改项目,源码构建仍然是更好的途径。 ## 为什么仓库采用这种结构 这个项目是分阶段发展的。核心分析代码、汇编工作和 Qt UI 被故意放在不同的区域,以便代码库更易于理解。 - `BinaryLens/src/core` 包含分析流程和裁决逻辑 - `BinaryLens/src/analyzers` 包含特定功能的分析模块 - `BinaryLens/src/services` 涵盖面向外部的辅助工具,例如 API 使用 - `BinaryLens/src/asm` 和 `BinaryLens/asm` 包含 C++ / MASM 桥接和底层例程 - `qt_app` 包含当前的桌面界面 - `release_support` 包含用于发布打包的辅助文件 ## 当前状态 BinaryLens 是一个个人项目。请预料到存在粗糙之处、实验性内容以及快速迭代。 如果您克隆了它,请将其视为一个真正的开发仓库,而不是一个已经完成的商业产品。 ## 创建者 GitHub: **MrcVnz**
标签:ASM辅助扫描, Bash脚本, C++, CMake, DAST, IP分析, MASM, Qt 6, Qt桌面UI, Triage工具, URL检测, Windows桌面工具, 二进制分析, 云安全运维, 威胁情报, 安全分析工具, 安全工具开发, 库, 应急响应, 开发者工具, 恶意软件分析, 数字取证, 数据擦除, 文件检查, 模式匹配, 汇编, 沙箱辅助, 特征扫描, 网络安全, 自动化脚本, 自动化资产收集, 隐私保护