Crack Excel Password With Vba

Уважаемый гость, на данной странице Вам доступен материал по теме: Crack Excel Password With Vba. Скачивание возможно на компьютер и телефон через торрент, а также сервер загрузок по ссылке ниже. Рекомендуем также другие статьи из категории «Кряки».

Crack Excel Password With Vba.rar
Закачек 2720
Средняя скорость 2693 Kb/s
Скачать

Crack Excel Password With Vba

Мне было предложено обновить некоторые макросы Excel 2003, но проекты VBA защищены паролем, и похоже, что отсутствует документация. никто не знает пароли.

Есть ли способ удалить или взломать пароль в проекте VBA?

Вы можете попробовать этот прямой подход VBA , который не требует редактирования HEX. Он будет работать для любых файлов (*.xls, *.xlsm, *.xlam. ).

Протестировано и работает на

Excel 2013 — 32-разрядная версия.

Excel 2016 — 32-разрядная версия.

как это работает

Я попытаюсь изо всех сил объяснить, как это работает — пожалуйста, извините мой английский.

  • VBE вызовет системную функцию для создания диалогового окна пароля.
  • Если пользователь вводит правильный пароль и нажимает «ОК», эта функция возвращает 1. Если пользователь вводит неверный пароль или нажимает «Отмена», эта функция возвращает 0.
  • После закрытия диалогового окна VBE проверяет возвращаемое значение системной функции
  • если это значение равно 1, VBE «подумает», что пароль прав, поэтому будет заблокирован проект VBA.
  • Приведенный ниже код заменяет память исходной функции, используемой для отображения диалогового окна пароля с пользовательской функцией, которая всегда будет возвращать 1 при вызове.
  • Откройте файл (ы), содержащий ваши заблокированные проекты VBA

Создайте новый файл xlsm и сохраните этот код в Module1

code credited to Siwtom (nick name), a Vietnamese developer

Вставьте этот код в Module2 и запустите его

Вернитесь к своим проектам VBA и наслаждайтесь.

Да, есть, пока вы используете таблицу формата .xls (по умолчанию для Excel до 2003 года). Для Excel 2007 по умолчанию используется .xlsx , который является довольно безопасным форматом, и этот метод не будет работать.

Как говорит Треб, это простое сравнение. Один из способов — просто поменять запись пароля в файле с помощью шестнадцатеричного редактора (см. Hex editors for Windows). Шаг за шагом:

  • Создайте новый простой файл excel.
  • В части VBA установите простой пароль (скажем — 1234).
  • Сохраните файл и выйдите. Затем проверьте размер файла — см. Stewbob gotcha
  • Откройте файл, который вы только что создали, с помощью шестнадцатеричного редактора.

Скопируйте строки, начинающиеся со следующих клавиш:

FIRST BACKUP файл excel, для которого вы не знаете пароль VBA, затем откройте его с помощью шестнадцатеричного редактора и вставьте указанные выше скопированные строки из фиктивного файла.

  • Сохранить файл excel и выйти.
  • Теперь откройте файл excel, который вам нужен, чтобы увидеть код VBA. Пароль для кода VBA будет просто 1234 (как в примере, который я показываю здесь).
  • Если вам нужно работать с Excel 2007 или 2010, есть некоторые другие ответы ниже, которые могут помочь, особенно эти: 1, 2, 3.

    EDIT Февраль 2015: для другого метода, который выглядит очень многообещающим, посмотрите этот новый ответ на Đức Тхань Нгуен.

    Существует другое (несколько проще) решение без проблем с размером. Сегодня я использовал этот подход (в файле XLS 2003 года, используя Excel 2007) и был успешным.

    • Резервное копирование файла xls
    • Откройте файл в редакторе HEX и найдите DPB=. часть
    • Измените строку DPB=. на DPx=.
    • Откройте файл xls в Excel
    • Откройте редактор VBA ( ALT + F11 )
    • волшебство: Excel обнаруживает недействительный ключ (DPx) и спрашивает, хотите ли вы продолжить загрузку проекта (в основном игнорируя защиту).
    • Вы сможете перезаписать пароль, поэтому измените его на то, что вы можете запомнить
    • Сохранить файл xls *
    • Закройте и снова откройте документ и примените магию VBA!

    * ПРИМЕЧАНИЕ. Убедитесь, что вы изменили пароль на новое значение, иначе при следующем открытии электронной таблицы Excel сообщит об ошибках ( «Неожиданная ошибка» ), а затем, когда вы получите доступ к списку модулей VBA, вы увидите имена исходных модулей, но при попытке открыть формы/код и т.д. Чтобы исправить это, вернитесь к свойствам проекта VBA и установите пароль для нового значения. Сохраните и повторно откройте документ Excel, и вы должны быть добрым!

    Я построил на Đức Thanh Nguyễn фантастический ответ, чтобы этот метод работал с 64-разрядными версиями Excel. Я запускаю 64-разрядную версию Excel 2010 в 64-разрядной версии Windows 7.

    • Откройте файл (ы), содержащий ваши заблокированные проекты VBA.

    Создайте новый файл xlsm и сохраните этот код в Module1

    Вставьте этот код в Module2 и запустите его

    ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ Это сработало для меня, и я зарегистрировал его здесь, надеясь, что это поможет кому-то. Я не полностью его протестировал. Перед продолжением этой операции обязательно сохраните все открытые файлы.

    Колин Пикард имеет отличный ответ, но с этим «один из них». Есть примеры (я еще не выяснил причину), где общая длина записи «CMG =. GC =. » в файле отличается от одного файла excel следующий. В некоторых случаях эта запись будет 137 байтов, а в других — 143 байта. Длина 137 байтов является нечетной, и если это происходит, когда вы создаете свой файл с паролем «1234», просто создайте еще один файл, и он должен перейти к 143 байтовой длине.

    Если вы попытаетесь вставить неправильное количество байтов в файл, вы потеряете проект VBA при попытке открыть файл с помощью Excel.

    ИЗМЕНИТЬ

    Это неверно для файлов Excel 2007/2010. Стандартный формат файла .xlsx на самом деле представляет собой .zip файл, содержащий множество подпапок с форматированием, макетом, контентом и т.д., Которые хранятся в виде XML-данных. Для незащищенного файла Excel 2007 вы можете просто изменить расширение .xlsx на .zip, затем открыть zip файл и просмотреть все XML-данные. Это очень просто.

    Однако, когда вы защищаете пароль для файла Excel 2007, весь файл .zip(.xlsx) фактически шифруется с использованием шифрования RSA. Больше не возможно изменить расширение на .zip и просмотреть содержимое файла.

    Для .xlsm вам нужно сделать это несколько иначе.

    • Измените расширение файла .xlsm на .zip .
    • Откройте ZIP файл (с WinZip или WinRar и т.д.) и перейдите в папку xl.
    • Извлеките файл vbaProject.bin и откройте его в Hex-редакторе.
    • Найдите DPB и замените на DPx и сохраните файл.
    • Замените старый vbaProject.bin файл на этот новый в зашифрованном файле.
    • Смените расширение файла на .xlsm .
    • Открытая рабочая книга пропускает предупреждающие сообщения.
    • Откройте Visual Basic внутри Excel.
    • Перейдите в раздел «Инструменты» > «Свойства VBAProject» > вкладка «Защита».
    • Вставьте новый пароль и сохраните файл .xlsm .
    • Закрыть и снова открыть, и ваш новый пароль будет работать.

    Стоит отметить, что если у вас есть файл Excel 2007 (xlsm), вы можете просто сохранить его как файл Excel 2003 (xls) и использовать методы, изложенные в других ответах.

    Вы пробовали просто открывать их в OpenOffice.org?

    У меня возникла аналогичная проблема некоторое время назад и выяснилось, что Excel и Calc не понимают друг друга в шифровании и поэтому допускают прямой доступ ко всему.

    Это было давно, поэтому, если бы это была не просто случайность с моей стороны, она также могла быть исправлена.

    Для Excel 2007 вам необходимо изменить расширение файла на .zip В архиве есть подпапка xl, там вы найдете vbaProject.bin. Следуйте приведенному выше шагу с помощью vbaProject.bin, затем сохраните его в архиве. Измените свое расширение и вуаля! (что означает следующие шаги выше)

    Колин Пикард в основном прав, но не путайте «пароль для открытия» защиты всего файла с помощью защиты паролем VBA, которая полностью отличается от прежней и одинакова для Office 2003 и 2007 (для Office 2007, переименуйте файл в .zip и найдите vbaProject.bin внутри zip). И технически правильный способ редактирования файла — использовать средство просмотра документов OLE, например CFX, для открытия правильного потока. Конечно, если вы просто заменяете байты, может работать простой старый двоичный редактор.

    Кстати, если вам интересно узнать о точном формате этих полей, они уже документированы:

    В случае, если ваш блок CMG=»XXXX»\r\nDPB=»XXXXX»\r\nGC=»XXXXXX» в вашем файле «известного пароля» короче, чем существующий блок в файле «неизвестного пароля», введите ваши шестнадцатеричные строки с завершающими нулями, чтобы достичь нужной длины.

    в файле неизвестного пароля, следует установить значение

    CMG=»XXXX00″\r\nDPB=»XXXXX000″\r\nGC=»XXXXXX0000″ , чтобы сохранить длину файла.

    У меня также работало с файлами формата .XLA(97/2003) в офисе 2007.

    Если файл является допустимым zip файлом (первые несколько байтов 50 4B — используются в форматах типа .xlsm ), затем распакуйте файл и найдите подфайл xl/vbaProject.bin . Это файл CFB, как файлы .xls . Следуйте инструкциям для формата XLS (применяется к подфайлу), а затем просто запишите содержимое.

    Для формата XLS вы можете использовать некоторые другие методы в этом сообщении. Я лично предпочитаю поиск блока DPB= и замену текста

    с пробелами. Это устраняет проблемы с размером контейнера CFB.

    Пароли проекта VBA для документов Access, Excel, Powerpoint или Word (версии 2007, 2010, 2013 or 2016 с расширениями .ACCDB .XLSM .XLTM .DOCM .DOTM .POTM .PPSM ) могут быть легко удалены.

    Это просто вопрос изменения расширения имени файла на .ZIP , разархивирования файла и использования любого базового редактора Hex (например XVI32), чтобы «разбить» существующий пароль, который «смущает» Office, чтобы он запрашивал новый пароль при открытии файла.

    • переименуйте файл, чтобы он имел расширение .ZIP .
    • откройте ZIP и перейдите в папку XL .
    • извлечение vbaProject.bin и откройте его с помощью редактора шестнадцатирич.
    • «Найти и заменить» на «заменить все», изменив DPB на DPX .
    • Сохраните изменения, поместите файл .bin обратно в zip, верните ему нормальное расширение и откройте файл, как обычно.
    • ALT + F11 для входа в редактор VB и щелкните правой кнопкой мыши в Project Explorer, чтобы выбрать VBA Project Properties .
    • На вкладке Protection установите новый пароль.
    • Нажмите OK , закройте файл, откройте его, нажмите ALT + F11.
    • Введите новый пароль, который вы установили.

    В этот момент вы можете полностью удалить пароль, если вы решите.

    Полные инструкции с пошаговым видео, которое я сделал «назад, когда» находятся на YouTube здесь.

    Это шокирует, что это обходное решение существует уже много лет, и Microsoft не исправила проблему.

    Мораль истории?

    Пакеты Microsoft Office VBA Project не должны полагаться на для обеспечения безопасности любой конфиденциальной информации. Если важна безопасность, используйте стороннее программное обеспечение для шифрования.

    ElcomSoft делает Advanced Office Password Breaker и расширенный пароль для Office Recovery, которые могут применяться к этому случаю, если документ был создан в Office 2007 или ранее.

    Том. Сначала я сделал ошибку школьника, так как я не наблюдал размер байта, и вместо этого я скопировал и вставил из «CMG», настроенного на последующую запись. Это два разных размера текста между этими двумя файлами, и я потерял проект VBA так же, как предупреждал Stewbob.

    Используя HxD, отслеживается отслеживание количества файлов, которые вы выбираете. Скопируйте, начиная с CMG, до тех пор, пока счетчик не прочитает 8F (hex для 143), а также при вставке в заблокированный файл. Я закончил с удвоенным количеством «. » в конце пасты, которое выглядело как-то странно и почти неестественно, но это сработало.

    Я не знаю, важно ли это, но я убедился, что я закрыл как шестнадцатеричный редактор, так и отлично, прежде чем снова открыть файл в Excel. Затем мне пришлось пройти через меню, чтобы открыть редактор VB, в свойства VBProject и ввести новый пароль для разблокировки кода.

    Надеюсь, это поможет.

    Мой инструмент VbaDiff, читает VBA непосредственно из файла, поэтому вы можете использовать его для восстановления защищенного кода VBA из большинства офисных документов не прибегая к шестнадцатеричному редактору.

    Я попробовал некоторые из вышеперечисленных решений, и ни один из них не работает для меня (excel 2007 xlsm file). Затем я нашел еще одно решение, которое даже извлекает пароль, а не только разорвать его.

    Вставьте этот код в модуль, запустите его и дайте ему некоторое время. Он вернет ваш пароль грубой силой.

    Защита — это простое сравнение текста в Excel. Загрузите Excel в ваш любимый отладчик (Ollydbg, являющийся моим инструментом выбора), найдите код, который выполняет сравнение, и исправьте его, чтобы всегда возвращать true, это должно позволить вам получить доступ к макросам.

    ваше расширение файла excel изменится на xml. И откройте его в блокноте. поиск текста в текстовом файле в формате xml.

    вы видите строку ниже;

    (извините за мой плохой английский)

    Для 64-разрядной версии Excel 2016 на машине с Windows 10 я использовал шестнадцатеричный редактор, чтобы иметь возможность изменять пароль защищенной xla (не тестировал это для каких-либо других расширений). Совет: создайте резервную копию, прежде чем делать это.

    Сделанные мной шаги:

    • Откройте vba в шестнадцатеричном редакторе (например, XVI)
    • Поиск по этому DPB
    • Измените DPB на что-то еще, например DPX
    • Сохраните его!
    • Повторно запустите .xla, появится сообщение об ошибке, просто продолжите.
    • Теперь вы можете изменить пароль .xla, открыв свойства и перейдите на вкладку пароля.

    I found this VBA code to unlock sheets without knowing the password:

    My question is: What kind of exploit does it use to work?

    In other words, how come this generated string of A’s and B’s can be used as the password to a sheet inside a particular workbook ?

    27.3k ● 20 ● 99 ● 142

    The Excel worksheet password protection works by converting the input password to a hash and stores it. A hash is a one-way algorithm that crunches up the bits, losing some information along the way, but generating a fingerprint of the original data. Because of the loss of data, it is impossible to reverse a hash to get the original password, but in the future if someone types in a password it can be hashed and compared against the stored hash. This (usually) makes it more secure than simply storing the password as a string to compare against.

    The best description by far I’ve encountered of how brute forcing the Excel hashing algorithm works is on the page @mehow links to, posted by Torben Klein. His answer can be summed up as:

    1. The Excel hash function maps the large space of possible passwords to the small space of possible hashes.
    2. Because the hashing algorithm generates such small hashes, 15 bits, the number of possible hashes is 2^15 = 32768 hashes.
    3. 32768 is a tiny number of things to try when computing power is applied. Klein derives a subset of the input passwords that cover all of the possible hashes.

    Based on this description of Excel’s hashing function, the following code generates the same hash as Excel which you can use to test Klein’s function.

    Password recovery for:

    VBA Password Recovery Master does what the name says: give it a bunch of Microsoft Office documents (Word, Excel, PowerPoint and Outlook are supported) and it will immediately display all VBA project passwords on the screen. Thanks to the absolutely apparent interface of the tool, even a baby can handle the recovery task. And the automatic search for protected documents and instant copying of cracked passwords make it even easier.

    Instantly restore forgotten VBA project passwords

    When you want to bring additional functionality to your MS Office documents, like adding messages, dialog boxes or if you want to perform some complex processing of the text, VBA (Visual Basic for Applications) is what you can use to implement all of these and even more. And just like any Microsoft Office document, VBA project can be locked with a password. Aside from additional security and protection from unauthorized modification of the source code, this gives birth to another issue – if you lose your password, the source code will become unavailable to you too.

    To recover lost passwords to VBA projects in Excel, Word, PowerPoint, and Outlook documents, use VBA Password Recovery Master. This tiny tool just takes a document (or even a batch of them) and immediately recovers all VBA-project passwords inside! The recovery process is absolutely safe, secure and reliable, so whenever you forget a password to VBA application, don’t blame yourself, just let VBA Password Recovery Master fix the problem.

    Related Software

    Why VBA Password Recovery Master?

    • It can instantly crack VBA project passwords in Word, Excel, PowerPoint and Outlook documents.
    • It supports all major versions of Microsoft Office tools: MS Word, MS Excel, MS Outlook 97/2000/XP/2003/2007/2010/2013, MS PowerPoint 2007/2010/2013.
    • Thanks to the auto-search feature, you can quickly locate multiple MS Office documents containing a password-protected VBA code and recover all passwords in them.
    • 100% reliable and guaranteed password recovery solution for VBA projects.
    • Copy restored passwords to the clipboard.
    • Extremely easy to use interface is specially designed to restore lost VBA passwords with minimum hassle.

    How to recover VBA password using VBA Password Recovery Master

    Upon startup you can either open a particular Microsoft Office document of any supported type, or perform a search through your local disk to locate all documents that have VBA projects. Clicking the Crack button on the toolbar instantly gets all those VBA project passwords recovered; you won’t even notice the process!

    Once you see the passwords on the screen, you can copy any of them to the clipboard to unlock the desired VBA project.

    Note that along with searching through the specified location, VBA Password Recovery Master can quickly scan the contents of the Recent Documents folder and display all password protected VBA applications in there.

    Supported MS Office versions

    VBA Password Recovery Master supports recovery of VBA project passwords in the following Microsoft Office applications:


    Статьи по теме

    Сведения об авторе