当前位置: 首页 > news >正文

Pipal密码分析工具的模块化检查器与分割器系统详解

检查器与分割器 - Pipal的模块化改造

这是关于新版模块化检查器和分割器系统的说明文档。由于开发尚未完成,系统可能还会调整,我将尽量保持本文档的同步更新。

您可以从GitHub仓库的modular分支获取新代码。对于这个模块化方案有任何疑问、建议或意见,请随时联系我。

检查器

检查器是Pipal最核心的组件,负责对密码执行分析操作。最初所有检查器都内嵌在主脚本中,导致维护困难和扩展障碍。现在它们被解耦为独立的模块化组件。

其配置方式类似于Apache在某些Linux发行版中处理虚拟主机的方式:

  • checkers_available目录存放所有可用检查器
  • checkers_enabled目录存放启用中的检查器

通过创建符号链接即可激活检查器。这种设计允许用户按需启用功能,例如不需要Hashcat掩码分析的用户可以节省处理器资源。虽然对小规模密码列表影响不大,但对海量数据处理时优势明显。

新版检查器的另一优势是易于扩展。以checkers_available/windows_complexity_checker.rb为例,仅需25行代码就能实现Windows默认复杂度规则的检查。要创建自定义规则,只需复制该文件、修改正则表达式、更新名称和描述文本,最后创建符号链接即可。

对于基于列表的检查更简单,参考15行代码的colour_checker.rb,只需提供名称、词表和描述即可自动生成检查器。

使用--list-checkers参数可查看所有可用检查器的简要说明。未来计划扩展该功能,支持显示每个检查器的详细说明文档。

分割器

当需要处理包含额外字段(如用户名)的密码文件时,分割器就派上用场了。默认情况下系统将每行视为独立密码,但自定义分割器可以识别密码和其他数据字段。

示例分割器pipe_pass_user.rb处理管道符分隔的文件格式(密码|用户名),其核心是一个包含静态方法split的类,该方法将每行拆分为密码和用户名:密码作为主返回值,用户名存入关联数组。目前只有username.rb检查器能处理这个附加字段,它会分析用户名与密码的关联性,其他检查器则自动忽略额外数据。

同一时间只能启用一个分割器,通过在主目录创建指向custom_splitter.rb的符号链接来激活指定分割器。
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
公众号二维码

http://www.wuyegushi.com/news/118.html

相关文章:

  • 练习224A. Parallelepiped
  • 动态规划从精通到入门
  • 树形DP-Part 1
  • TRVCOST - Travelling cost 题解
  • 第一天
  • 111
  • 10
  • 7.26 4
  • DAY22
  • 30天总结-第二十六天
  • 周末
  • foobar2000 v2.24.6 汉化版
  • 今天做什么
  • 20天
  • OI集训 Day10
  • 【leetcode刷题】动态规划 Part4 经典线性DP
  • linux快照工具 timeshift
  • 关于LCD屏幕硬件参数
  • 今日总结
  • 莫队二次离线 学习笔记
  • 运算符
  • 进度
  • 软工7.26
  • DMY集训记录
  • Idea 构建 jar包
  • 2025 暑期模拟赛题目选记
  • 7月26日随笔
  • Learn Learn IdaPython
  • 启发式算法解析:经典思想、代表人物与前沿融合