Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Привязка к железу

3.7K
12 декабря 2003 года
PunkPing
9 / / 06.10.2003
Народ!

Подскажите пожайлуста можно ли привязать программу к отдельному компу(маме,БИОСу),
т.е. узнать их серийный номер или другую уникальную информацию о железе.
2.1K
12 декабря 2003 года
UjinNash
64 / / 29.11.2003
Цитата:
Originally posted by PunkPing
Народ!

Подскажите пожайлуста можно ли привязать программу к отдельному компу(маме,БИОСу),
т.е. узнать их серийный номер или другую уникальную информацию о железе.



Например к HDD.
Следующая программа определит тип HDD и его серийный номер
---CUT---

.Model Tiny
.Code
Base_Port equ 1f0h
HD equ 0 ; Hard Disk number
.Startup
mov dx, Base_Port + 6
mov al, 10100000b or (HD shl 4)
out dx, al
jmp $ + 2
inc dx
mov al, 0ech
out dx, al
jmp $ + 2
@@Wait: in al, dx
jmp $ + 2
test al, 80h
jnz @@Wait
mov dx, Base_Port
lea di, Buffer
mov cx, 100h
@@1: in ax, dx
xchg ah, al
stosw
loop @@1
xor cx, cx
lea dx, Fname
mov ah, 3ch
int 21h
xchg bx, ax
lea dx, Buffer
mov cx, 100h
mov ah, 40h
int 21h
mov ah, 3eh
int 21h
ret

Fname db 'hdd_id.dat', 0
Buffer db 100h dup (?)

end
---CUT---

В Win можно привязать к PCI устройствам, список PCI устройств можно получить из реестра:
Win'2000 HKLM/System/CurrentControlSet/Enum/PCI/
Для Win9x HKLM/Enum/PCI/

Дату BIOS можно прочитать и так (только под Win'9X):
var
p : pointer;
buffer : array[0..20] of char;
Stroka : PChar;
begin
FillChar(buffer,20,0);
p := Pointer($0FFFF5);
Move(p^,buffer[0],8);
Stroka:=@buffer;
label1.Caption := String(Stroka);
end;

А еще можно считать 64K начиная с адреса F000:0000h. Там лежит инфа о системе.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог