Сейчас на форуме: vsv1 (+3 невидимых) |
![]() |
eXeL@B —› Вопросы новичков —› X-DBGrid 4.12 Trial (конпонент для delphi, cppb6, bds2k6...) помогите со взломом, пожалуйста |
Посл.ответ | Сообщение |
|
Создано: 11 марта 2008 16:31 · Личное сообщение · #1 Собственно сабж качнул в октябре прошлого года... В комментах на сайте было предупреждение, что триал на 30 суток, ок! поставил, поюзал, понравилось ![]() 1. Тупо снес, поставил снова - никак; 2. Снес натравил файлмон и регмон на инсталлятор при установке... много файлов перелопатил "подозрительных", много ключей реестра перешерстил - ничего! 3. Развернул на ВмВаре xp, поставил bds2k6, сделал снапшот, регснапом сфоткал реестр, посавил злополучный компонент, перефоткал реестр, закомпарил два снимка - БЛИН, ничего интересного... 4. Запустил bds на ВмВаре, где только что поставил компонент... вылетает нага, и лочатся контролы. Т.о., вариант с хранением флага в ФС или реестре - отпадает! Перевод часов на октябрь 2007 заставляет полностью функционировать приложение, не показывая наг-скрин... но ведь это не выход. Уже понятно, что триал зашит непосредственно в компонент, блин, и компилится в готовый exe, содержащий этот компонент. Пробовал дебагить откомпиленный exe-шник: закинул его в ОлеДебаг, поставил бряки на вызовах апишной GetLocalTime, трасировал запуск. Насчитал 11 вызовов!, причем если после каждого подправлять значения в хексдампе, на октябрь 2007, софтина стартует без наги и полностью рабочая... Дальше в этом направлении копать не вижу смысла: не патчить же потом каждый ребилд проекта ![]() Я так понимаю, необходимо подправить bpl - файлы, идущие в поставке... или нет? И чем? Нашел DeDe, покормил ее этими bpl-лями, посмортел процедуры, ничего подозрительного не нашел... Подскажите, пожалуйста, как бы пофиксить триал... или может кто сталкивался уже с этим компонентом или имеет линк на патченый, поделитесь по возможности. Заранее благодарен. ![]() |
|
Создано: 11 марта 2008 18:10 · Личное сообщение · #2 |
|
Создано: 11 марта 2008 18:28 · Личное сообщение · #3 |
|
Создано: 12 марта 2008 17:52 · Личное сообщение · #4 Придумал интересный способ обхода такого триала! ![]() В исходниках проекта добавляем несколько строк кода после инициализации приложения: получаем текущий год и месяц, меняем на нужный (в моем случае окт-2007), криейтим формы, на которых размещены элементы из триального компонента, а затем переводим дату назад и продолжаем создавать остальные формы... Причем, т.к. например, в данном случае дата модули создаются уже после "скачков" даты, то можно смело логировать что-либо по ивентам компонентов для доступа к данным... и все превосходно работает ![]()
Есть только два момента: 1 - необходимо снять тычку автоматического перехода на летнее время... иначе, как не сложно догадаться, после таких манипуляций, часы идут на час вперед ![]() 2 - предупредить антивирь и ему подобные тулзы о таких вот возможностях нашего приложения, дабы тот не офигевал постоянно... Вот пожалуй и все, конечно, "решение в лоб", но тем не менее - работает. ![]() |
|
Создано: 13 марта 2008 22:17 · Личное сообщение · #5 Sender пишет: Перевод часов на октябрь 2007 заставляет полностью функционировать приложение, не показывая наг-скрин... но ведь это не выход. Sender ,а почему нет ? пиши лоадер который сначала изменит системную дату на на октябрь 2007 ,запустит программу ,а затем восстановит истинную дату. C Visual C++ я так и сделал ![]() ----- Что один человек сделал , другой всегда сломать может... ![]() |
|
Создано: 15 марта 2008 00:33 · Личное сообщение · #6 MACKLIA пишет: пиши лоадер Ну вот предыдущий пост - как бы и есть своеобразный лоадер... Вот только такая трудность возникла неожиданно ![]() ![]() В общем время не стоит на месте, сроки как обычно поджимают, решил перекинуть все на ehlib. Благо 3.6 фришный для xUSSR, коим я и являюсь ![]() Но вот сабж меня задел, поэтому все же хотелось бы на досуге довести его "до ума", поэтому, если у кого будут еще мысли - будет замечательно! ![]() |
|
Создано: 15 марта 2008 11:54 · Личное сообщение · #7 Sender всё просто. Делфи компоненты ломают давно и всегда одинаково. Компилишь файл, находишь там ограничения, фиксишь их и рядом с тем местом, где пофиксишь выделяешь последовательность байт (сигнатуру). Она должна быть уникальна, т.е. не повторяться более в файле. Далее открываешь dcu файл (или че там у тебя) в HEX редакторе и ищешь там свои сигнатуры, а затем падчишь байты как ты это делал в готовом exe. Всё перекомпиливаешь проект и радуешся жизни. А перевод туда сюда времени - не серьёзно, назад время ты всё равно точно не переведешь, и раз за разом часы начнут отставать, да и не кряк это вовсе, а так девчачьи игры. ----- Yann Tiersen best and do not fuck ![]() |
|
Создано: 15 марта 2008 15:10 · Поправил: SpoliatoR · Личное сообщение · #8 |
|
Создано: 16 марта 2008 18:02 · Поправил: MACKLIA · Личное сообщение · #9 PE_Kill пишет: А перевод туда сюда времени - не серьёзно, назад время ты всё равно точно не переведешь, и раз за разом часы начнут отставать Времени да ,но даты нет. PE_Kill пишет: да и не кряк это вовсе, а так девчачьи игры. Согласен .Просто познания Senderа в сей области мне неизвестны и я подсказал ему самый легкий и работоспособный способ.Типа сначала сделать хоть вот так,но чтобы работало прямо сейчас ,а остальноге чуть попозже ![]() ----- Что один человек сделал , другой всегда сломать может... ![]() |
![]() |
eXeL@B —› Вопросы новичков —› X-DBGrid 4.12 Trial (конпонент для delphi, cppb6, bds2k6...) помогите со взломом, пожалуйста |