Взлом FineReader Pro 5.0 Try and Buy - Красота в минимумеDelphi , Программа и Интерфейс , Исследование программВзлом FineReader Pro 5.0 Try and Buy - Красота в минимуме
Target: FineReader Pro 5.0 Tools:
Пролог Вступление: Как-то ко мне прибегает друг истошно ругаясь и проклиная крякеров за их кривые руки. Я попросил его подробно разъяснить мне, что случилось. А вот что: Пользовался он взломанной версией FineReader Pro 5.0 с пират- ского диска "Новый реаниматор : Куча левого софта" и вдруг он прекратил работу, такое уже бывало после переустановки Windows все заработало опять. На его гневную отповедь я ему говорю: "Купил бы у Аббая и все бы работало нормально". А он мне: "Какой купил, откуды баблосы? Сделай, млин, не охо- та Windows переустанавливать, а после завтра реферат сдавать.". Ладно грю, посмотрю, но ничего не гарантирую. Дал он мне диск с этим ридером, посмот- рел... А патч то занимает почти 2 метра это архив, там три файла для него. Не будем на него опираться сделаем свой, поскольку у нас не кривые руки, и растут они у нас из нужного места. Я считаю, что Красота в минимуме, если вы считаете, что это не так, то дальше можете не читать Что за прога: Очень хороший (лучший) распозновальщик текста после сканирования при этом русский интерфейс и все что нужно. Размер в архиве 24 Метра. Примечание: Хотел бы я увидеть в чьей же команде этот саморощеный крякер, но не увидивлся когда не увидел ни имени, ни группы. Да, я бы тоже такого стыдился. Начало Хочу сразу сказать, что тьютор будет очень коротким, потому что взлом ЭЛЕМЕНТАРНЫЙ, чего там наизменял ломавший до меня этот продукт крякер не хочется даже смотреть. Приступим. Не будем откладывать в долгий ящик дизассемблируем основной файл про- граммы FineReader.exe (1,511,424 байт, если у вас размер не такой, то и смещения внутри файла будут отличаться). Я использую Win32Dasm он быстрее, чем IDA, при таком размере файла IDA будет долго торможить. Взлом Теперь поищем в разделе строк что-нибудь напоминающее нам о регистра- ции, первое на что натолкнулся мой взгляд была стока IDD_SH_EVALCOPY, яс- ен кот, что речь идет о Evaluation Copy. Посмотрим откуда вызывается де- лаем двойной клик на этой строке и вываливаемся здесь.
Видим, что это скорее всего процедура напоминающая о том, что мы не зареганы. Идем по адресу вызова процедуры, т.е. на 4042D2. И видим там следующий код...
Смотрим. Выше нашей процедуры какой-то переход зависящий от значения в eax (если eax<>0 то переходим). Заходим в процедуру, чтобы посмотреть че- му будет равен eax и видим следующий код:
Выходит eax всегда 0 и переход никогда не выполняется. Ха-ха-ха хотели обмануть нас ложной процедурой. Значит посмотрим еще выше, на сравнение cmp eax, ebp; если посмотреть еще выше, то будет видно, что ebp равен 0. Значит переход будет осуществляться, если eax равен 0. А eax у нас берет- ся из mov eax, dword ptr [0055E238]. Теперь посмотрим где в [0055E238] пишется что нибудь. Набираем в поиске [0055E238] и ждем, прокрутим пару раз, пока не окажемся у следующего кода.
Какое-то сравнение, если не равно в ecx=1, затем пишем в нашу перемен- ную значение из ecx. А нам бы надо, чтобы ecx=0. Можно было бы, конечно, написать mov ecx,0 забив сравнение и установку, но я люблю поступать кра- сиво. Вы же не будете исправлять картину малярной кистью, лучше это сде- лать исправлять тонкой кисточкой. Вот и тут так же мне нравится исправлять минимальное число байтов. Смотрите нам надо, чтобы было равно, значит бу- дем сравнивать ecx с ecx или esi и esi. Смотрите:
Патч (Patch) Программа написана на C++, значит смещение в файле равно смещению в па- мяти минус 400000. Т.е. если в памяти адрес был 40A09D, то в файле будет 40A09D-400000=0A09D. Теперь переходим по адресу 0A09E и изменяем C6 на C9 или F6. Сохраняем. Запускаем и видим, что все ограничения исчезли. Слезы радости бегут из наших глаз и умиленное выражение не сходит с нашего лица. Делаем вывод 1 байт > 2 Мбайт. Значит мы рульные крэкеры и ценим минимум изменений для большой цели. Послесловие Граждане, соотечественники, если у Вас есть деньги купите этот продукт поддержите отечественного производителя. Тем более программа действительно хороша. Крэкеры, крякеры и кракерята не выкладывайте кряки к этой программы в Инете, так мы сами в большинстве своем программисты, и ваш поступок будет выглядеть, как стрельба из пистолета себе в ногу. Программисты фирмы Аббай. Ну что это такое, как это назвать. Не забы- вайте, что надежность защиты определяется стойкостью ее не максимально за- щищенного элемента, а минимального. "Патч - это единство с программой в своих интересах, максимально близкое у оригиналу, но изменяющее форму и внешность содержания." (Fess)
Все ругательства отправлять в null P.S. Запомните все материалы публикуются только в учебных целях и автор за их использование ответственности не несет!! P.P.S. Возможно имеют место опечатки, заранее извините! With best wishes Fess И да пребудет с вами великий дух bad-сектора. Взлом FineReader Pro 5.0: описано создание патча для программы FineReader Pro 5.0, которая позволяет обойти ограничения и использовать программу без покупки. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Исследование программ ::
|
||||||||||||||||||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |