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

ВИДЕОКУРС ВЗЛОМ
выпущен 8 мая!


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

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



Программисты долго мучаются с кодом прогаммы, изучают С++, WinAPI функции, MSDN. Потом пишут банальную систему защиты или навешивают банальный протектор, а крэкеры и реверсеры справляются с такой защитой за 5 минут. В итоге, продажи программы почти нулевые. Чтобы такого не допустить, тут самому надо немного поднабрать опыта отладки, реверсинга, тот же отладчик Ollydbg изучить или дизассемблер IDA Pro. Но где искать по крохам эти знания? Нет, конечно можно годами "методом тыка" разбираться, но куда быстрее видеокурс специальный посмотреть. Вот тут он есть: ссылка. Автор курса с большим опытом и объясняет понятно, я из этого курса много узнал про то как работает компьютер, процессор, про инструменты специальные и как с ними работать. Мои коллеги программисты на работе ничего такого и не знают, теперь я им нос утру.

Функция Копирует n байт.

 
 
 
 Синтаксис          #include<mem.h>
 
                    void movedata(unsigned segsrc, unsigned offsrc,
 
                          unsigned segdst, unsigned offdst, size_t n);
 
 
 
 Файл, содержащий   mem.h, string.h
 
 прототип
 
 
 
 Описание           Функция movedata  копирует  n  байт,  с  исходного
 
                    адреса       (segsrc:offsrc)       по       адресу
 
                    (segdest:offdest).
 
 
 
                    Функция выполняет   перемещение   блоков   данных,
 
                    независимо от модели памяти.
 
 
 
 Возвращаемое       Нет.
 
 значение
 
 
 
 Переносимость      movedata уникальна для DOS.
 
 
 
 Смотрите также     FP_OFF, memcpy, MK_FP, movmem, segread.
 
 
 
 Пример:
 
 
 
 #include <mem.h>
 
 
 
 #define COLOR_BASE 0xB800
 
 #define BUFFER_SIZE 80*25*2
 
 
 
 char buf[BUFFER_SIZE];
 
 
 
 /* сохранить содержимое буфера цветного дисплея в памяти */
 
 void save_color_screen(char near *buffer)
 
 {
 
   movedata(COLOR_BASE, 0, _DS, (unsigned)buffer, BUFFER_SIZE);
 
 }
 
 int main(void)
 
 {
 
    save_color_screen(buf);
 
    return 0;
 
 }


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

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




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



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


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