ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Привязка к железу - Делфи
  #1  
Старый 12.06.2008, 18:54
StalkerKill
Познающий
Регистрация: 27.10.2007
Сообщений: 47
Провел на форуме:
573776

Репутация: 17
Отправить сообщение для StalkerKill с помощью ICQ
По умолчанию Привязка к железу - Делфи

Народ, научите привязывать к железу, просто тупо интересно как это делается. К винту, процу и т.д. По барабану. Спрашивал на хакере - дельного ничего не посказали. Буду ждать вашей помощи - можно и сорцы еще
 
Ответить с цитированием

  #2  
Старый 12.06.2008, 19:15
Fata1ex
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
Провел на форуме:
4205500

Репутация: 930


По умолчанию

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

Этим уникальным номером может быть любая хня, от серии Биоса до номера процессора )
 
Ответить с цитированием

  #3  
Старый 12.06.2008, 19:23
Fata1ex
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
Провел на форуме:
4205500

Репутация: 930


По умолчанию

Цитата:
просто тупо интересно как это делается
Это можно понять вполне однозначно, как и сделал я. Тупо объяснил принцип.
Если же тебе интересен "код", то надо писать - Хочу чтобы сделали все за меня, а это уже не сюда.
П.С.
Не думаю, кто-нибудь будет выкладывать методы привязки, которых нет в паблике. Если ты их выложил, то привязка стала чистой формальностью, как в большинстве случаев.
Поизучай крякмисы.

Последний раз редактировалось Fata1ex; 12.06.2008 в 19:30..
 
Ответить с цитированием

  #4  
Старый 12.06.2008, 23:37
t04
Участник форума
Регистрация: 10.01.2007
Сообщений: 140
Провел на форуме:
246020

Репутация: 105
По умолчанию

Вот один из способов:
__http://forum.antichat.ru/thread72378.html
 
Ответить с цитированием

  #5  
Старый 13.06.2008, 21:10
0verbreaK
Постоянный
Регистрация: 30.04.2008
Сообщений: 323
Провел на форуме:
379101

Репутация: 136
По умолчанию

Цитата:
Сообщение от StalkerKill  
Народ, научите привязывать к железу, просто тупо интересно как это делается. К винту, процу и т.д. По барабану. Спрашивал на хакере - дельного ничего не посказали. Буду ждать вашей помощи - можно и сорцы еще
Один из вариантов использовать привязку к CD-ROM, функция WinAPI, GetDriveType, возвращаемое значение DRIVE_CDROM - если диск.
 
Ответить с цитированием

  #6  
Старый 13.06.2008, 22:59
Pir4tt
Участник форума
Регистрация: 03.01.2008
Сообщений: 104
Провел на форуме:
400001

Репутация: 111
Отправить сообщение для Pir4tt с помощью ICQ
По умолчанию

Получаем имя компа:
Код:
function GetCompName: string;
var
 buffer: array[0..255] of char;
 size: dword;
begin
 size := 256;
 if GetComputerName(buffer, size) then
   Result := buffer
 else
   Result := ''
end;
Имя юзверя:
Код:
function GetUserName: string;
var
   Size : cardinal;
PRes : PChar;
BRes : boolean;
 begin
  Size := MAX_COMPUTERNAME_LENGTH + 1;  
PRes := StrAlloc(Size);
BRes := GetUserName(PRes, Size);
if BRes then Result:=StrPas(PRes) else Result:='';
end;
Тип проца:
Код:
function ProcType: string;
var
lpSystemInfo : TSystemInfo;
begin
GetSystemInfo(lpSystemInfo);
Result:=IntToStr(lpSystemInfo.dwProcessorType);
end;
Ну и допустим количество памяти:
Код:
function MemorySize: string;
var
lpMemoryStatus : TMemoryStatus;
begin
    lpMemoryStatus.dwLength := SizeOf(lpMemoryStatus);
GlobalMemoryStatus(lpMemoryStatus);
with lpMemoryStatus do begin
Result:=Format('%0.0f',[dwTotalPhys div 1024 / 1024])+' Mb';  
end;
end;
Всё это соединяет, шифруем каким-нить своим алго, и передаём себе. У себя же расшифровываем, определяем все железки и генерим другим алго ключег, который сверяется в софтине. Всё элементарно. Так же это просто пример того что можно получать стандартными апи, запусти любой бенчмарк и увидишь как много инфы к которой можно привязаться Так же рекомендую использовать куски ключа при расчётах важных функций в программе, т.е. включать их в алгоритм а не ставить тупую сверку значений, отшибающуюся битхаком B)

ps. 0verbreaK, про диск я чёто не понял)) ну есть сидиром в компе и что дальше? он много где есть

п.с. тут надо комбинировать инфу с железок а не использовать какой-то один параметр..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Привязка к железу или ключи AdReNa1!Ne Болталка 3 12.05.2008 19:33
Привязка к железу dos999 С/С++, C#, Delphi, .NET, Asm 11 16.04.2008 15:55
Установка Делфи с образа, без записи его на Cd Metall Болталка 5 20.01.2008 23:52
Уменьшаем размер программ на Делфи begin_end С/С++, C#, Delphi, .NET, Asm 3 22.05.2007 23:43



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ