Я использовал "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)