Честно говоря, у меня никогда не было розовых очков, через которые мне бы казалось, что защита книги и листа в Microsoft Excel невзламываемая. Но сегодня я решил посмотреть как же она реализована. Такого сюрприза я не ожидал, чем спешу с вами поделиться.
Я создал книгу, в которой защищен один лист и книга. Пароль одинаковый и довольно сложный (DS:lkha;5hy97560:LKHF;lhkadsf). Взламывать его методом подбора — удовольствие сомнительное. Книгу можно сказать здесь.
Задача проста — снять эти пароли.
Позвольте начать с отвлеченной темы — а именно структуры файла Microsoft Excel 2007 и 2010 (.xlsx, xlsm и т.п.). По сути файл Microsoft Excel — это архив zip, который состоит из нескольких файлов xml. Файлы xml прекрасно читаются обычным блокнотом.
Итак, пошагово это выглядит так:
(1) переименовать файл в архив zip и открыть его
(2) заходим в папку xl, открываем с помощью блокнота файл workbook.xml (возможно для этого вам придется разархивировать файлы — зависит от того, каким архиватором вы пользуетесь),
(3) находим с помощью поиска текст «workbookProtection» и удаляем весь тег (от ), в моем случае это «», сохраняем файл,
(4) в папке xl есть папка worksheets, в ней находим файл листа, защиту которого нам надо снять, в данном случае sheet1.xml, открываем его блокнотом,
(5) находим с помощью поиска текст «sheetProtection» и удаляем весь тег (от ), в моем случае это «», сохраняем файл,
(6) архив переименовываем в файл xlsx (или какой он был изначально), открываем. Защита не установлена!
Зачем я это все пишу. Я ни в коем случае не призываю вас заниматься взломом. Эти простые шесть шагов показывают нам насколько несовершенна защита листа и книги в Microsoft Excel. Пользоваться ей имеет смысл только для одной цели — чтобы пользователь случайно не изменил формулы. Если пользователю понадобится снять защиту — он ее снимет. И займет у него не более 5 минут (с учетом поиска в интернете).
С защитой модулей VBA (макросы) дело обстоит немного получше. Взломать ее с помощью блокнота и архиватора у меня не получилось. Понадобится специальный софт. Его можно легко скачать из Инета. И стоит он в среднем около 40 долларов. Поэтому писать что-то серьезное в Excel для продажи с надеждой, что вскрыть это не удастся, я бы не стал.
Читайте также про автофильтр и возможные ошибки при работе с ним, а также о других возможных ошибках Microsoft Excel.