Кто может помочь:есть 10к одинаковых файлов с разными именами.Нужна программа\скрипт которая добавит в каждый файл рандомный кусок мусорного кода,чтобы контрольные суммы были разные.Как возможно реализовать такое??запись версион инфо или иконок влияет на CRC?Заранее спасибо
если это exe или dll файлы то любое изменение в файле повлияет на CRC если отдельно её вычислять. А если юзать crc в PE заголовке то не все компиляторы её заполняют и она никем не проверяется. А вообще достаточно будет в конец файла дописать 512 байт - мусора. и эже всё отлично будет. за исключеним случая если прога проверяет свою CRC
в большинстве случаев безопасно дописывать в конец файла нули, если это ПЕ файлы, то можно вообще все что угодно в конец пихать оно будут считаться оверлеем, т.к. вне секций. А вот если это какие-нибудь архивы или еще что-нибудь с самопроверкой чексуммы, как сказал Slash, то тут сложней...
В принципе я понял,можете пример кода привести,или написать софт за монетку??Просто никогда не занимался таким,а тут нужно срочно
обыная консольная команда. copy /b file.exe + file_musor.txt new.exe осталось тока сгенерить мусорные текстовые файлы.
Спасибо,сейчас буду пробовать.Я просто не знал команду как вообще дописать что либо в середину файла.
Должно работать, если я не накосячил Code: use warnings; #Директория my $dir = '.'; #Расширения обрабатываемых файлов my @ext = qw(txt); $| = 1; my %ext; $ext{$_} = 1 for @ext; opendir(my $hn, $dir) || die "Error opening $dir - $!\n"; for my $file(readdir $hn) { my ($prefix, $ext) = ($file =~ /^(.*)\.(.*)$/); if(defined $ext{$ext}) { print "Processing $file\n"; open(F, ">>$file") || die "Error opening $file - $!\n"; binmode F; print F rand 1000000; close F; } } closedir $hn;