Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
duplicut — Remova duplicatas de listas de palavras MASSIVAS, sem ordená-las (para quebra de senhas baseada em dicionário) | Kitploit
Ferramentas/GitHubGitHub/nil0x42/duplicut
Utilitários de Propósito GeralQuebra de SenhasUtilitários e Frameworks
GitHubnil0x42/duplicut

duplicut

Remova duplicatas de listas de palavras MASSIVAS, sem ordená-las (para quebra de senhas baseada em dicionário)

Ver Repositório
9809622há 10 mesesRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Duplicut :scissors:

Rapidamente deduplicar wordlists massivas, sem alterar a ordem tweet


github tests codacy code quality github codeql codecov coverage

Mentioned in awesome-pentest

Criado por nil0x42 e colaboradores


📖 Visão Geral

Atualmente, a criação de wordlists de senhas geralmente implica em concatenar múltiplas fontes de dados.

Idealmente, as senhas mais prováveis devem estar no início da wordlist, para que as senhas mais comuns sejam descobertas instantaneamente.

Com as ferramentas de deduplicação existentes, você é forçado a escolher se prefere preservar a ordem OU lidar com wordlists massivas.

Infelizmente, a criação de wordlists requer ambos

Então escrevi o duplicut em C altamente otimizado para atender a essa necessidade muito específica 🤓 💻



💡 Início rápido

git clone https://github.com/nil0x42/duplicut  # download ...
cd duplicut/ && make                           # compile ...
./duplicut wordlist.txt -o clean-wordlist.txt  # dedupe !!!

🔧 Opções

-o, --outfile <FILE>       Write result to <FILE>
-t, --threads <NUM>        Max threads to use (default max)
-m, --memlimit <VALUE>     Limit max used memory (default max)
-l, --line-max-size <NUM>  Max line size (default 1024, max 4095)
-p, --printable            Filter ascii printable lines
-c, --lowercase            Convert wordlist to lowercase
-C, --uppercase            Convert wordlist to uppercase
-D, --dupfile <FILE>       Write dupes to <FILE> (slows down duplicut)
-h, --help                 Display this help and exit
-v, --version              Output version information and exit
  • Funcionalidades:

    • Lidar com wordlists massivas, mesmo aquelas cujo tamanho excede a RAM disponível
    • Filtrar linhas por comprimento máximo (opção --line-max-size)
    • Filtrar linhas com caracteres ASCII não imprimíveis (opção --printable)
    • Salvar duplicatas encontradas em outro arquivo (opção --dupfile)
    • Ignorar maiúsculas/minúsculas com as opções --lowercase ou --uppercase
    • Exibe uma barra de progresso com ETA
  • Implementação:

    • Escrito em código C puro, projetado para ser rápido
    • Itens de hashmap comprimidos em plataformas de 64 bits
    • Suporte a multithreading
  • Limitações:

    • --line-max-size não pode exceder 4095

📖 Detalhes Técnicos

🔸 1- Otimizado para memória:

Um uint64 é suficiente para indexar linhas no hashmap, empacotando a informação de size dentro dos bits extras do ponteiro:

🔸 2- Manipulação de arquivos massivos:

Se o arquivo inteiro não couber na memória, ele é dividido em chunks virtuais, de forma que cada chunk use o máximo de RAM possível.

Cada chunk é então carregado no hashmap, deduplicado e testado contra os chunks subsequentes.

Dessa forma, o tempo de execução diminui para no máximo o número triangular :

💡 Solução de problemas

Se você encontrar um bug, ou algo não funcionar como esperado, por favor compile o duplicut em modo de depuração e poste uma issue com a saída anexada:

# debug level can be from 1 to 4
make debug level=1
./duplicut [OPTIONS] 2>&1 | tee /tmp/duplicut-debug.log
Baixar ferramenta