Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2002.08.29;
Скачать: [xml.tar.bz2];

Вниз

Как узнать серийный номер материнской платы   Найти похожие ветки 

 
dXb group   (2002-06-16 00:02) [0]

Проблема в следующем: необходимо прочитать серийный номер материнки либо любой другой УНИКАЛЬНЫЙ ДЛЯ ДАННОЙ МАШИНЫ (системного блока) номер средствами Delphi...


 
Anatoly Podgoretsky   (2002-06-16 00:16) [1]

У материнских плат, за небольшим исключение серийный номер существует только в виде наклейки на плате, естественно его не узнать программными путями, то небольшое количество плат, которые имеют егов БИОС никак это не документируют.


 
SPeller   (2002-06-16 03:21) [2]

А если юзер сделает апгрейд, то что тогда твоя программа будет делать?


 
~Rand~   (2002-06-16 09:11) [3]

Удалено модератором


 
Rooman   (2002-06-16 11:04) [4]

CoCreateGuid - уникальнее номера не придумаешь


 
Новенький в Делфи   (2002-06-16 11:11) [5]

тогда как можно написать программу, то бы она запускалась только с одного компьютера?


 
Anatoly Podgoretsky   (2002-06-16 11:23) [6]

В такой постановке, вообще то никак, скопирую и запущу


 
GOOFFY   (2002-06-16 12:17) [7]

Удалено модератором


 
Rem   (2002-06-16 13:02) [8]

Можно прочитать серийный номер раздела на винчестере:
BOOL GetVolumeInformation(LPCTSTR lpRootPathName,
LPTSTR lpVolumeNameBuffer,
DWORD nVolumeNameSize,
LPDWORD lpVolumeSerialNumber,
LPDWORD lpMaximumComponentLength,
LPDWORD lpFileSystemFlags,
LPTSTR lpFileSystemNameBuffer,
DWORD nFileSystemNameSize);

Гарантировать его уникальность нельзя, но очень трудно найти другой винчестер с таким же номером.


 
MJH   (2002-06-16 17:59) [9]

2dXb group
а че не гарантийный?

>тогда как можно написать программу, то бы она запускалась >только с одного компьютера?
привязка к серийному номеру винта, к типу и частоте проца, к биосу


 
Новенький в Делфи   (2002-06-17 00:21) [10]

а конкретней можно, как взять эти значения (проц, биос) ?*


 
SuperUmnik   (2002-06-17 09:17) [11]

BOOL GetVolumeInformation(LPCTSTR lpRootPathName,
LPTSTR lpVolumeNameBuffer,
DWORD nVolumeNameSize,
LPDWORD lpVolumeSerialNumber,
LPDWORD lpMaximumComponentLength,
LPDWORD lpFileSystemFlags,
LPTSTR lpFileSystemNameBuffer,
DWORD nFileSystemNameSize);
+ CoCreateGuid - уникальнее номера не придумаешь
+ номер сетевухи если есть и еще какая нить фигня записанная в реест при установке программы и скопировать Чайнику или Ламеру будет сложно, очень сложно.
Но абсолютной защиты ни когда не сделать. Защита должна быть экономически эффективна. т.е. 1) Взламывать дороже чем купить.
2) Разработка Защиты должна стоить дешевле самой программы т.е. если программа стоит 100баксов то защита на 10 баксов уже хорошая!


 
bander_log   (2002-06-17 12:22) [12]

Все эти методы хороши, но программно ты все равно будешь делать логические сопоставления которые прекрасно обходятся при вскрытии. Абсолютной защиты не существует. В таком случае лучше сделай генератор ключей или лицензий и сныкай подальше, а при использовании БД производи шифрование с помощью своего шифратора с ключами зарытыми в отдельном приложении или вообще на внешнем носителе. Это не так много времени занимает по времени и можно использовать в комбинации с другими средствами защиты.


 
KSergey   (2002-06-17 13:02) [13]

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


 
111   (2002-06-17 14:29) [14]

Вот исходник на Paskale серийний номер HDD (РОДНОЙ!!!!)
{$IFDEF Windows}
uses WinCrt;
{$ENDIF}
var
InfoArray : array[0..255] of word;
IdeInfo : record
Config : word;
CylsTotal : word;
Unused : word;
HeadTotal : word;
BPT : word;
BPS : word;
SPT : word;
Vendor : array[0..2] of word;
Serial : array[1..20] of char;
BufType : Word;
BufSize : Word;
ECC : Word;
Revision : array[1..8] of char;
Model : array[1..40] of char;
end absolute InfoArray;
Count : byte;
i : byte;
begin
writeln("?­д®а¬ жЁп ® ¤ЁбЄ®ў®¤ е IDE:"^M^J);
{$IFDEF WINDOWS}
for count := 1 to mem[ $0040:$0075] do begin
{$ELSE}
for count := 1 to mem[Seg0040:$0075] do begin
{$ENDIF}
FillChar(InfoArray, SizeOf(InfoArray), 0);
{Џа®ўҐаЁвм Ј®в®ў­®бвм}
while (port[$1F7] and $80<>0) do ;
{‡ ЇаҐвЁвм ЇаҐалў ­Ёп}
port[$3f6] := 2;
port[$1f6] := $A0 + ((count-1) shl 4);
port[$1f7] := $EC;
{Џа®ўҐаЁвм Ј®в®ў­®бвм}
while (port[$1F7] and $80<>0) do ;
{Џ®«гзЁвм Ё­д®а¬ жЁо}
for i := 0 to 255 do InfoArray[i] := swap(portw[$1F0]);
{H ЇҐз вaвм Ё­д®а¬ жЁо}
writeln("?­д®а¬ жЁп ® дЁ§ЁзҐбЄ®¬ ¤ЁбЄҐ ",count-1,^M^J);
with IdeInfo do begin
writeln("…¬Є®бвм ­Ґд®а¬ вЁа®ў ­­ п :", 9.5367431641E-7* {1/2^20}
swap(BPT)*swap(CylsTotal)*swap(HeadTotal):5:0, "Mb");
writeln("…¬Є®бвм д®а¬ вЁа®ў ­­ п :",
longint(swap(SPT))*swap(CylsTotal)*swap(HeadTotal) div 2048:5, "Mb");
writeln("—Ёб«® жЁ«Ё­¤а®ў :", swap(CylsTotal):7);
writeln("—Ёб«® Ј®«®ў®Є :", swap(HeadTotal):7);
writeln("—Ёб«® ᥪв®а®ў ­ ¤®а®¦Єг :", swap(SPT):7);
writeln("—Ёб«® Ў ©в ­ ¤®а®¦Єг* :", swap(BPT):7);
writeln("—Ёб«® Ў ©в ­ ᥪв®а* :", swap(BPS):7);
writeln("ђ §¬Ґа ЎгдҐа :", swap(BufSize):7);
writeln("Љ®¤ ECC :", swap(ECC):7);
writeln(" * -- ­Ґд®а¬ вЁа®ў ­­ п Ґ¬Є®бвм", ^M^J);
writeln("‘ҐаЁ©­л© ­®¬Ґа :", serial);
writeln("‚ҐабЁп :",revision);
writeln("Њ®¤Ґ«м :",model);
end;
write("H ¦¬ЁвҐ «оЎго Є« ўЁиг...");
{$IFDEF WINDOWS}
readkey;
{$ELSE}
asm xor ah,ah ; int 16h end;
{$ENDIF}
writeln(^M^J);
end;
end.



Страницы: 1 вся ветка

Форум: "Система";
Текущий архив: 2002.08.29;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.007 c
4-96032
giokoedlogin
2002-06-27 18:16
2002.08.29
как мне перехватить нажатие клавы


1-95793
Андрусь
2002-08-19 18:27
2002.08.29
Вывод диалога после загрузки главного окна


3-95719
alex-ran
2002-08-09 12:26
2002.08.29
Программное выделение записи


1-95859
Cr@sh
2002-08-17 15:50
2002.08.29
Построение линий.


14-95946
Cola
2002-07-27 21:47
2002.08.29
Как ИМЕННО беспла зарегестрировать EhLib.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский