скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Взлом без знания Assemblera - Сократ персональный 4.1


Автор: Fess

Если ты думаешь, что знаешь язык программирования, то ошибаешься - твои знания безнадежно устарели.

Target: Сократ персональный 4.1

Tools:

  • Install Shield script decompiler 1.00 by NEKOSUKI (isd.exe)
  • Some brains
  • Сократ Интернет 99
  • Ключ к Сократ Интернет 99
  • Любой фаловый менеджер (типа DN, NC, Far)

Вот решил написать об одном интересном трюке применненном мной к программе "Сократ персональный 4.1". Мы сломаем ее СОВСЕМ без использования ассемблера, в смысле заставим работать без ограничений, т.е. зарегистрируем ее, а не сломаем, чтоб не работала. Купил вот на днях диск "Переводчики" и журнал ПЛ 02.2002. На компакте журнала оказалась эта замечательная программа, но ShareWare, т.е. заплати бабки и работай спокойно, а на компакте "Переводчики" Сократ Интернет с ключем SI-YPC73AYRC3BD.

Не долго думая, я запустил Персональный набрал код, и... обламался, не выгорело. Тут я крепко задумался, для проверки пароля в Install Shield используется написанная разработчиком, т.е. компанией Арсенал библиотека. Но все это замудровано в установщике и поэтому так просто не видать. Делаем нижеследующее запускаем инсталяцию доходим до шага перед проверки пароля. Идем в каталог WINDOWS\TEMP там должен быть еще один каталог с каким нибудь названием. В нем находится несколько библиотек, т.е. файлов dll и другие файлы скопируйте их все в другой каталог, например, С:\MUSOR. Смотрим внимательно, открываем каждую библиотеку просмотрщиком к разделу экспорта это где-то обычно ближе к концу и ищем подозрительные строки (названия экспортируемых функций). В файле di_set32.dll мы обнаружили строки GetLongSN и GetShortSN. Аббривиатура SN напомнила нам магические слова Serial Number. Значит это то, что надо.

Теперь запускаем инсталяцию Сократ Интернет 99 опять идем в TEMP и копируем оттуда уже знакомый нам di_set32.dll в каталог MUSOR предва- рительно переименовав его в di_set32.dl_ смотрим в него, вроде функции те же, размер такой же, только функция проверки ключа другая. И тут к нам приходит гениальная мысль заменить одну dll-ку другой предварительно поменяв у di_set32.dl_ дату и время в соответствии с исходной. Опять запускаем установку заменяем в TEMP библиотеку, но что-то опять не работает и пароль не принимается. Много раз введя пароль нам бросаются на глаза две первые буквы SI. Ооо. Логично, что это от Socrat Internet, значит Сократ персональный SP запускаем, опять не прошло. Да что же такое.

Пришло время серьезных действий копируем в каталог с файлом isd.exe файл setup.inx в котором содержиться весь план инсталяции. Набираем isd.exe setup.inx, запускаем, ждем, получаем файл isd_dec.txt. Но что в нем искать, опять идет в каталог MUSOR и ищем файл, в котором содержатся все сокращения строк, а именно нам надо найти строку "Установить Демонстрационную версию?". Находим в файле value.shl она приравнивается MSG_DEMO, хорошо ищем MSG_DEMO в файле isd_dec.txt, есть контакт, нашли, но вокруг ничего интересного, это кажись какие повторяем поиск, еще одна теперь вокруг незнакомых операторов, больше совпадений нет, т.е. строка одна. Смотрим выше в голове туман, одна надежда выглядеть что-нибудь интересное, строчек восемь вверх и мы видим текстовыю строку n0003 = s0002 != 'SX'. Строка SX нам, что-то напоминает и мы начинаем копаться в грудах листов на столе, ничего не найдя идем на кухню ставить кофе, не заменив стукаемя головой об косяк и на нас снисходит озарении. Это ж наверное, надо было писать SX, а не SP (мне тут подсказывают, что если б я порылся в бумажках подольше я бы узнал, что знак != это не равно, ну да ладно). Повторяем процедуру установки, копирования dll-ки, набиранием пароля вместо SI, написав SX Пошло каково же было наше счастье. Но и это еще не все.

По окончании установки мы пытаемся запустить Сократ, но выдается какая-то ошибка, и тут опять озарение (шишка еще не прошла) надо наш файл di_set32.dl_ в каталог с установленной программой, переименовав его в di_set32.dll и, заменив тем самым плохой, пуск... Моменты ожидания, но все работает!!! Ура! Рулез!! Стираем не нужный теперь каталог MUSOR и другие не нужные файлы.

Вот так без знания асма можно ломануть программу

Все ругательства отправлять в null
Все остальное на lomovskih@yandex.ru

Спасибо за интерес к моему творчеству!

Удачи в Reversing Engeneering!

P.S. Запомните все материалы публикуются только в учебных целях и автор за их использование ответственности не несет!!

P.P.S. Возможно имеют место опечатки, заранее извините!

With best wishes Fess

И да пребудет с вами великий дух bad-сектора.






Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook