Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 10 декабря!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



Возможности языков семейства Си по истине безграничны, однако, в этой свободе кроются и недостатки: всегда нужно программисту держать ухо востро и контроллировать "переполнение буфера", чтобы потом программа не вылетала в "синий экран" на массе разнообразных версий Windows и железа у пользователей. Те же крэкеры и реверсеры специально ищут в коде программ на Си уязвимости, куда можно подсадить любой вирусный код, об этом более подробно автор рассказывал в своём видеокурсе здесь. Я там многое узнал и теперь мой код стал значительно более безопасный.

Функция Записывает значение в память по адресу segment:offset.

 
 Синтаксис          void poke(unsigned segment, unsigned offset,
 
                                                          int value);
 
 
 
 Файл, содержащий   dos.h
 
 прототип
 
 
 
 Описание           Функция poke записывает  целое  значение  value  в
 
                    память  по  адресу  segment:offset,  где segment -
 
                    адрес сегмента, offset- смещение.
 
 
 
                    Если функция  вызывается  при  подключенном  файле
 
                    dos.h,  она трактуются,  как макрокоманда, которая
 
                    расширяется  до  встроенного  кода.  Если же вы не
 
                    подключаете  файл  dos.h  (или  вы  выполнили  для
 
                    данной функции директиву #undef),  вы будете иметь
 
                    функцию, а не макрокоманды.
 
 
 
 Возвращаемое       Нет.
 
 значение
 
 
 
 Переносимость      Функция уникальна для семейства микропроцессоров
 
                    8086.
 
 
 
 Смотрите также     harderr, peek, pokeb.
 
 
 
 Пример:
 
 
 
 #include<dos.h>
 
 #include<conio.h>
 
 
 
 int main(void)
 
 {
 
    clrscr();
 
    cprintf("Убедитесь, что Scroll lock выключена, и нажмите\
 
             любую клавишу...\n");
 
    getch();
 
    poke(0x0000,0x417,16);
 
    cprintf("Теперь Scroll lock включена. \n");
 
    return 0;
 
 }


<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS