2013 [11] RAR
В результате анализа перехваченного сетевого трафика с компьютера Пятачка, Винни Пух обнаружил файл, который подозрительно похож на zip-архив. Архив intercept.zipоказался защищен паролем и содержит один единственный файл. Винни Пух считал Пятачка своим лучшим другом и поэтому очень сильно хотел узнать, что Пятачок может от него скрывать. Помогите Винни Пуху прочитать содержимое файла защищённого паролем архива, если известно, что:
1. Пятачок при создании файла использовал клавиатуру, на которой присутствуют только цифры от 0 до 9 включительно.
2. Для проверки целостности файлов zip архив использует алгоритм CRC32, реализация которого приведена ниже, где:
– data – указатель на буфер с данными длиной length, для которых считается результат работы алгоритма CRC32.
– возвращаемое значение – результат работы алгоритма CRC32
unsignedintcrc32(unsigned char*data, intlength)
{
unsigned m_crc32;
unsigned table[256];
const unsigned CRC_POLY = 0xEDB88320;
unsigned i, j, r;
for (i = 0; i < 256; i++)
{
for (r = i, j = 8; j; j--)
r = r & 1? (r>> 1) ^ CRC_POLY: r >> 1;
table[i] = r;
}
m_crc32 = 0;
const unsigned CRC_MASK = 0xD202EF8D;
unsignedcrc = m_crc32;
while (length--)
{
crc = table[(unsigned char)(crc) ^ *data++] ^ crc>> 8;
crc ^= CRC_MASK;
}
return crc;
}