Реферат: Система защиты от несанкционированного копирования
ENDM
Для определения модели процессора следует вызвать команду CPUID, загрузив предварительно в регистр EAX значение 1:
MOV EAX,1
CPUID
При этом в регистр EAX будет загружено слово сигнатуры, по которому можно будет определить модель процессора, а в регистр EDX – слово, состоящее из отдельных флагов, характеризующих возможности процессора (feature flags). Именно содержимое этих двух регистров (EAX, EDX) и сохраняется в полях CPUType (EAX) и CPUFeature (EDX) программы в случае, если процессор не младше Pentium. В остальных случаях значение CPUFeature равно нулю, а CPUType кодируется следующим образом:
CPUType |
Процессор |
1 | Intel 8086/8088 |
2 | Intel 80286 |
3 | Intel 80386 |
4 | Intel 80486 |
??????????? ?????? VBE, ?????? ??????????? ? ?????????? ????????????? ??????????.
Определение данных характеристик даёт нам возможность идентифицировать видеоадаптер компьютера.
MOV AX, 4F00h
ES:DI должны указывать на буфер размером 256, первые четыре байта которого должны содержать «VBE2»
INT 10h
Как результат выполнения данной функции поля буфера заполнены информацией, характеризующие видеоадаптер. В числе прочих параметров там содержится версия VBE, объём видеопамяти, представленный в блоках размером по 64 килобайта, указатель на строку формата ASCIIZ, содержащую информацию фирмы производителя видеокарты.
?????? ?????????????.
Использование индивидуальных характеристик причиняет пользователю определённые неудобства, связанные с невозможностью изменения (в том числе и расширения) состава аппаратных средств. И это ограничение является существенным, так как в наше время для того, чтобы успевать за прогрессом, требуется постоянный upgrade. Автор программы попытался несколько смягчить это неудобство.
Все индивидуальные характеристики разделены на группы. Каждая группа характеристик идентифицирует какой-либо компонент компьютера (видеокарту, материнскую плату (Motherboard), дисководы (FDD) и т.д.) При изменении характеристик в пределах одной группы не делается вывода о незаконности копии, а осуществляется запоминание изменённых параметров. Такой подход позволит пользователю после замены какого-то одного(!) компонента ЭВМ продолжить работу с защищённой программой. Если изменяется более, чем одна группа, то в этом случае делается вывод о несанкционированном переносе программы на другой компьютер.