![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Уникалный идентификатор HDD [D6, Win95/98, WinME, NT4, Win2k, WinXP]
aleksander © (2002-11-21 11:11:00)Нужно привязать прогу к винчестеру. Подскажите, что можно использовать и как это получить. Спасибо.
Song (2002-11-21 13:33:00) [21]Программы есть такие, но не факт что они будут работать со всеми машинами (главная загвоздка драйвера).
Вот например: http://www.sources.ru/asm/devid32.shtml
aleksander (2002-11-21 13:27:00) [22]а все же...
DC-AC (2002-11-21 13:21:00) [23]А нужно ли ? И если привязывать - то не только к винту. Пожалейте пользователя, винты в последнее время очень часто дохнут.
Прочитайте лучше это для начала :
msts (06.09.02 11:05)
Если сможешь решить эту задачу (привязка программы к "рабочему месту") смело проси за это 10 000 000$ как ни как сотни фирм и десятки корпораций тратят на решение этой проблемы миллионы баксов и кстати абсолютный результат = 0 иначе ты бы не сидел на XP Professional и точно не юзал Delphi :(
но конечно есть относительный результат состовляющий 17% от абсолютного, но это так отступление (которое ты и так знаешь)
в общем возьми ручку и лист бумаги (так делают все матера :))- раздели его по полам линией с одной стороны опиши типовую конфигурацию "рабочего места" - установленного на него програмного и аппаратного обеспечения (если прога стоящая то и особенные требования найдутся) на другой половине опиши какие изменения (и какова их степень) приводит к тому что теперь это _другое_ рабочее место и есть основание заявить о необходимости переустановки проги в общем решил для себя - что
значит "запустили прогу на другом компе"
(в качестве источника я бы использовал глобальную таблицу атомов, если установленна винда)
далее определился бы с форматом хранения этой информации и способа интеграции в код программы для наибольшей зависимости (придется написать свой линковщик)(можно использовать java П-код и генерить на нем часть проги - выполнять в другом потоке исползуя какую нибудь JVM)
далее я бы применил нейронные сети (в частности распознования образов) для анализа этого описания - что позволяет сделать более мягкую проверку на изменения конфигурации, с каждым запуском нужно сохранять результат анализа то есть новую конфигурацию (получится как бы фотография компа с шумом - а твоя прога будет распозновать в ней тот комп на который ее поставили и если не узнает то заявить о переустановки, но комп стареет/изменяется но если эти изменения затронули 50 из 1000 атрибутов то это нормально иначе... ) при этом должно быть накопление (в разумных пределах) результатов анализа и переодической смены эталона с которым сравнивать - комп стареет а прога его узнает (как человек постоянно видящий другого не замечает изменений а стоит возникнуть перерыву - то уже нужно узнавать)
что дают нейронные сети (НС) - сложность трассировки (прямо скажем нихрена непонятно) интеграция в нее своего кода (полезного так сказать) достаточно проста в связи с компонентной архетиктурой делфы, так же можно сделать зависимость от степени узнования - степень ограничений на функциональность проги,
так как в НС нет прямых переходов - если иначе - то банальная замена инструкций не поможет крякеру, снимок проги из памяти тоже, знание НС "не дает нихрена" (Цой) , в общем полиморфная прога на критериях зависящих от конфигурации компа.
осталось защитить генератор НС - для этого система будет состоять из 3х частей
1 - программа установки - ПУ
2 - сама программа - П
3 - генератор НС - ГНС
клиенту высылается ПУ и П - она формирует предварительное описание (ПО) раб места - передает разработчику - на основе этого ПО - генератор формирует НС и высылает назад - ПУ вшивает НС в П (ну вариации на твое усмотрение), таким образом разработчику нужно защищать только ГНС
если НС имеет 1000 узлов/нейронов помноженных на 10 связей-синапсов и того 10 000 конструкций - если/иначе - крякеру будет грусно
а теперь представь на сколько должна быть стоящей твоя прога?
а с другой стороны можно потратить 5 месяцев - наваять ~ 35 000 строк кода в скомпиленном виде ~15кб - сделать компонент для дельфы и продать за выше указанную сумму какой нибудь корпорации