Проблемы сжатия и шифрования
Эта тема схожа с предыдущей, но с небольшим дополнением. Если файл сжат или зашифрован, то нельзя определить, где именно надо модифицировать файл, пока не будет выяснен механизм шифрования или сжатия.
Если проанализировать различия между исходным и сжатым или зашифрованным файлом (если используется качественный алгоритм преобразования файлов), то можно обнаружить изменение большого количества данных в файле. В начале главы автор приводил пример применения метода поиска различий для игры Heroes of Might and Magic II, хотя в то время уже продавалась игра Heroes of Might and Magic III. Дело в том, что, как кажется автору, в последней игре файлы сжимаются. Автор делает подобное предположение по следующим причинам. Во-первых, файл неразборчив (при просмотре файла не видно английских слов). Во-вторых, при сохранении игры каждый раз изменяется почти весь файл целиком, даже если между сохранением игры ничего не делается. В-третьих, с течением времени размер файла слегка изменяется. Поскольку размер сжатого файла зависит от его содержания, а размер зашифрованного файла имеет тенденцию оставаться постоянным при шифровании одинакового числа байт, то автор предполагает, что в данном случае используется сжатие вместо шифрования.
Сжать файл можно ограниченным числом способов. Широкодоступны библиотеки сжатия, и большинство людей не будут писать собственные программы сжатия данных. В худшем случае, с точки зрения затрат времени и усилий, можно воспользоваться отладчиком или средством трассировки программ для определения алгоритма работы программы сжатия.
В случае зашифрованных данных все сказанное выше остается в силе. За исключением того, что очень велики шансы написания разработчиком своей собственной программы «шифрования». Автор намеренно взял слово «шифрование» в кавычки, потому что большинство людей не сможет написать приличную программу шифрования (в том числе и автор). Поэтому, в случае применения собственной программы «шифрования», очень велики шансы, что ее взломают. Если же для шифрования файлов использованы настоящие криптографические алгоритмы, то и их можно расшифровать. Ведь программе требуется расшифровать зашифрованные файлы, поэтому нужно только узнать, как она это делает. Подробнее этот вопрос освещен в главе 6.
Больше книг — больше знаний!
Заберите 30% скидку новым пользователям на все книги Литрес с нашим промокодом
ПОЛУЧИТЬ СКИДКУДанный текст является ознакомительным фрагментом.