Сейчас на форуме: vsv1 (+3 невидимых)

 eXeL@B —› Вопросы новичков —› X-DBGrid 4.12 Trial (конпонент для delphi, cppb6, bds2k6...) помогите со взломом, пожалуйста
Посл.ответ Сообщение

Ранг: 0.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 11 марта 2008 16:31
· Личное сообщение · #1

Собственно сабж качнул в октябре прошлого года... В комментах на сайте было предупреждение, что триал на 30 суток, ок! поставил, поюзал, понравилось прошло 30 суток, выскочила нага, и компоненты в рантайме залочились... забил на него, а в марте этого года понадобился вновь и чего:

1. Тупо снес, поставил снова - никак;
2. Снес натравил файлмон и регмон на инсталлятор при установке... много файлов перелопатил "подозрительных", много ключей реестра перешерстил - ничего!
3. Развернул на ВмВаре xp, поставил bds2k6, сделал снапшот, регснапом сфоткал реестр, посавил злополучный компонент, перефоткал реестр, закомпарил два снимка - БЛИН, ничего интересного...
4. Запустил bds на ВмВаре, где только что поставил компонент... вылетает нага, и лочатся контролы.

Т.о., вариант с хранением флага в ФС или реестре - отпадает!

Перевод часов на октябрь 2007 заставляет полностью функционировать приложение, не показывая наг-скрин... но ведь это не выход. Уже понятно, что триал зашит непосредственно в компонент, блин, и компилится в готовый exe, содержащий этот компонент.

Пробовал дебагить откомпиленный exe-шник: закинул его в ОлеДебаг, поставил бряки на вызовах апишной GetLocalTime, трасировал запуск. Насчитал 11 вызовов!, причем если после каждого подправлять значения в хексдампе, на октябрь 2007, софтина стартует без наги и полностью рабочая...
Дальше в этом направлении копать не вижу смысла: не патчить же потом каждый ребилд проекта

Я так понимаю, необходимо подправить bpl - файлы, идущие в поставке... или нет? И чем? Нашел DeDe, покормил ее этими bpl-лями, посмортел процедуры, ничего подозрительного не нашел...

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



Ранг: 441.3 (мудрец), 297thx
Активность: 0.410.04
Статус: Участник

Создано: 11 марта 2008 18:10
· Личное сообщение · #2

Sender пишет:
Подскажите, пожалуйста, как бы пофиксить триал

Вот так, вот эдак, и немножко вооот так

Что вы за люди-то такие? Мало того что просите помочь - так ещё и прогу приходится искать для этой вам помощи. Ссылку хоть выложи



Ранг: 0.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 11 марта 2008 18:28
· Личное сообщение · #3

Прошу прощения... вот --> ссылка на сабж <-- http://www.torry.net/db/visible/db_grids/X-DBGrid412Trl.zip



Ранг: 0.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 12 марта 2008 17:52
· Личное сообщение · #4

Придумал интересный способ обхода такого триала!

В исходниках проекта добавляем несколько строк кода после инициализации приложения: получаем текущий год и месяц, меняем на нужный (в моем случае окт-2007), криейтим формы, на которых размещены элементы из триального компонента, а затем переводим дату назад и продолжаем создавать остальные формы...
Причем, т.к. например, в данном случае дата модули создаются уже после "скачков" даты, то можно смело логировать что-либо по ивентам компонентов для доступа к данным... и все превосходно работает


...
Application->Initialize();

_SYSTEMTIME lpSystemTime;
GetLocalTime(&lpSystemTime);
WORD wCurrentYear = lpSystemTime.wYear;
WORD wCurrentMonth = lpSystemTime.wMonth;
lpSystemTime.wYear = 2007;
lpSystemTime.wMonth = 10;
SetLocalTime(&lpSystemTime);

Application->CreateForm(__classid(TfMonitor), &fMonitor);

lpSystemTime.wYear = wCurrentYear;
lpSystemTime.wMonth = wCurrentMonth;
SetLocalTime(&lpSystemTime);

Application->CreateForm(__classid(TdmMain), &dmMain);
...


Есть только два момента:

1 - необходимо снять тычку автоматического перехода на летнее время... иначе, как не сложно догадаться, после таких манипуляций, часы идут на час вперед

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

Вот пожалуй и все, конечно, "решение в лоб", но тем не менее - работает.




Ранг: 279.1 (наставник)
Активность: 0.160
Статус: Участник
wizard

Создано: 13 марта 2008 22:17
· Личное сообщение · #5

Sender пишет:
Перевод часов на октябрь 2007 заставляет полностью функционировать приложение, не показывая наг-скрин... но ведь это не выход.


Sender ,а почему нет ? пиши лоадер который сначала изменит системную дату на на октябрь 2007 ,запустит программу ,а затем восстановит истинную дату. C Visual C++ я так и сделал

-----
Что один человек сделал , другой всегда сломать может...




Ранг: 0.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 15 марта 2008 00:33
· Личное сообщение · #6

MACKLIA пишет:
пиши лоадер

Ну вот предыдущий пост - как бы и есть своеобразный лоадер...

Вот только такая трудность возникла неожиданно - понятное дело, триал срабатывает при криейте объекта сабжа, а разрабатываемый проект - MDI приложение (понятно, что уже не модно, но в моем случае удобно) Следовательно формы с этими гридами, я создаю в ран-тайме, по запросу пользователя. Есть конечно вариант, крутить календарь при каждом создании, но это уж слишком, да и потом - в фоне отдельной нитью постоянно пишутся логи (разумеется, с дейттайм-полем), можно очень интересный журнал получить!

В общем время не стоит на месте, сроки как обычно поджимают, решил перекинуть все на ehlib. Благо 3.6 фришный для xUSSR, коим я и являюсь Так то он всем устраивает, ну разве что нет возможности создания двухэтажных, свертываемых титлов в гридах, ну и пофиг - как нить изощрюсь...

Но вот сабж меня задел, поэтому все же хотелось бы на досуге довести его "до ума", поэтому, если у кого будут еще мысли - будет замечательно!




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 15 марта 2008 11:54
· Личное сообщение · #7

Sender всё просто. Делфи компоненты ломают давно и всегда одинаково. Компилишь файл, находишь там ограничения, фиксишь их и рядом с тем местом, где пофиксишь выделяешь последовательность байт (сигнатуру). Она должна быть уникальна, т.е. не повторяться более в файле. Далее открываешь dcu файл (или че там у тебя) в HEX редакторе и ищешь там свои сигнатуры, а затем падчишь байты как ты это делал в готовом exe. Всё перекомпиливаешь проект и радуешся жизни.
А перевод туда сюда времени - не серьёзно, назад время ты всё равно точно не переведешь, и раз за разом часы начнут отставать, да и не кряк это вовсе, а так девчачьи игры.

-----
Yann Tiersen best and do not fuck




Ранг: 39.1 (посетитель)
Активность: 0.030
Статус: Участник

Создано: 15 марта 2008 15:10 · Поправил: SpoliatoR
· Личное сообщение · #8

dcu32int тебе поможет. Еще искалку сигнатур LMDSearchFileGrep (Компонент от LMD). Только ее сперва сломать то же нужно. А вообще то в двух dcu вроде SETNE поменять и все.




Ранг: 279.1 (наставник)
Активность: 0.160
Статус: Участник
wizard

Создано: 16 марта 2008 18:02 · Поправил: MACKLIA
· Личное сообщение · #9

PE_Kill пишет:
А перевод туда сюда времени - не серьёзно, назад время ты всё равно точно не переведешь, и раз за разом часы начнут отставать


Времени да ,но даты нет.

PE_Kill пишет:
да и не кряк это вовсе, а так девчачьи игры.


Согласен .Просто познания Senderа в сей области мне неизвестны и я подсказал ему самый легкий и работоспособный способ.Типа сначала сделать хоть вот так,но чтобы работало прямо сейчас ,а остальноге чуть попозже

-----
Что один человек сделал , другой всегда сломать может...



 eXeL@B —› Вопросы новичков —› X-DBGrid 4.12 Trial (конпонент для delphi, cppb6, bds2k6...) помогите со взломом, пожалуйста
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати