Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.07.2009, 13:27   #1
Demien
Форумчанин
 
Аватар для Demien
 
Регистрация: 01.08.2007
Сообщений: 222
По умолчанию Защита программы

Сори! Знаю что повторяюсь,
но я так и не смог разобраться с привязкой программы к железу.
Допустим как определить ID веника, мамки, процессора или сетевухи?
В поиске нашел массу подобных тем, но никакой реализации в коде... ((
Если у кого есть - выложите (по возможности с коментариями).

Так-же меня интересует генераторы ключей. Киньте пожалуйста код у кого есть. Ничего специфического не надо (просто хочу разобраться в принципах работы генераторов).
Посоветуйте так-же хорошие, а главное написаные доступным языком, книги по криптографии.

Почему интересуюсь? Истественно для защиты программы. Но защита нужна не от взлома крэкерами, а лишь для контроля распространяемости, так как распространяться программа будет бесплатно (по крайней мере на начальном этапе).
Жить тоже вредно, от этого умирают!!!
Demien вне форума Ответить с цитированием
Старый 16.07.2009, 14:18   #2
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Насчет ID процессора - у меня в БИОСе есть опция, которая не разрешает доступ к получению идентификатора, так что прикрутить к нему скорее всего не получится.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 16.07.2009, 14:26   #3
Demien
Форумчанин
 
Аватар для Demien
 
Регистрация: 01.08.2007
Сообщений: 222
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
... так что прикрутить к нему скорее всего не получится.
Значит процессор отпадает.
Как мне кажется - оптимальный вариант жесткий диск. Но как получить его ID?
Жить тоже вредно, от этого умирают!!!

Последний раз редактировалось Demien; 16.07.2009 в 14:30.
Demien вне форума Ответить с цитированием
Старый 16.07.2009, 14:30   #4
BaronTreep
Форумчанин
 
Регистрация: 29.05.2009
Сообщений: 320
По умолчанию

Код:
(grep (grep (:google "WMI %Your_Windows_Platform%") "msdn") "example")

   => http://msdn.microsoft.com/en-us/library/aa394072(VS.85).aspx 
   => http://msdn.microsoft.com/en-us/library/aa389273(VS.85).aspx#_hmm_motherboard_controller_and_port_classes
Вообщем microsoft гарантирует поддержку только для своего средства WMI classes. Как в Delphi - со временем все меньше ссылок, потому что на новых системах это всё труднее. Ещё видел обсуждения типа "сделаю за $$", что и понятно - тема то выгодная.

Как узнать об HDD. Работает XP/Vista. Идем в windows.pas и смотрив все импорты из kernell.dll по маске get*, потом пишем такой код:

Код:
var
  VolumeName,
  FileSystemName : array [0..MAX_PATH-1] of Char;
  VolumeSerialNo : DWord;
  MaxComponentLength,FileSystemFlags: Cardinal;
begin
  GetVolumeInformation('C:\',VolumeName,MAX_PATH,@VolumeSerialNo, MaxComponentLength,FileSystemFlags, FileSystemName,MAX_PATH);
  Memo1.Lines.Add('VolumeName = '+VolumeName);
  Memo1.Lines.Add('SerialNo = $'+IntToHex(VolumeSerialNo,8));
  Memo1.Lines.Add('CompLen = '+IntToStr(MaxComponentLength));
  Memo1.Lines.Add('Flags = $'+IntToHex(FileSystemFlags,4));
  Memo1.Lines.Add('FSName = '+FileSystemName);
  Memo1.Lines.Add('Version = '+IntToStr(GetVersion));
end;

Последний раз редактировалось BaronTreep; 16.07.2009 в 14:55.
BaronTreep вне форума Ответить с цитированием
Старый 16.07.2009, 14:47   #5
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Кроме того, WMI также можно подвинуть (правда Сведения о Системе не работают, но нам ли жить в печали ?). Как будет работать Ваша прога - если данная служба будет остановлена?
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 16.07.2009, 14:55   #6
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

Генераторы ключей (паролей) смотрим здесь
http://www.programmersforum.ru/showthread.php?t=55009
И не сомневайся даже ... отдых - кайф, работа - лажа!
DeKot вне форума Ответить с цитированием
Старый 16.07.2009, 15:00   #7
BaronTreep
Форумчанин
 
Регистрация: 29.05.2009
Сообщений: 320
По умолчанию

Если нуна много кода, то сюда:

http://www.wasm.ru/forum/viewtopic.php?id=29716
BaronTreep вне форума Ответить с цитированием
Старый 16.07.2009, 15:23   #8
Demien
Форумчанин
 
Аватар для Demien
 
Регистрация: 01.08.2007
Сообщений: 222
По умолчанию

Спасибо BaronTreep.
Все давольно просто и к тому-же работает!!! ))
Не могу только понять что такое "VolumeName" и почему данное свойство пустое?

DeKot ссылка на тему рабочая, а вот исходники скачать не вышло... (( Битые... Возможно из-за давности темы архивы с исходниками удалили.
Жить тоже вредно, от этого умирают!!!

Последний раз редактировалось Demien; 16.07.2009 в 15:26.
Demien вне форума Ответить с цитированием
Старый 16.07.2009, 15:24   #9
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Это метка диска - и она у Вас скорее всего просто отсутствует.
Да и еще кое-что. Представьте что Вашу прогу поставили на съемный винчестер. Собственно это не означает, что программа будет растиражирована, но это означает, что программа будет привязана к винту, но не к компу... А съемными винтами пользуются как раз для подключения к различным компьютерам..... Но и это еще не все. Как насчет сети?
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 16.07.2009 в 16:27.
Utkin вне форума Ответить с цитированием
Старый 16.07.2009, 16:39   #10
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

Demien держи исходник
Вложения
Тип файла: rar Password.rar (3.5 Кб, 30 просмотров)
И не сомневайся даже ... отдых - кайф, работа - лажа!
DeKot вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Защита программы pomoshnic Паскаль, Turbo Pascal, PascalABC.NET 0 24.11.2008 22:12
Защита программы - серийный номер Roof Свободное общение 13 23.11.2008 14:40
Защита программы Патрон Общие вопросы Delphi 6 23.05.2008 16:05
Ключ. Защита программы. Delphi Kukkk Безопасность, Шифрование 20 11.12.2007 18:05
Защита программы Vovkin Безопасность, Шифрование 1 08.04.2007 18:04