Здравствуйте. Хочу сразу уточнить, что моя цель — не навредить автору программы. Я использую её исключительно для личных нужд и не собираюсь распространять взломанную версию на торрентах или других платформах. Вкратце, я собираю образы Windows для собственного использования и не делаю их публичными. В процессе работы наткнулся на установщик одной сборки, но он имеет защиту от замены файлов install.esd и install.wim. Я несколько дней пытался обойти защиту. Код защиты удалось обойти, но саму проверку — нет. Возможно, проверка реализована не только в основном файле setup.exe, но и в одноимённом файле в boot.wim. Могу ли я попросить вас помочь обойти эту защиту? Также в программе есть премиум-версия, можете попытаться обойти и её. Хотя у меня есть ключ, так будет удобнее, так как без обхода программа не покажет ошибку и будет утверждать, что установка возможна только с установочного носителя. С премиум-версией можно делать это на живой системе. Не придется каждый раз собирать образ, чтобы тестировать на виртуальной машине. Суть в том, что когда я пытаюсь заменить файл install.esd, программа выдает ошибку, связанную с неверной контрольной суммой. Если всё удачно, появляется окно, где нужно ввести имя пользователя, имя ПК и другие данные. Я уже подготовил файлы, в которых нет защиты кода (файл setup.exe в корне и файл в boot.wim по пути System32\setup.exe). Эти файлы доступны для анализа в IDA. Я специально положил install.esd на который будет срабатывать защита. Ссылка Заранее спасибо
Пока что тема кандидат на удаление, ну или же в раздел о работе. Расписывайте конкретнее. Где что искали, что нашли, какие переходы меняли и т.д. Скрины под катом приветствуются.
Здравствуйте. Попробую детально описать, с чем столкнулся, насколько смог разобраться. По поводу упоминания премиум-аккаунта: Я так и не нашел упоминаний премиум-аккаунта в коде, несмотря на все попытки.Но это не является основной проблемой. Поиск проверок связанных с файлами install.esd\install.wim: Я нашел упоминания нужных мне файлов (см. скрин 1 и скрин 2). В этом месте я пытался изменить проверки call sub_571D50 и call sub_598DC0. Конкретно, заменял инструкцию test al, al на mov al, 1 и условный переход jz на jmp. Эти изменения я проводил в разных местах как для install.wim, так и для install.esd. К сожалению, это не дало нужного результата. На основе увиденного, мне кажется, что программа должна была бы перейти к строке text:00000000008AA7BF, так как именно там я увидел ссылку на сайт разработчика, которая должна быть на нужном мне этапе. Именно с этой точки на мой взгляд должна запускаться программа. Кстати, я пытался удалить эту ссылку, чтобы она не "мазолила глаза" на главной странице, но тоже не смог это сделать. RIP в самом начале программы: Почему-то IDA показывает RIP на самом начале программы, не доходя до проверок. Это же поведение наблюдается как при попытках обойти защиту на премиум функции, так и при попытке обойти проверку файла (с введенным премиум-ключом и логином). Я не смог понять, что именно вызывает такую проблему. (См. скрин3 и скрин4). Анализ setup.exe в boot.wim (по пути Windows\System32): Я извлек этот файл из boot.wim для анализа. Данный файл нужен для запуска корневого файла. В нем я также пытался найти следы проверок. 4.1 Проверки на премиум: не обнаружил. 4.2Упоминания install.esd и install.wim: Я нашел строки с их упоминаниями в коде, но, судя по всему, это не проверки. Строки, которые нашёл: text:0000000000C7A89C text:0000000000C7A767 text:0000000000C7A7B6 text:0000000000C7A86C (См. скрин5 и скрин6). RIP в начале программы: Как и в предыдущем случае, RIP в самом начале программы, не знаю с чем это связано. (См. скрин7 и скрин8). Настройки для IDA: Все настройки, которые я использовал для анализа, указаны на скрин9, скрин10, скрин11. Оба exe'шника написаны на Delphi. P.S. Я понимаю, что, скорее всего, я что-то упускаю, и что защиту можно обойти достаточно быстро. Честно пытался разобраться, много искал в интернете, но, к сожалению, мне так и не удалось победить её. Я всё таки не планировал быть реверс-инженером и скорее всего много чего не знаю и делаю не так, я залез в эту область только чтобы пользоваться этой программой. Если кто-то может подсказать, где я мог ошибиться или в каком направлении еще попробовать, буду очень благодарен!