O script que você vinculou parece bastante simples. Você pode fazer algo parecido com o seguinte one-liner:
find $DIRS -print0 | xargs -0 perl -p -i.bak -e 's/\Qcode to be removed\E//'
Aqui $DIRS
representa os diretórios nos quais você tem seus arquivos e code to be removed
representa o código malicioso. O \Q
irá citar todos os caracteres especiais até o \E
. Os arquivos originais são copiados em .bak
files. Se você não quiser, remova o .bak
, ou seja, somente -i
, mas não combine com -e
, ou seja, -i -e
não -ie
.
TENHA CUIDADO QUE VOCÊ PODERÁ EXCLUIR AS OBRAS IMPORTANTES SE VOCÊ O FAZ ERRADO! FAÇA BACKUPS POR SI MESMO PRIMEIRO!
Atualização:
Versão do script:
#!/usr/bin/env perl -i.bak
use strict;
use warnings;
my $code = <<'END-OF-MALICIOUS-CODE';
xo=new Date(2010,11,3,2,21,4);t=xo.getSeconds();var huur=[36/t,36/t, ....
END-OF-MALICIOUS-CODE
chomp $code; # remove trailing newline
while (<>) {
s/\Q$code\E//;
print;
}
Mas isso em um arquivo, melhor com uma extensão .pl
, por exemplo %código%.
Opcionalmente, torne-o executável ( remcode.pl
), caso contrário, você terá que chamá-lo com chmod +x file.pl
explicitamente:
find $DIRS -print0 | xargs -0 perl remcode.pl
Você pode fazer a parte 'find' e o código perl, mas isso não é necessário.
Sem garantias! Teste em alguns arquivos primeiro!