Пароль Excel VBA через шестнадцатеричный редактор
я использовал" шестнадцатеричный редактор для изменения DPB в DPx " много раз в прошлом, чтобы обойти безопасность проекта VBA в моих старых проектах Excel VBA (.xls), поэтому я определенно знаю, как это сделать и знаю, что могу это сделать.
однако я только что попытался сделать это вчера и обнаружил, что он больше не работает. Я попытался использовать Excel 2011 (Mac) и Excel 2003 (Windows), и в обоих случаях я получил то же поведение;
Открытие редактора VBA дало сообщение о том, что проект поврежден и что проект будет удален. Затем откроется редактор VBA, и, конечно же, все VBA будут удалены из модулей и листов.
Я пробовал этот метод: есть ли способ взломать пароль в проекте Excel VBA? (ie. создание электронной таблицы с известным паролем, а затем скопировать по соответствующим полям)
но найдите, что длина ключа "GC", созданного в моей "фиктивной" электронной таблице, короче, чем ключ" GC " на электронная таблица, к которой я хочу получить доступ ("цель"). Я читал в другом месте, что в случаях, когда "целевые" ключи были длиннее, вы могли бы поместить "фиктивные" ключи на ту же длину, но я ничего не могу сказать, что делать в обратном случае.
Итак-мои вопросы;
- кто-нибудь знает, если был применен патч, который делает подход "hex editor" недействительным?
- может ли кто-нибудь помочь с тем, что делать, когда фиктивные ключи длиннее, чем ключи цели?
- может ли кто-нибудь еще предоставить обновленные данные на месте в этой проблеме?
редактировать Теперь, решив это (в некоторой степени), я подумал, что добавлю здесь резюме.
Я НЕ удалось заставить это работать на Mac Excel 2011. Что-то об изменении файла из filname.xlsm в fielname.zip и обратно снова приводит к поврежденному файлу excel, который Excel 2011 отказывается признать.
Я чтобы заставить это работать на старой машине windows (XP / Excel 2007), измените .xlsm имя файла .zip, редактирование значений DPB= и GC= в vbaproject.bin файл с шестнадцатеричным редактором, а затем сохранить это в.zip-файл до переименования .zip обратно в xlsm. Я использовал "тестовый" пример, приведенный Рико внизу, и он работал с одним предостережением - мне пришлось "заполнить" мое значение GC, чтобы сделать его такой же длины, как и исходный в моем файле.
ORIGINAL: GC="0F0DA36FAF938494849484"
NEW: (TEST) GC="BAB816BBF4BCF4BCF4" (from Ricko below)
NEW: (TEST) GC="BAB816BBF4BCF4BCF40000" (what i used and what worked)
4 ответов
У меня есть ваш ответ, так как у меня была та же проблема сегодня:
кто-то сделал рабочий код 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').
- извлечь его из архива.
- открыть файл, который был извлечен с HEX-редактором.
найдите и скопируйте значение из параметра DPB (значение в кавычках), пример: DPB= "282A84CBA1CBA1345FCCB154E20721DE77F7D2378D0EAC90427A22021A46E9CE6F17188A". (Это значение, сгенерированное для пароля' macro'. Вы можете использовать это значение DPB, чтобы пропустить шаги 1-8)
выполните шаги 4-7 для файл с неизвестный пароль (файл, который вы хотите разблокировать).
-
измените значение DBP в этом файле на значение, скопированное на шаге 8.
Если скопированное значение короче, чем в зашифрованном файле, вы должны заполнить отсутствующие символы 0 (ноль). Если значение больше - это не проблема (вставьте его как есть).
сохранить ' vbaProject.bin ' файл и выход из hex редактор.
- заменить существующий ' vbaProject.bin ' файл с измененным.
- изменить расширение с '.zip' back to '.файл xlsm'
- теперь откройте файл excel, в котором вам нужно увидеть код VBA. Пароль для кода VBA будет просто макрос (как в Примере, который я показываю здесь).
новая версия, теперь у вас также есть GC= попробуйте заменить как DPB, так и GC на those
DPB= " DBD9775A4B774B77B4894C77DFE8FE6D2CCEB951E8045C2AB7CA507D8F3AC7E3A7F59012A2" GC= "BAB816BBF4BCF4BCF4"
пароль будет "test"
- откройте файл xls с помощью шестнадцатеричного редактора.
- искать
DPB
- заменить
DPB
доDPx
- сохранить файл.
- открыть файл в Excel.
- нажмите "Да", если вы получите любое окно сообщения.
- установить новый пароль из свойств проекта VBA.
- закрыть и снова открыть файл, затем введите новый пароль для снятия защиты.
Регистрация http://blog.getspool.com/396/best-vba-password-recovery-cracker-tool-remove/
если вы имеете дело с вместо .xls
вы можете использовать старый метод. Я пытался изменить vbaProject.bin
на .xlsm
несколько раз с помощью DBP->DBx
метод им не работал, также меняя значение DBP
нет. Поэтому я был очень удивлен, что следующие работы :
1. Save .xlsm
as .xls
.
2. Использовать DBP->DBx
метод on .xls
.
3. К сожалению, некоторые ошибки могут возникнуть при использовании modified .xls
файл, я должен был сохранить .xls
as .xlsx
и добавить модули, тогда сохраните как .xlsm
.