Skip to content

zcmwlaq/gui_yara_scanner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

YARA GUI Scanner

一个基于 Tkinter 的图形化 YARA 扫描工具,支持加载单个规则文件或规则目录,对文件、文件夹以及 Windows 进程内存进行扫描,并可将命中结果导出为 CSV 或 Excel 文件。

功能特性

  • 加载 .yar / .yara 规则文件
  • 递归加载规则目录
  • 扫描单个或多个文件
  • 扫描文件夹内的文件
  • 扫描 Windows 进程内存
  • 可选仅扫描可执行内存页
  • 支持扫描超时和文件扫描线程数配置
  • 支持结果筛选、排序、复制
  • 支持导出 CSV 和 Excel .xlsx

运行环境

  • Windows 10/11
  • Python 3.10 或更高版本
  • Tkinter,通常随 Python 官方安装包自带
  • yara-python
  • psutil

如果需要扫描其他进程内存,建议以管理员身份运行终端或 Python 解释器,否则部分进程可能因为权限不足无法读取。

安装依赖

在项目目录中执行:

python -m pip install -r requirements.txt

如果安装或运行时提示 libyara.dll 缺失,优先尝试重新安装 yara-python

python -m pip uninstall yara
python -m pip install --upgrade --force-reinstall yara-python

如果仍然提示 DLL 问题,可以下载与系统位数匹配的 Windows YARA release,把 libyara.dll 放到 gui_yara_scanner.py 同目录,或者放到 Python 的 DLLs 目录。

启动工具

python gui_yara_scanner.py

启动后会进入图形界面。

主界面截图

使用说明

1. 加载 YARA 规则

点击左侧的「加载规则文件」选择单个 .yar.yara 文件,或者点击「加载规则目录」选择包含规则的目录。目录加载会递归查找规则文件。

加载规则截图

规则加载成功后,左侧会显示已解析出的规则数量和规则列表。

2. 选择扫描目标

工具支持两种扫描模式:

  • 文件扫描:选择文件或文件夹作为扫描目标
  • 进程内存:刷新进程列表后,选择需要扫描的进程

文件扫描模式下,点击「选择文件」或「选择文件夹」添加目标。

文件扫描目标截图

进程内存模式下,点击「刷新进程」,选择进程后点击「添加选中进程」。如果扫描系统进程或高权限进程,请以管理员身份运行。

进程扫描目标截图

3. 配置扫描选项

可以根据需要调整:

  • 扫描超时时间
  • 文件扫描线程数
  • 是否仅扫描可执行内存页

内存扫描时启用「仅扫描可执行页」可以减少扫描范围,适合排查代码注入、内存马、Beacon 等场景。

扫描选项截图

4. 开始扫描

确认规则和目标都已添加后,点击「开始扫描」。扫描过程中底部会显示进度、耗时和日志。

扫描过程截图

5. 查看和筛选结果

扫描结果会显示在右侧表格中,包含目标类型、目标路径或进程、规则文件、命中规则、特征标识、命中特征、位置类型和偏移地址。

可以使用筛选框按关键字过滤结果,也可以点击表头进行排序。

扫描结果截图

6. 导出结果

点击右上角「导出 CSV」或「导出 Excel」保存扫描结果。

导出结果截图

截图文件说明

README 中已经预留以下图片路径。上传到 GitHub 前,把你自己的截图放入 images/ 目录,并使用下面这些文件名即可自动显示:

  • images/main-window.png
  • images/load-rules.png
  • images/file-targets.png
  • images/process-targets.png
  • images/scan-options.png
  • images/scanning.png
  • images/results.png
  • images/export-results.png

如果你想使用其他文件名,请同步修改 README 中对应的图片链接。

项目结构

.
├── gui_yara_scanner.py
├── requirements.txt
├── README.md
├── images/
│   └── .gitkeep
└── yaraify-rules/

常见问题

运行时报 No module named yara

说明依赖未安装或安装到了其他 Python 环境中。请确认当前终端使用的是正确的 Python:

python --version
python -m pip install -r requirements.txt

误装了 yara 包怎么办

Python 里常用的是 yara-python。如果误装了 yara,请卸载后重装:

python -m pip uninstall yara
python -m pip install --upgrade --force-reinstall yara-python

进程内存扫描失败

常见原因是权限不足、目标进程退出、或系统保护机制阻止读取。可以尝试:

  • 以管理员身份运行终端
  • 重新刷新进程列表
  • 只选择需要排查的进程
  • 启用「仅扫描可执行页」

注意事项

本工具仅用于授权的安全检测、规则验证和应急排查。请不要在未授权的设备或环境中扫描文件或进程内存。

About

yara规则扫描器

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors