前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何使用Duplicut对大型字典进行重复项剔除

如何使用Duplicut对大型字典进行重复项剔除

作者头像
FB客服
发布2021-07-02 11:16:14
1.2K0
发布2021-07-02 11:16:14
举报
文章被收录于专栏:FreeBuf

概述

现代密码字典在创建过程中通常会连接多个数据源,在理想情况下,最有可能成功的密码一般都位于字典列表的开头部分,这样才能够确保密码在最短的时间里被破解成功。

使用现有的消除重复数据的工具,还必须通过排序的方法来实现,这样就没办法确保可能性最大的密码排在前列了。

很不幸的是,字典的创建通常要求满足下列条件:

Duplicut这款工具可以帮助广大研究人员在不需要对字典密码排序的情况下,轻松剔除重复项,以实现更快速的基于字典的密码暴力破解。

功能介绍

处理大型字典,即使其大小超过了可用RAM; 通过定义最大长度过滤字典行(-l选项); 能够移除包含了不可打印ASCII字符的字典行(-p选项); 按下任意键即可显示程序运行时状态;

技术实现

Duplicut基于纯C语言开发,运行速度非常快; 在64位平台上压缩Hashmap; 多线程支持;

限制条件

长度超过255个字符的字典行将被忽略; 仅在Linux x64平台上进行了测试;

快速使用

代码语言:javascript
复制
git clone https://github.com/nil0x42/duplicut

cd duplicut/ && make

./duplicut wordlist.txt -o clean-wordlist.txt

功能选项

技术细节

内存优化

使用了uni64在Hashmap中实现快速索引:

大型文件处理

如果整个文件超过了内存大小,则会被切割为多个虚拟数据块,并单独进行测试:

问题处理

如果你发现程序运行过程中存在漏洞,或者报错的话,请在调试模式下编译Duplicut并查看输出:

代码语言:javascript
复制
# debug level can be from 1 to 4

make debug level=1

./duplicut [OPTIONS] 2>&1 | tee /tmp/duplicut-debug.log

项目地址:点击底部【阅读原文】获取

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-05-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
  • 功能介绍
  • 技术实现
  • 限制条件
  • 快速使用
  • 功能选项
  • 技术细节
    • 内存优化
      • 大型文件处理
      • 问题处理
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档