![]() |
eXeL@B —› Вопросы новичков —› Помогите разобраться с не привычным |
Посл.ответ | Сообщение |
|
Создано: 15 сентября 2011 14:36 · Поправил: virtposting · Личное сообщение · #1 Приветствую всех и бесконечно благодарствую тех, кто откликнулся! Начну по порядку. Нужна помощь, а точнее просветление и совет в решении. Я скачал с п равочник те леф онный, который весит аж но 400мб, в котором 340мб рекламного материала(.swf+avi). И ещё стоит ограничение во времени. Т.е. через несколько месяцев появляется окошко с напоминанием, что версия устарела и необходимо приобрести новую. Это предупреждение убирается после нажатия на кнопку "Ок", но занудно появляется снова и снова при любом действии в справочнике. Перечислю какие ограничения в справочнике хочется попробовать снять: - Отучить программу от папки "Media" (где хранятся промо материалы), но при этом чтобы реклама показывалась. - Не показывалось окошко о том, что версия устарела. - (Не обязательно) Но для будущего и пополнения знаний. Чтобы открывался сразу справочник, а не превью программы. Что я сделал: - открыл файл PEiD-0.95 (файл был упакован UPX) - Распаковал с помощью upx -d - попытался просмотреть РЕ ресурсы, чтобы посмотреть window-ы этим PE.Explorer, но из-за каких-то причин PE.Explorer виснет и не может открыть файл справочник (запакованный и также распакованный) - Когда снова открыл распакованный файл в ollydbg.2.01, понял, что сделал не всё для расшифровки. Прикреплено: файл без папки "Media" (распакованный) Пожалуйста помогите разобраться как осуществить снятия всех(почти) ограничений. Что нужно предпринять? Я как бы новичок в этом, но я стараюсь. ![]() |
|
Создано: 15 сентября 2011 14:44 · Личное сообщение · #2 |
|
Создано: 15 сентября 2011 16:25 · Личное сообщение · #3 |
|
Создано: 15 сентября 2011 16:50 · Личное сообщение · #4 virtposting Кроме UPX никакого протектора нет,расспаковывается хорошо самим UPX, PE.Explorer падает и за того что в файле содержится слонпотамский размер ресурсов,ипользуй другой редактор ресурсов ----- Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли. ![]() |
|
Создано: 15 сентября 2011 17:04 · Поправил: DimitarSerg · Личное сообщение · #5 virtposting Ну вообще то такой пакер, как UPX лучше для начала попробовать распаковывать самим же упыхом. (твой анпакед в рестораторе на все типы ресурсов пишет currupted, после upx -d все нормально). Да и можно было не заливать оба файла (тут какбе и не такое распаковывают ![]() А так как прога на дельфях, то советую IDR ----- ds ![]() |
|
Создано: 15 сентября 2011 17:17 · Личное сообщение · #6 Теперь понятно всё, спасибо за подсказку насчёт самого upx.exe -d. Сейчас попробую. А как найти место где файл проверяет на наличие папки "Media". Там даже если файл заменить на меньший по размеру, то это тоже в файле замечается... как отучить от таких проверочек? Есть приблизительно как это вычислить? ![]() |
|
Создано: 15 сентября 2011 18:33 · Поправил: shadow_user · Личное сообщение · #7 |
|
Создано: 15 сентября 2011 18:35 · Личное сообщение · #8 |
|
Создано: 15 сентября 2011 20:54 · Поправил: virtposting · Личное сообщение · #9 Файл обновил PE_Kill пишет: Выложи файл то, в первом посте удален уже. Хотел перезалить файл. В общем с распаковкой разобрался, оказывается распаковывать самим upx лучше. Всё распаковалось хорошо. Но остались теперь другие вопросы. И как shadow_user пишет: Идти от обратного - как замечается и что при этом происходит. Reverse всё логично, но как осуществить... ? ![]() |
|
Создано: 16 сентября 2011 08:21 · Поправил: PE_Kill · Личное сообщение · #10 - Отучить программу от папки "Media" (где хранятся промо материалы) Папка media проверяется во многих местах программы. Советую проанализировать программу в IDR (ищи тут на форуме) и сформировать map файл. Потом взять отладчик OllyDbg и плагин mapimp (тоже тут на форуме) и загрузить в OllyDbg программу и полученый map файл. Дальше уже можно анализировать. Пути к папке media формируются динамически посимвольно. А проверяются так: Code:
Т.е. каждый файл проверяется на его наличие, и на его размер. Всё это происходит в обработчике: 005ADCB8: Startup.TfStartup.Timer1Timer После проверки таймер отключается. Решение: изменить код так, чтобы пропускал все проверки и сразу переходил на отключение таймера. Для этого изменим код по адресу 005ADCE0 вот так: 005ADCE0: JMP 005B081B он прыгнет сразу на 005B081B, а там: Code:
Т.е. Code:
После этого программа работает и без папки media. Найти эти проверки было легко. Программа закрывается, если нет папки media, TApplication.Terminate в Delphi программах ничто иное, как API функция PostQuitMessage. Ставим бряк на нее и ждем, откуда вызовется. Что такое API, бряки и отладчик можно почитать в статьях для новичков, например тут: http://exelab.ru/f/action=vthread&forum=5&topic=14847 ----- Yann Tiersen best and do not fuck ![]() |
|
Создано: 16 сентября 2011 08:57 · Личное сообщение · #11 - Не показывалось окошко о том, что версия устарела В том же IDR идем во вкладку Forms, открываем форму TFSTARTUP в визуальном режиме. Кликаем правой кнопкой на этом чудо-диске и выбираем OnClick = Label_TelecomClick и смотрим адрес обработчика. Это 005AD2A8. В OllyDbg смотрим что там: Code:
Кодируется дата посредством EncodeDate, получается текущая дата посредством Date и сравнивается. Прототип EncodeDate: function EncodeDate(Year, Month, Day: Word): TDateTime; Т.е.: MOV CX,1E = 30 день MOV DX,6 = 6 месяц MOV AX,7DB = 2011 год Нужно либо эмулировать работу EncodeDate либо патчить все проверки, которых несколько. Делаем поиск всех вызовов EncodeDate, смотрим где кодируется эта же дата и исправляем проверки. В данном месте исправляем 005A48BC: JBE на JMP, и в других местах так же. Кстати в одном месте видно что код уже пропатчен, не знаю сделал это ТС или это ломаный компонент какой используется. В общем после таких манипуляций сообщения о просроченой программе уходят. ----- Yann Tiersen best and do not fuck ![]() |
|
Создано: 16 сентября 2011 09:49 · Поправил: virtposting · Личное сообщение · #12 Огромное спасибо тебе PE_Kill за такой урочек, с такими пояснениями не трудно уже будет разобраться. Всё получилось. Теперь научился, благодаря вам всем: - распаковывать не в ручную или какие-нибудь сторонними утилитками, а именно - создавать мап в идр и импортировать этот мап в ольгу - узнал больше о идр и работу с формами - более стал разбираться в ассемблерном коде (но до уважаемого PE_Kill ещё далеко) ![]() Спасибо всем! Отхожу от темы: Когда установил Restorator_2007_v3.70.1709 на свой Windows 7 в первый раз, то возникла проблема с инициацией файлов, т.е. перестали просто навсего открываться. Манипуляции с реестром, не помогли Исправилось это созданием нового профиля (естественно перед этим скопировав все нужные файлы) Для избежание повторного такого же глюка, после установки Restorator_2007_v3.70.1709, в опциях сразу надо отключить инициацию файлов ![]() |
![]() |
eXeL@B —› Вопросы новичков —› Помогите разобраться с не привычным |
Эта тема закрыта. Ответы больше не принимаются. |