Подтвердить что ты не робот

Пароль Excel VBA через Hex-редактор

Я использовал "Hex Editor для изменения DPB в DPx" много раз в прошлом, чтобы обойти безопасность проекта VBA в моих старых проектах Excel VBA (.xls), поэтому я определенно знаю, как это сделать и знаю, что могу сделайте это.

Однако я только что попытался сделать это вчера и обнаружил, что он больше не работает. Я попытался использовать Excel 2011 (Mac) и Excel 2003 (Windows), и в обоих случаях я получил такое же поведение;

Открытие редактора VBA дало сообщение о том, что проект поврежден и проект будет удален. Затем открывается редактор VBA и, конечно же, все VBA удаляются из модулей и рабочих листов.

Я пробовал этот метод: Есть ли способ взломать пароль в проекте Excel VBA? (т.е. создание электронной таблицы с известным паролем, а затем копирование по соответствующим полям)

Но найдите, что длина ключа "GC", созданного в моей электронной таблице 'dummy', короче, чем ключ "GC" в электронной таблице, которую я желаю получить ( "цель" ). Я читал в другом месте, что в тех случаях, когда "целевые" ключи были длиннее, вы могли накладывать клавиши "dummy" на ту же длину, но я ничего не могу найти, чтобы сказать, что делать в обратном случае.

Итак - мои вопросы (вопросы);

  • Кто-нибудь знает, был ли применен патч, который делает подход "шестнадцатеричного редактора" недействительным?
  • Может ли кто-нибудь помочь с тем, что делать, если фиктивные ключи длиннее целевых ключей?
  • Может ли кто-нибудь еще предоставить обновленную информацию на этой странице?

ИЗМЕНИТЬ Теперь, решив это (в некоторой степени), я подумал, что добавлю здесь резюме.

Я НЕОБХОДИМО смог заставить это работать в Mac Excel 2011. Что-то об изменении файла с filname.xlsm на fielname.zip и обратно приводит к поврежденному файлу excel, который Excel 2011 отказывается признать.

Мне удалось заставить это работать на старой машине Windows (XP/Excel 2007), изменив имя файла .xlsm на .zip, отредактировав значения DPB = AND GC = в файле vbaproject.bin с шестнадцатеричным затем сохраните это в .zip файле, прежде чем переименовать .zip обратно в xlsm. Я использовал пример "теста", данный Рико внизу, и он работал с ONE CAVEAT - мне пришлось "выставить" мое значение GC, чтобы сделать его той же длины, что и исходная в моем файле.

ORIGINAL:       GC="0F0DA36FAF938494849484"
NEW:  (TEST)    GC="BAB816BBF4BCF4BCF4"  (from Ricko below)
NEW:  (TEST)    GC="BAB816BBF4BCF4BCF40000"  (what i used and what worked)
4b9b3361

Ответ 1

У меня есть ваш ответ, так как сегодня у меня была такая же проблема:

Кто-то сделал рабочий код vba, который изменяет пароль защиты vba на "макрос", для всех файлов excel, включая .xlsm(версии 2007+). Вы можете увидеть, как это работает, просматривая его код.

Это блог парня: http://lbeliarl.blogspot.com/2014/03/excel-removing-password-from-vba.html Здесь файл, который выполняет работу: https://docs.google.com/file/d/0B6sFi5sSqEKbLUIwUTVhY3lWZE0/edit

Вставка из предыдущего сообщения из его блога:

Для файлов Excel 2007/2010 (.xlsm) выполните следующие действия:

  • Создайте новый .xlsm файл.
  • В части VBA установите простой пароль (например, "макрос" ).
  • Сохраните файл и выйдите.
  • Измените расширение файла на ".zip", откройте его любой программой архивирования.
  • Найдите файл: 'vbaProject.bin' (в папке 'xl').
  • Извлеките его из архива.
  • Откройте файл, который вы только что извлекли, с помощью шестнадцатеричного редактора.
  • Найдите и скопируйте значение из параметра DPB (значение в кавычке), например:   РОП = "282A84CBA1CBA1345FCCB154E20721DE77F7D2378D0EAC90427A22021A46E9CE6F17188A". (Это значение генерируется для пароля "macro". Вы можете использовать это значение DPB, чтобы пропустить шаги 1-8)

  • Сделайте шаги 4-7 для файла с неизвестным паролем (файл, который вы хотите разблокировать).

  • Измените значение DBP в этом файле на значение, которое вы скопировали на шаге 8.

    Если скопированное значение короче, чем в зашифрованном файле, вы должны заполнить отсутствующие символы с помощью 0 (ноль). Если значение больше - это не проблема (вставьте его как есть).

  • Сохраните файл vbaProject.bin и выйдите из шестнадцатеричного редактора.

  • Замените существующий файл 'vbaProject.bin' на измененный.
  • Измените расширение с .zip на '.xlsm'
  • Теперь откройте файл excel, который вам нужен, чтобы увидеть код VBA. Пароль для кода VBA будет просто макросом (как в примере, который я показываю здесь).

Ответ 2

Новая версия, теперь у вас также есть GC = попробуйте заменить DPB и GC теми

РОП = "DBD9775A4B774B77B4894C77DFE8FE6D2CCEB951E8045C2AB7CA507D8F3AC7E3A7F59012A2" GC = "BAB816BBF4BCF4BCF4"

пароль будет "проверяться"

Ответ 3

  • Откройте файл xls с шестнадцатеричным редактором.
  • Искать DPB
  • Заменить DPB на DPx
  • Сохранить файл.
  • Откройте файл в Excel.
  • Нажмите "Да", если появится окно с сообщениями.
  • Установить новый пароль из VBA Project Properties.
  • Закройте и снова откройте файл, затем введите новый пароль для снятия защиты.

Проверить http://blog.getspool.com/396/best-vba-password-recovery-cracker-tool-remove/

Ответ 4

Если вы используете файл .xlsm вместо .xls, вы можете использовать старый метод. Я пытался несколько раз изменить vbaProject.bin в .xlsm, используя метод DBP->DBx, но не изменился, а изменение значения DBP - нет. Поэтому я был очень удивлен, что после работы:
1. Сохраните .xlsm как .xls.
2. Используйте метод DBP->DBx на .xls.
3. К сожалению, некоторые ошибки могут возникать при использовании модифицированного файла .xls, мне нужно было сохранить .xls как .xlsx и добавить модули, а затем сохранить как .xlsm.