@KERNEL
Posted: Sat Aug 25, 2018 8:24 pm
Добавлено в ядро функция 81, она отвечает за переопределение и установку int 0x40 прерываний, также для безопасности была создана программа @KERNEL, которая при запуске переопределяет функцию 81, чтобы последующие программы не могли ей воспользоваться, это создано в первую очередь для безопасности. До запуска программы @KERNEL все приложения могут воспользоваться функцией 81, после - нет. Программа @KERNEL запускается автоматически и прописана в /SETTINGS/AUTORUN.DAT
Описание функции:
Например, чтобы модифицировать функцию прорисовку текста, приведу пример кода программы на C-- Sphinx:
Описание функции:
Code: Select all
eax = 81
ebx - номер функции 0x40 перерывания
ecx - указатель на начало импортированных данных в память ядра
edx - стартовый адрес функции при вызове 0x40
esi - указатель на конец импортированных данных в память ядра
int 0x40
Code: Select all
beginNewDrawText:
data ....
void newDrawText()
{
code...
EAX - указатель на старую функцию прорисовки текста
$call eax
}
data ....
endNewDrawText:
void main()
{
EAX = 81;
EBX = 4;
ECX = #beginNewDrawText;
EDX = #newDrawText;
ESI = #endNewDrawText;
$int 0x40
}