Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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
dwipe — Ferramenta para limpar dispositivos e partições de forma segura e eficiente para Linux | Kitploit
Ferramentas/GitHubGitHub/joedefen/dwipe
Utilitários de Propósito GeralFerramentas de Criptografia/DescriptografiaAnálise ForenseRecuperação de DadosSegurança de HardwareUtilitários e Frameworks
GitHubjoedefen/dwipe

dwipe

Ferramenta para limpar dispositivos e partições de forma segura e eficiente para Linux

Ver Repositório
16410há 6 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

dwipe

dwipe é uma ferramenta para limpar discos e partições no Linux para ajudar a proteger seus dados. dwipe visa reduzir erros fornecendo informações amplas sobre seus dispositivos durante a seleção.

Demonstração do dwipe

Comparação Rápida

Funcionalidadedwipenwipeshreddd
Limpezas de firmware (apagamento seguro SATA/NVMe)✓✗✗✗
Limpezas por software (Zero, Pseudo Aleatório)✓✓✓✗
TUI interativa✓✓✗✗
Múltiplas limpezas simultâneas✓✗✗✗
Estado de limpeza persistente✓✗✗✗
Detecção/liberação hot-swap✓✗✗✗
Bloqueio de dispositivo/partição✓✗✗✗
Retomar limpezas por software interrompidas✓✗✗✗
Registro de operações de limpeza✓✗✗✗
Detecção/prevenção de montagem✓✓✗✗
Verificação rápida por amostragem estatística✓✗✗✗
Destruição certificada (padrões DoD/Gutmann, verificação completa, certificados)✗✓✗✗
  • Limpezas de firmware (SATA/NVMe) são as mais completas e rápidas: Apagamento acelerado por hardware opera no nível do controlador (segundos a minutos), limpa todos os mapeamentos da unidade, mas requer apagamento do dispositivo inteiro sem relatório de progresso ou verificação visível.
  • Limpezas por software com uma passagem de zeros são suficientes: Unidades modernas (pós-2001) são limpas de forma confiável com uma única passagem de zeros (NIST SP 800-88). Modos de múltiplas passagens estão disponíveis para confiança adicional, mas não fornecem garantia de segurança extra.
  • A verificação usa amostragem estatística inteligente: Mesmo 1% de amostras de verificação em todo o disco via 100 seções, fornecendo cobertura abrangente sem leitura sequencial completa.

Principais Funcionalidades

  • TUI interativa com detecção hot-swap - Atualizações em tempo real da lista de dispositivos conforme o armazenamento muda, dispositivos recém-adicionados marcados com ^
  • Limpezas de firmware aceleradas por hardware - Suporte total para operações de apagamento seguro a nível de firmware (Sanitize/Format NVMe, ATA Security Erase SATA) que são concluídas em segundos a minutos em vez de horas
  • Múltiplas limpezas simultâneas - Inicie limpezas em vários dispositivos ao mesmo tempo com acompanhamento individual de progresso e estados de conclusão
  • Rastreamento de estado persistente - O status da limpeza sobrevive a reinicializações; estados parcialmente limpos e concluídos persistem no dispositivo (pode retomar limpezas entre ciclos de energia)
  • Identificação inteligente de dispositivos - Usa números UUID/PARTUUID/serial para rastreamento estável de dispositivos após reconexões
  • Proteções de segurança - Impede a limpeza de dispositivos montados, detecta limpezas sobrepostas, suporta bloqueio de dispositivos, prompts de confirmação inline
  • Verificação inteligente com amostragem estatística - Verificação rápida que cobre o disco inteiro mesmo em baixas porcentagens (1% de verificação amostra de todas as 100 seções do disco)
  • E/S direta para o disco - Limpeza rápida e eficiente que evita poluição do cache de página com detecção automática de lentidão/parada e aborto gracioso
  • Múltiplos temas de cores - Temas de cores do terminal projetados para legibilidade com feedback visual sensível ao contexto (dispositivos montados escurecidos, limpezas ativas brilhantes)
  • Histórico de limpeza com registro - Visualizador detalhado do histórico de limpeza mostrando timestamps, sistemas de arquivos, rótulos e percentuais de conclusão com registros persistentes

Requisitos

  • Sistema operacional Linux (usa interfaces /dev/, /sys/, /proc/)
  • Python 3.10 ou superior
  • Privilégios root/sudo (solicitados automaticamente ao executar a ferramenta)
  • Utilitário lsblk (geralmente pré-instalado na maioria das distribuições Linux)
  • nvme-cli - Para operações NVMe (detecção de Sanitize/Format)
  • hdparm - Para operações SATA (detecção de ATA Security Erase)

Opcional (para copiar para a área de transferência na tela de histórico):

  • xclip ou xsel - Para área de transferência X11 (apt install xclip ou xsel)
  • wl-clipboard - Para área de transferência Wayland (apt install wl-clipboard)
  • Sessões SSH usam o escape de terminal OSC 52 (nenhum pacote extra necessário)

Instalação

  • Recomendado (usando pipx): pipx install dwipe
  • Verificar instalação: dwipe --help
  • Desinstalar: pipx uninstall dwipe

Início Rápido (por favor, LEIA ISTO, pelo menos)

  1. Instale dwipe
  2. Execute dwipe a partir de um terminal (sudo será solicitado automaticamente)
  3. Observe a ajuda sensível ao contexto na primeira linha
  4. Navegue com as teclas de seta ou teclas estilo vi (j/k)
  5. Pressione ? para a tela de ajuda completa
  6. Quando pressionar w para limpar uma unidade, você deve digitar a abreviação (ex.: Rand, Zero, Crypto); as limpezas são apresentadas da menos para a mais recomendada, e a última é marcada com *. Normalmente, escolha a última opção, mas ...
  7. Unidades e o SO frequentemente mentem sobre o tipo de unidade. Engane ambos:
    • Para HDDs giratórios, sempre use Rand ou Zero (interruptível, mostra progresso).
    • Para SSDs, sempre use limpezas de firmware se disponíveis (mais rápidas, alcança blocos ocultos).
  8. Se uma unidade estiver 'Congelada', suspenda seu sistema brevemente e retome; dwipe detecta automaticamente a retomada e reexamina. Ou pressione para reexaminar manualmente. A unidade deve voltar descongelada.

Funcionalidades

dwipe fornece capacidades abrangentes de limpeza de disco com recursos de segurança:

  • Exibição inteligente de dispositivos - Mostra discos e partições com rótulos, tamanhos, tipos e informações de fornecedor/modelo para ajudar a identificar dispositivos corretamente
  • Proteções de segurança - Impede a limpeza de dispositivos montados, detecta limpezas sobrepostas, suporta bloqueio manual de discos
  • Detecção hot-swap - Atualiza a lista de dispositivos quando o armazenamento muda; dispositivos recém-adicionados são marcados com ^ para facilitar a visualização
  • Múltiplas limpezas simultâneas - Inicie limpezas em vários dispositivos ao mesmo tempo, com acompanhamento individual de progresso e estados de conclusão
  • Modos de limpeza flexíveis - Escolha entre Rand, Zero, Rand+V (com verificação automática) ou Zero+V (com verificação automática)
  • Filtragem de dispositivos - Filtre dispositivos por nome/padrão usando regex em caso de muitos para uma tela
  • Capacidade de parar - Pare limpezas individuais ou todas as limpezas em andamento
  • Bloqueio de disco - Bloqueie discos manualmente para evitar limpeza acidental (bloquear oculta todas as partições)

Nota: dwipe mostra rótulos do sistema de arquivos e, se não disponível, o rótulo da partição. É uma boa prática rotular partições e sistemas de arquivos bem para facilitar a seleção.

Uso

Simplesmente execute dwipe a partir da linha de comando sem argumentos: dwipe

Opções de Linha de Comando

Nota: Todas as opções de preferência usam seus últimos valores salvos como padrões. Esses padrões são mostrados em --help e podem ser alterados interativamente com atalhos de teclado. Os argumentos da linha de comando substituem as preferências salvas.

Configuração de Limpeza

  • --mode {-V,+V} - Modo de verificação (padrão: sua última preferência)
    • -V - Limpar sem verificação automática
    • +V - Verificar dispositivo após conclusão da limpeza
  • --passes {1,2,4} - Número de passagens para limpezas por software (padrão: sua última preferência)
    • Passagem única (1) é padrão para a maioria dos casos de uso
    • Múltiplas passagens (2 ou 4) alternam entre padrões zero e aleatório
  • --verify-pct {1,3,10,30,100} - Percentual de verificação (padrão: sua última preferência)
    • Percentual do disco a ser verificado após a limpeza (1% = verificação rápida, 100% = verificação completa)

Exibição e Desempenho

  • --dense {True,False} - Modo de exibição compacto (padrão: sua última preferência)
    • True - Espaçamento compacto (menos linhas em branco entre discos)
    • False - Exibição espaçada (linhas em branco entre discos para legibilidade)
  • --port-serial {Auto,On,Off} - Exibição de porta/serial do disco (padrão: sua última preferência)
    • Auto - Mostrar porta/serial apenas para discos inteiros (recomendado)
    • On - Mostrar sempre porta e número de série
    • Off - Nunca mostrar porta e número de série

Ajuste de Manuseio de Unidade

  • --slowdown-stop {0,4,16,64,256} - Parar se o disco desacelerar (padrão: sua última preferência, milissegundos)
    • 0 = Desabilitado
    • Outros valores = Intervalo de verificação em milissegundos para degradação de desempenho
  • --stall-timeout {0,60,120,300,600} - Tempo limite de parada em segundos (padrão: sua última preferência)
    • 0 = Desabilitado (nunca expirar)
    • Outros valores = Parar limpeza se não houver progresso de transferência de dados por esses segundos

Opções Avançadas

  • --firmware-wipes ou -F - Habilitar limpezas de firmware
    • Permite operações de apagamento seguro baseadas em hardware (NVMe Sanitize/Format, SATA ATA Security Erase)
    • Sem esta flag, apenas limpezas por software (Zero/Rand) estão disponíveis
  • --dump-lsblk - Despejar informações do dispositivo analisadas e sair (para depuração)
  • --help - Mostrar mensagem de ajuda com todas as opções disponíveis

Legenda de Cores

dwipe usa codificação de cores para fornecer feedback visual instantâneo sobre o estado do dispositivo e da operação:

  • Atenuado (cinza) - Dispositivos montados ou bloqueados (não podem ser limpos)
  • Padrão (branco) - Pronto para limpar, estado ocioso, ou previamente limpo (antes desta sessão)
  • Ciano/azul brilhante + negrito - Limpeza ou verificação ativa em andamento (0-100% gravação, v0-v100% verificação)
  • Amarelo negrito - Limpeza interrompida ou parcialmente concluída
  • Verde negrito - ✅ Limpeza concluída com sucesso NESTA sessão (pronto para trocar!)
  • Verde mais escuro - ✅ Limpeza concluída com sucesso em sessão anterior.
  • Laranja negrito - Dispositivo recém-inserido (hot-swap)
  • Vermelho negrito - Prompts de operação destrutiva (confirmação de limpeza)

Temas de Cores

dwipe suporta múltiplos temas de cores para melhor visibilidade e estética.

Temas disponíveis:

  • default - Padrão do Terminal (cores ANSI básicas)
  • dark-mono - Mono Escuro (quase-branco em quase-preto com cores brilhantes)
  • light-mono - Mono Claro (quase-preto em quase-branco com cores brilhantes)
  • solarized-dark - Paleta Solarized Escura
  • solarized-light - Paleta Solarized Clara (para fundos de terminal claros)
  • gruvbox - Paleta Gruvbox Escura
  • nord - Paleta Nord

Alterando temas:

  • Pressione t na tela principal para abrir a tela de pré-visualização de temas
  • A tela de temas mostra exemplos de cores para cada propósito de cor (PERIGO, SUCESSO, AVISO, etc.)
  • Pressione t enquanto na tela de temas para alternar entre os temas disponíveis e visualizá-los ao vivo
  • Pressione ESC ou ENTER para retornar à tela principal
  • O tema selecionado é salvo e persiste entre sessões

Recursos do tema:

  • Cor amarela/aviso para limpezas interrompidas (estado s) - altamente visível mesmo quando não selecionado
  • Cor vermelha/perigo para prompts de confirmação de limpeza
  • Paletas de cores coordenadas projetadas para legibilidade no terminal

Valores de Estado do Dispositivo

A coluna ESTADO mostra o status atual de cada dispositivo:

Ações Disponíveis

A linha superior mostra as ações disponíveis. Algumas são sensíveis ao contexto (disponíveis apenas para certos dispositivos):

Tela de Histórico

Pressione h para visualizar o registro do histórico de limpeza. A tela de histórico mostra todas as operações de limpeza e verificação com timestamps, informações do dispositivo e resultados.

Ações da tela de histórico:

  • e - Expandir/recolher entrada para mostrar detalhes JSON completos
  • c - Copiar entrada atual para a área de transferência (veja abaixo)
  • / - Pesquisar/filtrar entradas (prefixar com / para pesquisa JSON profunda)
  • a - Alternar formato de hora (atrás+hora, atrás, hora)
  • ESC - Retornar à tela principal

Métodos de cópia para área de transferência (detectados automaticamente):

Nota: Se o OSC 52 não funcionar com seu terminal, o texto ainda aparece na tela para seleção manual. Para tmux, habilite a área de transferência com set -g set-clipboard on no seu .tmux.conf.

Tipos de Limpeza

dwipe suporta limpezas de firmware (aceleradas por hardware) e limpezas por software. Limpezas de firmware requerem a flag --firmware-wipes ou -F. As tabelas abaixo listam os métodos de limpeza do mais desejável (Rank 1) ao menos.

Unidades NVMe

SSDs SATA (com recursos criptográficos/sanitize)

HDDs SATA (unidades giratórias)

Nota: HDDs não possuem nivelamento de desgaste ou blocos ocultos, então limpezas por software são igualmente completas que limpezas de firmware, mas oferecem melhor controle (progresso, pausa/retomada, interruptibilidade).

Partições e Unidades USB/Pen Drives

RankAbrevNome OficialObservações
1RandSoftware Random WritePreferido; padrão imprevisível; verificação estatística
2ZeroSoftware Zero WriteMais simples; verificação rápida (falha no primeiro byte não zero)

Notas:

  • Limpezas de firmware mostram apenas métodos suportados por cada unidade (veja coluna FwCAPS).
  • Limpezas de firmware incluem verificação automática spotcheck.
  • O sufixo +V habilita verificação automática após limpezas por software. Sem +V, pressione v para verificar manualmente.
  • Limpezas por software de múltiplas passagens (2 ou 4) alternam padrões zero/aleatório, terminando no seu modo selecionado.
  • Unidades USB e partições carecem de apagamento de firmware—apenas limpezas por software disponíveis.

Retomando LIMPEZAS POR SOFTWARE Interrompidas

Limpezas interrompidas (estado s) podem ser retomadas pressionando w no dispositivo. Escolha o mesmo tipo de limpeza ou recomeçará de 0%.

Como a Retomada Funciona:

  • Preserva o modo de limpeza original (Rand ou Zero) de quando a limpeza foi iniciada
  • Usa a configuração atual de passagens para determinar quanto mais escrever
  • Continua do deslocamento exato de byte onde parou (arredondado para o limite do buffer). "Marcas" são escritas a cada ~30s, então para limpezas não finalizadas de forma graciosa, a posição pode ser de até 30s (ou um pouco mais) dos últimos blocos de disco limpos.

Exemplos de Retomada:

Benefícios:

  • Altere a configuração de passagens antes de retomar para terminar mais rápido (reduzir) ou adicionar mais passagens (aumentar)
  • Não precisa recomeçar do início
  • Marcador de progresso atualizado a cada 30 segundos, então a retomada funciona mesmo após falhas ou perda de energia
  • Validação automática previne padrões finais corrompidos

Estratégia de Verificação de Limpeza por Software

Limpezas por software usam verificação inteligente com análise estatística e otimizações de falha rápida. A verificação é configurável e opcional.

Amostragem Inteligente:

  • Divide o disco em 100 seções iguais
  • Amostra aleatoriamente uma porcentagem configurável (1%, 3%, 10%, 30%, 100%) de CADA seção
  • Garante cobertura completa do disco mesmo com 1% de verificação
  • Defina o percentual de verificação com a opção de linha de comando --verify-pct (salva como preferência)

Detecção de Padrão:

  • Verificação zero: Falha imediatamente no primeiro byte não zero (rápido!)
  • Verificação aleatória: Análise estatística da distribuição de bytes
    • Testa se a distribuição de bytes é uniforme (todos os valores de byte 0-255 aparecem razoavelmente igualmente)
    • Falha rapidamente periodicamente se um padrão não aleatório for detectado
    • Verifica evidências de aleatoriedade para distinguir de dados estruturados

Modos de Verificação:

  1. Verificação automática (após limpeza): Use um modo com sufixo +V (Rand+V ou Zero+V) e defina a verificação % > 0
  2. Verificação manual (pressione v): Verifique dispositivos previamente limpos ou detecte padrão em discos não marcados (requer verificação % > 0)
  3. Detecção de disco não marcado: Pode verificar discos sem sistema de arquivos para detectar se são todos zeros ou aleatórios
    • Se passar, escreve marcador como se o disco tivesse sido limpo
    • Útil para detectar unidades pré-limpos ou verificar apagamento do fabricanteEstados de Verificação:
  • ✓ (marca verde) - Verificação aprovada
  • ✗ (X vermelho) - Verificação falhou
  • Sem símbolo - Não verificado
  • Durante a verificação: vN% mostra o progresso (v0% a v100%)

Por que a amostragem estatística é melhor que a sequencial:

  • Amostragem estatística com 100 seções fornece melhor cobertura que leitura sequencial na mesma porcentagem
  • Detecta problemas mais rápido (pode encontrar setor defeituoso nas seções iniciais)
  • A análise estatística realmente valida a aleatoriedade (sequencial não consegue fazer isso)
  • Muito mais rápido que verificação sequencial 100%

Estratégia de Verificação de Limpeza de Firmware

Limpezas de firmware (apagamento seguro SATA/NVMe) usam uma verificação de verificação aleatória incondicional que é realizada automaticamente para todas as limpezas de firmware. Isso verifica se o comando de apagamento de hardware realmente foi executado.

Abordagem de Verificação Aleatória:

  • Antes da limpeza: Escrever blocos de dados de teste em três locais estratégicos (início, meio, final do disco)
  • Executar o comando de apagamento de firmware no nível do controlador
  • Após a limpeza: Ler esses três locais de teste e verificar se eles não contêm mais os dados originais
  • Se algum bloco de teste ainda contém dados semelhantes, o apagamento falhou e é relatado

Por que as Verificações Aleatórias São Eficazes:

  • Comprova que o apagamento interno do disco realmente foi processado (não apenas um reconhecimento de comando)
  • Estratégia de três locais (0%, 50%, 100% do disco) garante cobertura em todo o dispositivo
  • Captura bugs de firmware ou falhas de hardware que podem alegar sucesso mas não fazer nada
  • Muito mais rápido que verificação sequencial (apenas 3 blocos lidos em vez de porcentagem do disco inteiro)
  • Obrigatório e incondicional: Nenhuma configuração do usuário ou etapa de verificação adicional necessária

Nota Importante: Limpezas de firmware não mostram verificação baseada em porcentagem como as limpezas de software. A verificação aleatória ocorre silenciosamente como parte da operação de limpeza, e o sucesso/falha é registrado no marcador de estado de limpeza persistente.

Informações de Progresso

Ao limpar um dispositivo por software, dwipe exibe:

  • Tempo decorrido - Tempo desde o início da limpeza (ex., 1m18s)
  • Tempo restante - Tempo estimado para conclusão (ex., -3m6s)
  • Taxa de gravação - Taxa de transferência atual (ex., "45.2MB/s")
  • MaxSlowDown - Razão entre a velocidade de gravação mais rápida e mais lenta (ex., ÷2). Se ultrapassar o limite, o trabalho de gravação é interrompido.
  • MaxWriteDelay - Maior atraso de gravação detectado (ex., 𝚫122ms). Se ultrapassar o limite, o trabalho de gravação é interrompido.

Estado Persistente

Os estados W (limpo) e s (parcialmente limpo) são persistentes entre reinicializações. Isso é alcançado escrevendo metadados nos primeiros 16KB do dispositivo:

  • Primeiros 15KB: zeros
  • Próximo 1KB: metadados JSON (timestamp, bytes escritos, tamanho total, modo, status de verificação)

Quando um dispositivo com estado persistente é exibido, informações adicionais mostram:

  • Quando foi limpo e a porcentagem de conclusão
  • Status de verificação: ✓ (aprovado), ✗ (falhou), ou sem símbolo (não verificado)

A Tela de Ajuda

Quando ? é digitado, você pode ver as teclas disponíveis e as opções de linha de comando com suas configurações atuais.

Navegação

Você pode navegar pela lista de dispositivos usando:

  • Teclas de seta - Cima/Baixo para mover pela lista
  • Teclas estilo Vi - j (baixo), k (cima), g (topo), G (fundo)
  • Page Up/Down - Navegação rápida por listas longas

Filtragem de Dispositivos

A tecla / ativa a filtragem de pesquisa incremental com comportamento estilo vim:

Como funciona:

  • Pressione / para iniciar a filtragem
  • Digite seu padrão regex - a lista de dispositivos é atualizada enquanto você digita (filtragem em tempo real)
  • Sua posição do cursor é mostrada com | no cabeçalho
  • Teclas de seta, Home/End e Backspace funcionam para edição
  • ENTER para aceitar o filtro
  • ESC para cancelar e restaurar o filtro anterior

Exemplos de Filtro:

O filtro suporta padrões regex. Aqui estão alguns exemplos úteis:

**```` /sda # Show only sda and its partitions /sd[ab] # Show sda, sdb and their partitions /nvme # Show all NVMe devices /nvme0n1p[12] # Show only partitions 1 and 2 of nvme0n1 /usb # Show devices with "usb" in their labels

root@kitploit:~
Prima **ESC** na tela principal para limpar o filtro e voltar a mostrar todos os dispositivos.

**Nota:** Padrões regex inválidos são ignorados – o filtro permanece no último padrão válido enquanto você digita.

## Considerações de Segurança

**Limitações importantes de limpezas via software:**

- `dwipe` suporta limpeza com múltiplas passagens e padrões alternados, mas não implementa sequências de padrões certificadas DoD 5220.22-M ou Gutmann
- Mais do que adequado para **dados pessoais e empresariais** que não exigem destruição certificada (obsoleta)
- **NÃO adequado para** dados classificados, ultrassecretos ou altamente sensíveis que exijam limpeza com padrões específicos certificados e certificados de conformidade
- **Considerações sobre SSDs**:
  - SSDs modernos usam nivelamento de desgaste e podem reter dados em blocos não mapeados
  - TRIM/DISCARD pode impedir a eliminação completa dos dados
  - Para SSDs, considere as utilidades de eliminação segura do fabricante para máxima segurança
  - O modo aleatório pode não fornecer segurança adicional em relação a zeros em SSDs

**Boas práticas:**
- Verifique cuidadosamente os rótulos e tamanhos dos dispositivos antes de limpar
- Utilize o recurso **Bloco** para proteger discos críticos
- Considere a criptografia para dados sensíveis como medida de segurança primária

---
---

## Resolução de Problemas

### dwipe não inicia
- **Erro: "cannot find lsblk on $PATH"** - Instale o pacote `util-linux`
- **Permissão negada** - `dwipe` solicita sudo automaticamente; certifique-se de que pode usar sudo

### Problemas de exibição no terminal
- **Exibição corrompida após falha** - Execute o comando `reset` ou `stty sane`
- **As cores não funcionam** - Certifique-se de que seu terminal suporta cores (a maioria dos terminais modernos suporta)

### Problemas de limpeza
- **Não é possível limpar um dispositivo** - Verifique a coluna STATE:
  - **Mnt** - Desmonte a partição primeiro: `sudo umount /dev/sdXN`
  - **Blk** - Pressione **b** para desbloquear
  - **Busy** - Outra partição no disco está sendo limpa
- **A limpeza está muito lenta** - Normal para unidades grandes; verifique a taxa de gravação para acompanhar o progresso
- **A limpeza parece travada** - Provavelmente devido a discos defeituosos; I/O direto torna o progresso quase constante em discos bons.

---
### Considerações sobre Limpeza de Firmware

Limpezas de firmware (operações de eliminação segura SATA/NVMe) têm características diferentes das limpezas via software:

**Unidades Congeladas:**
- Unidades SATA são tipicamente congeladas pela BIOS/UEFI durante o POST como medida de segurança
- Isto é um recurso de segurança a nível da unidade, não uma limitação do `dwipe`
- **Solução**: Suspenda o seu sistema brevemente e retome; o `dwipe` deteta automaticamente a retoma e reanalisa (ou pressione **r** manualmente). A suspensão/retoma cicla a ligação SATA, o que descongela a unidade.
- Se a unidade permanecer congelada após suspensão/retoma, tente um desligamento completo (10+ minutos para descarregar os condensadores da unidade) seguido de inicialização e reanálise

**Peculiaridades e Compatibilidade de Dispositivos:**
- Os dispositivos de armazenamento têm várias implementações de firmware e peculiaridades de hardware que afetam as operações de eliminação segura
- Algumas unidades podem não suportar totalmente certas operações de sanitização, ter problemas de temporização ou apresentar comportamento inesperado
- O `dwipe` não pode garantir que todos os dispositivos sejam limpos com sucesso—alguns hardwares simplesmente podem não cooperar com os comandos de eliminação
- Sempre verifique uma unidade após a limpeza (use a tecla **v**) para confirmar que a eliminação realmente foi concluída
- Para destruição de dados críticos em hardwares peculiares, considere usar ferramentas de eliminação segura específicas do fabricante como alternativa

---
### Lidando com Discos Defeituosos ou com Falhas

O dwipe inclui proteções embutidas para dispositivos de armazenamento problemáticos:

**Tratamento Automático de Erros.** Ao encontrar erros de disco durante a limpeza:
*   Erros consecutivos de escrita: A limpeza é interrompida após 3 falhas consecutivas de escrita
*   Limiar total de erros: A limpeza é interrompida após 100 erros totais de escrita
*   Repetição automática: Em caso de falha de escrita, o dispositivo é automaticamente fechado e reaberto (recuperação de erros transitórios)
*   Recuperação de descritor de ficheiro: Estados de FD inválidos são detetados e os handles são atualizados

**Deteção de Paragem e Lentidão.** O dwipe monitoriza o desempenho de escrita e pode abortar operações problemáticas:
*   Deteção de paragem: Aborta se não houver progresso durante 5 minutos (configurável)
*   Deteção de lentidão: Mede a velocidade base durante os primeiros 5 segundos, aborta se a velocidade cair abaixo do limiar (ex.: 1/4 da base)
*   Acompanhamento de progresso: Monitorização contínua garante que as escritas estão realmente a chegar ao dispositivo

**Se uma Limpeza Ficar Travada...** Se uma limpeza parecer congelada ou sem resposta:
*   Primeira tentativa: Pressione s para parar graciosamente a limpeza selecionada
*   Aguarde pacientemente: Algumas operações de disco podem levar minutos para atingir o timeout no nível do kernel
*   Se ainda estiver travado: Pressione S (Shift+s) para parar TODAS as limpezas
*   Último recurso: Se a interface estiver completamente congelada:
    *   Pressione Ctrl-Z para suspender o `dwipe`
    *   No terminal, execute: `sudo pkill -f "python.*dwipe" (atinge apenas processos dwipe)`
    *   Execute reset para restaurar o terminal se a exibição estiver corrompida

**Prevenindo Problemas com Mídia Problemática.** Para discos conhecidos como defeituosos ou hardware questionável:
*   Comece com verificação: Pressione v primeiro para testar a legibilidade
*   Use velocidades mais baixas: Ative a limitação de páginas sujas (tecla d) para reduzir a pressão de I/O
*   Monitorize os logs do sistema: Verifique `dmesg -w` noutro terminal para erros de disco
*   Considere problemas de hardware: Invólucros USB, cabos e controladores frequentemente causam problemas

**Padrões Comuns de Erro de Disco**
*   Quedas de conexão USB: O dwipe detetará e tentará recuperar
*   Setores defeituosos: Os erros serão contados; o trabalho aborta se excessivo
*   Timeouts do controlador: O kernel pode travar; a deteção de paragem deve ativar
*   Disco cheio: Erros de escrita além do fim do dispositivo são tratados graciosamente

**Recuperação Após Aborto.** Se uma limpeza abortar devido a erros de disco:
*   O estado do dispositivo mostra s (parado/parcial)
*   Pode tentar retomar (w) – pode ter sucesso se o erro foi transitório
*   Ou verificar (v) para ver o que realmente foi escrito
*   Considere substituir o disco se os erros persistirem

Nota: Alguns discos estão fundamentalmente danificados e não podem ser limpos de forma fiável. O dwipe protegerá a si e ao seu sistema, mas não pode corrigir falhas de hardware.
---
#### Recomendações para Limpeza SATA via USB
* Requisito 1: Suporte SAT (SCSI-ATA Translation)

  * A ponte USB deve ser capaz de "passar" comandos ATA.
  * O Teste: Se o aplicativo conseguir ver a secção "Segurança" nos detalhes da unidade, a ponte suporta SAT.

* Requisito 2: Alimentação Estável
  * Limpezas de firmware (especialmente em HDDs de 3.5") consomem picos de energia significativos.
  * O Risco: Se for usado um cabo "apenas barramento" alimentado por USB, a tensão pode cair durante a limpeza, fazendo com que a ponte reinicie e "travesse" a unidade num estado bloqueado.
  * A Recomendação: Utilize sempre uma dock USB com alimentação externa para unidades de 3.5".

* Requisito 3: Integridade do Timeout de Comando
  * A ponte não deve ter um "Watchdog Timer" agressivo.
  * O Risco: Algumas pontes desligam se não virem "dados" durante 60 segundos. Durante uma limpeza de firmware, a unidade está ocupada internamente e não envia dados.
  * A Recomendação: Utilize chipsets de alta qualidade como ASMedia (1153E) ou JMicron (JMS578).

##### Desbloquear Dispositivo Bloqueado```
sudo hdparm --user-master u --security-unlock NULL /dev/sdX
sudo hdparm --user-master u --security-disable NULL /dev/sdX

Contribuição

Issues e pull requests são bem-vindos em github.com/joedefen/dwipe

Licença

Licença MIT - consulte o arquivo LICENSE para detalhes.

Baixar ferramenta
r
  • Se uma unidade estiver 'Bloqueada', você deve desbloqueá-la manualmente (veja a seção "Desbloquear Dispositivo Bloqueado" abaixo). Se dwipe a bloqueou, a senha é NULL; caso contrário, use a senha que a bloqueou.
  • Fluxo de trabalho hot-swap para unidades SATA: DEL para desconectar, troque fisicamente as unidades, depois r para reexaminar (se necessário).
  • EstadoSignificado
    -Dispositivo está pronto para limpeza
    ^Dispositivo está pronto para limpeza E foi adicionado após dwipe iniciar (hot-swap)
    MntPartição está montada ou disco tem partições montadas - não pode ser limpo
    N%Limpeza em andamento (mostra percentual concluído, 0-100%)
    vN%Verificação em andamento (mostra percentual concluído, v0-v100%)
    STOPLimpeza ou verificação está sendo interrompida
    sLimpeza foi interrompida - dispositivo está parcialmente limpo (pode reiniciar ou verificar)
    WLimpeza foi concluída com sucesso (pode limpar novamente ou verificar)
    BlkDisco está manualmente bloqueado - partições estão ocultas e não podem ser limpas
    UnblDisco acabou de ser desbloqueado (estado transitório)
    TeclaAçãoDescrição
    wlimparLimpar o dispositivo selecionado (requer confirmação)
    vverificarVerificar um dispositivo limpo ou detectar padrão em disco não marcado (sensível ao contexto)
    spararParar a limpeza selecionada em andamento (sensível ao contexto)
    SParar TodasParar todas as limpezas em andamento
    DELdeletarRemover disco do sistema (apenas discos inteiros, sensível ao contexto)
    bbloquear/desbloquearBloquear ou desbloquear um disco para evitar limpeza acidental
    /filtrarFiltrar dispositivos por padrão regex (mostra dispositivos correspondentes + todas as limpezas ativas)
    rreexaminarReexaminar todos os dispositivos e redefinir detecção de capacidades de hardware
    hhistóricoMostrar registro do histórico de limpeza
    ttemasAbrir tela de pré-visualização de temas para ver e alterar temas de cores
    q ou xsairSair do aplicativo (para todas as limpezas primeiro)
    ?ajudaMostrar tela de ajuda com todas as ações e teclas de navegação
    ESClimpar filtroLimpar o filtro e pular para o topo da lista
    ESCvoltarRetornar à tela anterior se estiver em uma tela aninhada
    aformato de horaAlternar formato de exibição de hora do histórico de limpeza (atrás+hora, atrás, hora)
    AmbienteMétodoNotas
    Sessão SSHOSC 52Sequência de escape do terminal; requer suporte do terminal (iTerm2, kitty, alacritty, Windows Terminal, tmux com set-clipboard on)
    Waylandwl-copyRequer pacote wl-clipboard
    X11xclip/xselRequer pacote xclip ou xsel
    AlternativaTerminalSai para o shell, imprime entrada para cópia manual
    RankAbrevNome OficialObservações
    1CryptoSanitize Cryptographic EraseMais rápido; apaga chaves de criptografia; invalidação instantânea de dados
    2BlockSanitize Block EraseRápido; redefine todos os blocos para estado desalocado
    3FCryptoFormat with Crypto EraseRápido; reformata namespace com apagamento de chave
    4FEraseFormat with User Data EraseRápido; reformata com apagamento simples de dados; menos completo que criptográfico
    5OvwrSanitize OverwriteMinutos; escreve padrão em todos os blocos; mais completo, mas raramente necessário
    6RandSoftware Random WriteAlternativa; escreve dados aleatórios via software; horas para discos grandes
    7ZeroSoftware Zero WriteAlternativa; escreve zeros via software; verificável, mas mais lento
    RankAbrevNome OficialObservações
    1SCryptoSanitize Cryptographic EraseMais rápido; apaga chaves de criptografia; requer recurso SANITIZE
    2EnhancedATA Security Erase EnhancedRápido; apagamento profundo específico do fornecedor com destruição de chave criptográfica
    3SBlockSanitize Block EraseRápido; redefine blocos para estado de fábrica; requer recurso SANITIZE
    4EraseATA Security Erase NormalMinutos; escreve zeros em todos os setores; amplamente suportado
    5SOverwriteSanitize OverwriteMinutos; sobrescreve com padrão; requer recurso SANITIZE
    6RandSoftware Random WriteAlternativa; não alcança blocos com nivelamento de desgaste ou remapeados
    7ZeroSoftware Zero WriteAlternativa; não alcança blocos com nivelamento de desgaste ou remapeados
    RankAbrevNome OficialObservações
    1RandSoftware Random WritePreferido; interruptível, retomável, mostra progresso
    2ZeroSoftware Zero WritePreferido; interruptível, retomável, verificação rápida
    3EnhancedATA Security Erase EnhancedLento (horas); não interruptível; sem progresso; mesmo resultado que software
    4EraseATA Security Erase NormalLento (horas); não interruptível; sem progresso; mesmo resultado que software
    Interrompido emPassagens AtuaisO que Acontece
    50%1 passagemRetoma: escreve os 50% restantes
    150% (1.5 de 4 passagens)1 passagemJá completo (150% > 100%)
    150% (1.5 de 4 passagens)4 passagensRetoma: escreve mais 2.5 passagens (150% → 400%)
    100% (1 passagem completa)2 passagensRetoma: escreve passagem 2 (100% → 200%)