| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Технологии защиты программного обеспечения > Метод лицензирования программы |
| Автор: ilya198293 20.3.2008, 15:56 |
| Столкнулся тут с программой. Лицензия её привязывается к хосту, мак-адресу и по времени ограниченная. Всё это идёт через flexnet. Процесс разбора этого метода лицензирования загнал меня в тупик. По идее подделать мак, хост и дату на компе не сложно. Сталкивался несколько раз с таким. А здесь что-то новое. Программа видит что откачена дата. Причём видит она её после того как проделаны следующие операции: 1. установка нужной системной даты; 2. переустановка сисемы с полным форматированием жёсткого диска; 3. установка мак-адреса; 4. установка программы......... И вот тут она говорит что дата откачена. Компьютер к сети не подключался. На время установки самой программы были извлечены все флешки. У файлов дистрибутива была изменена дата, на более раннюю(на всякий случай). Я сейчас уже подумал о том что в чипсете находится двое часов, 1-ые которые сидят в трее, 2-ые которые вызвали мой интерес. Для модераторов: Данный пост имеет цель не взлом, а спортивный интерес. Может получиться у себя в программах когда-нибудь такое использовать. |
| Автор: Akella 20.3.2008, 15:58 |
что значит спортивный? Добавлено @ 15:58 Милейший, а при чём здесь операционная система Microsoft Windows? Добавлено @ 16:10 Если не представишь нормальных доводов, то тему будет закрыта и отправлена в ПО. |
| Автор: ilya198293 20.3.2008, 16:16 | ||
интересно, где могла выжить инфа от предыдущей инсталяции системы после форматирования - если это дело в харде или о том как в системе можно об этом узнать - если это по чипсету или ещё чему-нибудь. Если переместишь тему как считаешь нужным, то думаю это только поможет в решении вопроса, потому что ты, Akella, гораздо чаще бываешь на форуме, знаешь его лучше и опыта у тебя побольше моего. И куда разместить тему тебе виднее. |
| Автор: LSD 20.3.2008, 16:53 |
| Хотя MAC адрес сетевой карты и можно изменить, но всегда можно узнать тот что зашит непосредственно в BIOS сетевухи. Ты уверен, что не откатил дату на более раннюю чем была получена лицензия? Т.е. лицензию ты получил 01.01.2008, а откатил дату на 01.01.2007. |
| Автор: ilya198293 21.3.2008, 06:15 |
| уверен на почте лежит файл лицензии. дата на компе позже даты получения письма, но раньше конца лицензии. при запуске программы выдаётся ошибка в которой прописано что дата откачена назад. мак-адрес может быть и можно узнать, но солидные разработчики софт (по крайней мере с тем, с кем сталкивался я) не используют это, и лицензии работают. |
| Автор: dumb 21.3.2008, 10:38 |
| предположение, основанное на том, что форматирование != очистка диска: читаем карту незанятых файлами кластеров, пробегаемся по ним в поисках записей каталогов, откуда и вычитываем даты файлов, которые существовали до форматирования. есть инструменты, производящие очистку незанятого пространства жесткого диска. естественно, это надо делать до установки/первого запуска проги с защитой. |
| Автор: W4FhLF 21.3.2008, 12:11 |
| Скачай какой-нибудь анализатор типа PEiD или DiE и загрузи в него исполняемые файлы программы. Наверняка он тебе скажет, что на ней висит SafeCast/SafeDisc. Этот протектор исполбзуя прямой доступ к жёсткому диску устанавливает метку в 32 сектор(достаточно забить нулями 32 сектор, с пом. WinHex например, и ещё 30 дней триала ваши, но я этого не говорил |
| Автор: ilya198293 21.3.2008, 12:15 | ||||||||
C этим согласен:
Для отчисти если только "акроникс" подсоединить с многоступенчатым уничтожением данных, а может даже "викторию" и от первого, до последнего сектора всё "в ноль".
Порядок моих действий был такой: 1. В системе меняю дату. 2. Переустанавливаю систему(при переустановке старые разделы удалялись и создал один новый, а потом при установки самой винды сделал полное форматирование - такое какое умеет делать винда, НЕ быстрая очистка диска)
А файл лицензии у меня непосредственно от разработчиков, от их представительства. Файл лицензии имеет дату нормальную (по крайней мере то, что мне показывается в свойствах файла). Об этом я тоже думал. Даже извлёк повторно его из почты.
Эксперемент проводился на машине, на которой ни разу эта прога не инсталилась. Так что не думаю что кто-то мог дату записать в 32 сектор. Предварительно, я проделывал те же операции с VMWare и VirtualBox. Реакция была та же. И то, что касается 30 дней триала, то к взлому этот пост не имеет отношения. Суть вопроса разобраться на чём основана такая защита и как можно её использовать у себя. |
| Автор: W4FhLF 21.3.2008, 12:48 |
| Ну давай будем гадать тогда, что у тебя за программа и какая там защита. Пока то, что ты описываешь(если я правильно понял и ты правильно сформулировал) в точности сходится с защитой одного из навесных протекторов. Давай ещё раз: Чистая система. Ты устанавливаешь программу. Ты её хоть раз запускал? Или просто установил, откатил дату и запустил? Или как? |
| Автор: ilya198293 21.3.2008, 13:06 |
| да, пока текущее время на часах было в пределах интервала (дата выписки лицензии, дата окончания лицензии) то работало всё как часики. дата окончания лицензии прошла и на несколько часов не было лицензии (ща обновлённую прислали на новый срок), но интерес то остался, как так можно сделать да, устанавливаю на чистую систему, причём даже сама система не знает что дату откатили, потому что откат даты был до установки системы, а при установке перебил диск и отформатировал раздел. при установке проги нет ни одного диска (флешки) куда можно заглянуть. в системе есть только одна патиция, которая форматировалась уже с новой датой. |
| Автор: W4FhLF 21.3.2008, 15:16 | ||
Да, интересно. Сейчас надо выяснить есть ли там навесная защита и её ли это механизм защиты. Посему:
|
| Автор: ilya198293 21.3.2008, 16:11 | ||
вообще не представляю что это такое и с чем это едят лучше ссылочку на закачку |
| Автор: VICTAR 21.3.2008, 16:35 |
| http://cracklab.ru/download.php?action=get&n=NTYw |
| Автор: ilya198293 22.3.2008, 10:46 | ||
| Загрузил. Ничего такого в проге не нашёл.
Искать то хотя бы где? В каком поле? |
| Автор: VICTAR 22.3.2008, 11:01 |
| Самый нижний Edit, как раз над кнопками |
| Автор: ilya198293 24.3.2008, 06:33 |
| Над кнопками написано "Borland C++" при выборе External Scan пишет "Borland C++ for Win32 1995 *" |
| Автор: VICTAR 24.3.2008, 09:06 |
| Значит ничем не запакован... |
| Автор: ilya198293 24.3.2008, 12:08 |
| а в чём тогда может быть проблема причём разработка наша российская, хотя компания забугорная |
| Автор: LSD 24.3.2008, 16:15 |
| Попробуй на виртуальной машине. |
| Автор: ilya198293 25.3.2008, 07:17 | ||||
|
| Автор: W4FhLF 26.3.2008, 15:25 |
| Я так и не увидел (может плохо смотрел?), какая ОС? |
| Автор: LSD 26.3.2008, 18:08 |
Судя по не Linux |
| Автор: mmvds 26.3.2008, 19:05 |
| Встречал прогу, которая с Яндекса текущую дату брала, пришлось апач с фэйковым сайтом яндекса ставить. Но тут видимо от инета комп отключен :( |
| Автор: ilya198293 27.3.2008, 08:21 | ||||
прога работает на WinXP x64 все эксперементы на WinXP x32 в данном случае это не принципиально, прога должна работать и там и там
комп для эксперементов был отключен даже от сети всё время начиная с инсталяции винды(вся инфа через флешку) при эксперементах на виртуальной машине менял IP чтоб не могла ни куда лезь и что-нибудь узнать (пинги при этом по крайней мере не шли) |
| Автор: W4FhLF 28.3.2008, 14:13 | ||
| Первый вопрос, который напрашивается: почему ребята пишущие софт для современных ОС используют древний компилятор С++? Я думаю это фейковая сигнатура, либо она просто неверно определилась, ну или программы принадлежат к касте oldschool Во-вторых:
Что это значит? При тестировании используется какой-то доп. носитель? Это может играть ключевую роль. |
| Автор: ilya198293 28.3.2008, 14:58 |
| Скриншот сделал. А без стороннего носителя здесь никак. Должен же я как-то драйвера закинуть туда, обновления для винды (последние обновления которые устанавливал датируются концом прошлого года, все эксперементы по распределению дат принадлежат этому году). да и саму прогу тоже нужно скопировать на диск. но во время установки программы все внешние носители были отключены. |
| Автор: dumb 28.3.2008, 17:17 |
| ilya198293, долго гадать-то тут будем? - выложи "тело" куда-нибудь. судя по скрину, это таки непакованный билдер. |
| Автор: W4FhLF 29.3.2008, 06:54 |
| Ага, мой потенциал экстрасенса уже тоже иссяк. |
| Автор: ilya198293 31.3.2008, 05:53 |
| а под телом что понимается? |
| Автор: dumb 31.3.2008, 07:37 |
эм. я думал это очевидно... |
| Автор: ilya198293 31.3.2008, 14:36 |
| весь дистрибутив? или сам exe файл установленный? или ещё что-то. один вопрос залить дистрибутив, другой вопрос залить файл лицензии. да и не думаю что кто-то потянет из инета лишьние 250МБ |
| Автор: dumb 31.3.2008, 20:53 |
| начать можно с .exe + лицензия(не обязательно). возможно, этого не хватит, если окажется, что модуль защиты реализован отдельно, что, впрочем, маловероятно. |
| Автор: ilya198293 14.4.2008, 07:54 |
| вроде получилось разобраться программа перед запуском проверяла какие-то файлы по компу на дату создания и в случае если находила с датой большей чем системная то отбрасывала. ещё есть подозрение что она учитывала дату компиляции самой себя. но после того как прошёлся по компу тоталкоммандером и исправил все возможные даты назад, запустилось. ща буду изучать какие файлы она могла анализировать и как поведёт себя прога если на него начать кидать документы, проекты и др. файлы с датой большей чем системная. |