Сейчас на форуме: 2nd, morgot, Rio, CDK123, zds, tyns777, tihiy_grom (+5 невидимых)

 eXeL@B —› Программирование —› интересует соурс на делфи - привязка к оборудованию
Посл.ответ Сообщение

Ранг: 8.5 (гость)
Активность: 0.010
Статус: Участник

Создано: 11 марта 2009 23:19
· Личное сообщение · #1

хочу привязать программу к оборудованию и написать простенький кейген...
если у кого-нить есть документация, буду рад посмотреть....
заранее спасибо!




Ранг: 355.4 (мудрец), 55thx
Активность: 0.320
Статус: Uploader
5KRT

Создано: 11 марта 2009 23:24
· Личное сообщение · #2

http://exelab.ru/f/action=vthread&forum=5&topic=13771

в MSDN почитай про функцию GetVolumeInformation()

-----
Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes




Ранг: 8.5 (гость)
Активность: 0.010
Статус: Участник

Создано: 11 марта 2009 23:31
· Личное сообщение · #3

Code:
  1. http://exelab.ru/f/index.php?action=vthread&forum=5&topic=13771  
  2. в MSDN почитай про функцию GetVolumeInformation()


спасибо за ответ... но меня интересуют готовые решения ,
реализованные на делфи...




Ранг: 355.4 (мудрец), 55thx
Активность: 0.320
Статус: Uploader
5KRT

Создано: 11 марта 2009 23:37
· Личное сообщение · #4

Например во здесь
www.delphisources.ru/pages/faq/os_hardware.html


Есть получение HWID'BIOS'а
www.delphisources.ru/pages/faq/base/get_bios_serial.html

-----
Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes




Ранг: 2.6 (гость)
Активность: 0=0
Статус: Участник

Создано: 11 марта 2009 23:54
· Личное сообщение · #5

coderess пишет:
Есть получение HWID'BIOS'а
www.delphisources.ru/pages/faq/base/get_bios_serial.html

Ах-хаха, да были времена когда-то.



Ранг: 8.5 (гость)
Активность: 0.010
Статус: Участник

Создано: 12 марта 2009 00:17
· Личное сообщение · #6

спасибо, а как простенький кейген накидать например для даты биоса... инфа есть...?




Ранг: 355.4 (мудрец), 55thx
Активность: 0.320
Статус: Uploader
5KRT

Создано: 12 марта 2009 00:35
· Личное сообщение · #7

Я так понял, тебе надо получить с компьютера пользователя HWID и генерить
ключ, если конечно алгоритм так построен

-----
Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes




Ранг: 8.5 (гость)
Активность: 0.010
Статус: Участник

Создано: 12 марта 2009 00:56
· Личное сообщение · #8

coderess пишет:
Я так понял, тебе надо получить с компьютера пользователя HWID и генерить
ключ, если конечно алгоритм так построен


в идеале да, ну думаю можно еще подключить простеное шифрование... хоть самопальное...




Ранг: 355.4 (мудрец), 55thx
Активность: 0.320
Статус: Uploader
5KRT

Создано: 12 марта 2009 01:01
· Личное сообщение · #9

rot13 мне нравится ;)

-----
Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes




Ранг: 8.5 (гость)
Активность: 0.010
Статус: Участник

Создано: 12 марта 2009 01:03
· Личное сообщение · #10

coderess
можно не большой примерчик кейгена на дельфях ?




Ранг: 156.2 (ветеран), 2thx
Активность: 0.090
Статус: Участник

Создано: 12 марта 2009 01:26
· Личное сообщение · #11

demien
Любого кейгена? Вот, например ссылка




Ранг: 355.4 (мудрец), 55thx
Активность: 0.320
Статус: Uploader
5KRT

Создано: 12 марта 2009 01:54
· Личное сообщение · #12

http://exelab.ru/art/?action=view&id=108
http://exelab.ru/art/?action=view&id=91

-----
Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes




Ранг: 226.0 (наставник), 67thx
Активность: 0.160
Статус: Участник

Создано: 12 марта 2009 10:26
· Личное сообщение · #13

Function GetHARDid: Dword;
Var VolumeSerialNumber, MaximumComponentLength, FileSystemFlags: DWord;
Function GetCPUid: DWord;
Asm
PUSH EBX
PUSH ECX
PUSH EDX
MOV EAX, 1
CPUID
AND EBX, $F8FFFFFF
AND ECX, $FFFFFFF7
AND EDX, $FFFBFDFF
XOR EAX, EBX
XOR EAX, ECX
XOR EAX, EDX
POP EDX
POP ECX
POP EBX
End;
Begin
GetVolumeInformationA('C:', nil, 0, @VolumeSerialNumber, MaximumComponentLength, FileSystemFlags, nil, 0);
GetHARDid:=VolumeSerialNumber xor GetCPUid;
End;

Привязка к процу (не к серийке проца) + серийка диска С.



Ранг: 441.3 (мудрец), 297thx
Активность: 0.410.04
Статус: Участник

Создано: 12 марта 2009 16:09
· Личное сообщение · #14

SergX
Щас тебе придется ещё и пример кейгена показывать к своей привязке ;)



Ранг: 226.0 (наставник), 67thx
Активность: 0.160
Статус: Участник

Создано: 12 марта 2009 16:31
· Личное сообщение · #15

гыгы..

Ну если так то может топенгстартеру лучше юзоть готовы навесной прот...
Его будет по любому сложнее снять чём то что он сможет навоять сам.



Ранг: 107.5 (ветеран)
Активность: 0.150
Статус: Участник

Создано: 12 марта 2009 17:23
· Личное сообщение · #16

да жесть для кейгена свой же код в обратку раскулачить не судьба?

SergX пускай ставит - кому надо все одно отломает. Вообще берите пример с Юбисофта.

-----
Md5 fcbb6c9c9a5029b24d70f2d67c7cca74





Ранг: 355.4 (мудрец), 55thx
Активность: 0.320
Статус: Uploader
5KRT

Создано: 12 марта 2009 17:26
· Личное сообщение · #17

Вот пример мощный
www.delphitricks.com/source-code/systeminfo/retrieve_cpu_information.html

-----
Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes




Ранг: 226.0 (наставник), 67thx
Активность: 0.160
Статус: Участник

Создано: 12 марта 2009 18:59 · Поправил: SergX
· Личное сообщение · #18

coderess в чём проявляется мощь этого примера ?
Там тот же CPUID, команда документирована, описаний куча..

Intel Processor Identification and the CPUID Instruction http://sunsite.rediris.es/pub/mirror/intel/Xeon/applnots/24161831.pdf
AMD CPUID Specification http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/25481.pdf
IA-32 architecture CPUID http://www.sandpile.org/ia32/cpuid.htm




Ранг: 67.4 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 12 марта 2009 20:19
· Личное сообщение · #19

К примеру вот код который выдает ксореный ID процессора:

procedure TForm1.Button1Click(Sender: TObject);
const KEY_1 = $90909090;
var
i:DWORD;
begin
asm
MOV EAX,1
CPUID
MOV i,EAX
end;
ShowMessage(IntToHex(i XOR KEY_1,4));
end;

Затем функция проверки ключа:

procedure TForm1.Button2Click(Sender: TObject);
const KEY_2 = $41414141;
var
k,i:DWORD;
begin
asm
PUSHAD
MOV EAX,1
CPUID
MOV k,EAX
POPAD
end;
i:=StrToInt(Edit1.Text) XOR KEY_2;
if(k=i)Then ShowMessage('Ключ верный');
end;

Ну и сам кейген:

procedure TForm1.Button3Click(Sender: TObject);
const
KEY_1 = $90909090;
KEY_2 = $41414141;
var
id:DWORD;
begin
id:=StrToInt(Edit2.Text) XOR KEY_1;
Edit3.Text:=IntToStr(id XOR KEY_2);
end;

Самый простой пример.




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 12 марта 2009 20:56
· Личное сообщение · #20

Накидали уже выше крыши. Если ещё поюзать гугл и мозг-вообще завались. Топик на этом закрою, ибо достаточно уже про абстрактный вопрос.


 eXeL@B —› Программирование —› интересует соурс на делфи - привязка к оборудованию
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати