avast pro, winrar, asplinux confpoint, операционная система windows, перевод с английского на русский, .

comppbooks.narod.ru

 
 На сайте
   Главная
   Links

 Разделы
avast 4 home
asplinux
доктор веб
англо русский словарь
англо русский словарь
резервное копирование баз данных
1с бухгалтерия
asplinux
Отказоустойчивые системы
avast 4 server
panda
 Главная  Links
{img1} архиватор zip
} if disk_base_pointer.s >= #F000 then begin {адрес слишком велик - таблица в ПЗУ и изменить ее не удастся} end else begin {все в порядке - таблица наверняка в ОЗУ} end; {Теперь скопируем таблицу в свой буфер } disk_base := disk_base_pointer ^; {База диска теперь содержит копию данных таблицы, на которую} {указывал сегментированный адрес в указателе базы диска } {Далее, изменим размер на 1024 байта и байт-заполнитель для} {форматирования на АА. Эти изменения мы выполняем в своей } {копии, которую затем переносим в реальную таблицу.
архиватор zip
{img2} avast 4 home
Впрочем,} {то же самое изменение можно было бы выполнить и непосред- } {ственно в самой таблице.} disk_base [4] := 3; {установить размер сектора 1024 } disk_base [9] := #AA {шестнадцатиричное значение AA } {или десятичное 170 выбрано произвольно} disk_base_pointer ^ := disk_base; {возвратить таблицу на } {место} end; end. {конец модуля listing_7_1 } ГЛАВА 8.
отказоустойчивые вычислительные системы
{img3} kaspersky
ВИДЕОДОСТУП, ЧАСТЬ 1 - ТЕКСТОВЫЙ РЕЖИМ Практически любая программа, выполняемая на персональном компьютере фирмы IBM выводит информацию на экран видеодисплея. Существует два принципиально различных вида информации,представляемой на экране дисплея IBM/PC: текст (т.е.
английский словарь

avast antivirus

avast pro, winrar, asplinux confpoint, операционная система windows, перевод с английского на русский, .
 

система распознавания текста

Этот параметр может принимать одно из следующих значений: Значение Размер сектора в байтах ________ _______________________ 0 128 1 256 2 512 (стандартный для ДОС) 3 1024 Листинг программы 7.1 демонстрирует (на Паскале), как осуществляется доступ к таблице базы диска и как изменяются ее параметры. То же самое можно сделать на БЕЙСИКе, хотя здесь требуется побайтное извлечение адресных значений. Ниже приведена программа на БЕЙСИКе, которая находит и распечатывает таблицу базы диска. 100 REM Программа на БЕЙСИКе для поиска и распечатки таблицы базы диска 110 REM 120 REM Сначала необходимо установить указатель вектора прерываний 130 REM 140 DEF SEG=0 'начало памяти 150 OFFSET1=30*4 'смещение до вектора прерывания 160 REM 170 REM Далее нужно определить смещение адреса вектора 180 REM 190 OFFSET2=PEEK(OFFSET1)+256*PEEK(OFFSET1+1) 200 REM 210 REM Теперь нужно определить сегментную часть адреса вектора 220 REM 230 DEFSEG=PEEK(OFFSET1+2)+256*PEEK(OFFSET1+3) 240 REM 250 REM Теперь можно начинать просмотр таблицы 260 REM 270 PRINT "Ниже следуют данные талицы базы диска в шестнадцатиричном виде" 280 FOR I=0 TO 10 290 PRINT " "; 300 IF PEEK(OFFSET2+1)=16 THEN PRINT"0"; 'добавмть ноль для четности 310 PRINT HEX$(PEEK(OFFSET2+1)); 320 NEXT I 330 PRINT:PRINT Если Вам нужны средства для защиты от копирования, мы предоставляем их Вам в двух формах. Программы 7.103 и 7.104, имеющиеся на дискете, прилагаемой к этой книге, предоставляют процедуры на ассемблере и на Паскале, которые позволят организовать защиту записи и приспособить ее к Вашей схеме защиты. Кроме того, в пакет входит готовая программа защиты, которую можно вызывать как на БЕЙСИКе, так и на Паскале. { Листинг 7.1 -- процедуры на Паскале для доступа к пара-} { метрам "базы диска" } { Этот фрагмент программы демонстрирует возможность доступа } { к "базе диска" или таблице управления дискетами. Этот } { листинг разрабатывался для обеспечения наиболее легкой } { настройки на конкретные нужды пользователей перед его ис- } { пользованием. } module Листинг 7.1; type disk_base_type = array [1..11] of byte; { Ниже кратко описаны все 11 байт таблицы : } { 1 : время шага; время вывода головки } { 2 : время ввода головки; режим ПДП } { 3 : время ожидания отключения двигателя } { 4 : длина сектора в байтах: 0=128,1=256,2=512,3=1024 } { 5 : конец дорожки (номер последнего сектора) } { 6 : длина межсекторного промежутка } { 7 : длина сегмента данных (когда не задана длина сектора) } { 8 : длина промежутка для форматирования } { 9 : байт заполнитель для форматирования } { 10: время установления головки } { 11: время запуска двигателя } var disk_base : disk_base_type; disk_base_pointer : ads of disk_base_type; {сегментированный адрес} vector_pointrer : ads of adsmem; {сегментированный адрес} procedure disk_base_access; begin {сначала указатель устанавливается на вектор прерывания базы} { диска} vector_pointer.s := 0; {раздел сегмента 0, начало памяти} vector_pointer.r := 30 * 4; {смещение для вектора 30} {далее считывается вектор, чтобы установить местоположение} { таблицы} disk_base_pointer := vector_pointer ^; {указатель базы диска ("disk_base_pointer") теперь содержит } {сегментированный адрес, на который указывал указатель век- } {тора ("vector_pointer") -- это означает, что указатель базы} {диска теперь укаазывает на адрес фактического местонахожде-} {ния таблицы } {Теперь будет выполняться проверка того. находится ли таблица} {в оперативной памяти. Это можно установить попытавшись из- } {менить значение в таблице и затем проверив, изменилось ли } {оно на самом деле. Вместо этого мы просто проверим, в каких } {адресах памяти располагается таблица.


антивирусные программы


 
 

CNews: Новости | e-Business | Hi-Tech | Telecom List.ru - каталог ресурсов интернет Directrix џ­¤ҐЄб жЁвЁа®ў ­Ёп
Hosted by uCoz