1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
| Altair |
Сообщение
#1
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 4 825 Пол: Мужской Реальное имя: Олег Репутация: 45 |
серийнvй номер тома: xxxx-xxxx где xxxx-xxxx число. Эта информация выводится после завершения форматирования командой format A: Вопросы: 1. У каждой дискеты уникальный серийный номер? То есть понятно, что в мире найдется такая дискета, что ее номер будет совпадать с выбранной. хотя ... xxxxxxxx число перестановок огромно ... не знаю сколько дискет в мире. 2. Где храниться этот номер на дискете? ясно что он храниться где-то на записываемой части данных. Возникает 3 вопрос: 3. Можно его поменять? Видимо можно, исходя из того, что он где-то записан, значит можно переписать его ... -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
![]() ![]() |
| ZeroLink |
Сообщение
#2
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 41 Пол: Мужской Репутация: 0 |
С помощью следущей конители можно считать загрузочный сектор дискеты (и не только) и там я нашел метку тома, какой FAT, но серийник так и не обнаружил. Если найдеш напиши!
Код Uses DOS; var a : Integer; Buf: array [1..512] of Byte; Reg: Registers; f : Text; Procedure ReadSector(Disk,Head: Byte;CSec: Word;var Buf); begin with Reg do begin ah := 2; {Операция чтения} dl := Disk; {Номер привода} dh := Head; {Номер головки} cx := CSec; {Цилиндр/сектор} al := 1; {Читать один сектор} es := seg(Buf); bx := ofs(Buf); Intr($13,Reg); end; end; begin ReadSector(0,0,1,Buf); Writeln;Writeln; Assign(f, 'ser_numb.buf'); ReWrite(f); for a:=1 to 512 do begin write(Buf[a]);writeln(' *-* ',chr(Buf[a])); write(f,Buf[a]);writeln(f,' *-* ',chr(Buf[a])); end; Writeln; Close(f); Readln; end. А с помощью это процедуры можно записать в главный загрузочный сектор содержимое Buf Код Procedure SaveInBoot(var Buf); begin with Reg do begin ah := 3; {Операция записи} al := 1; {Кол-во секторов} dl := 0; {1-й ГД} dh := 0; {Головка 0} cx := 1; {1-й сектор 0-й дорожки} es := seg(Buf); bx := ofs(Buf); Intr($13,Reg); end; end; Сообщение отредактировано: ZeroLink - -------------------- Я могу изменить мир, но Бог не даёт исходник:(
|
Altair Серийный номер тома ... 2.10.2004 21:07
SKVOZNJAK 2 Ты работаешь с асмой, в отличи от меня :) Значит… 3.10.2004 17:15
Altair Ага, все верно, эта инфа храниться на дискете, и е… 5.10.2004 16:27
P@sh@ это всего лишь одно из полей данных в загрузочном … 7.10.2004 14:19
BlackShadow P@sh@, абсолютно с тобой согласен.
Серийный номер … 7.10.2004 20:33
Altair BlackShadow, спасибо, все уже понял. Вобщем это та… 7.10.2004 20:41
APAL Не флейм, а служебная информация!
Во времена,… 7.10.2004 20:47
Altair Эх, я не застал тех времен... :(
как жаль, это б… 7.10.2004 22:51![]() ![]() |
|
Текстовая версия | 13.12.2025 16:09 |