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

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


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

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



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

randbwr

 
 Функция            Запись на диск.
 
 
 
 Синтаксис          #include <dos.h>
 
                    int randbwr(struct fcb *fcbptr, int reccnt);
 
 
 
 Файл, содержащий   dos.h
 
 прототип
 
 
 
 Описание           Функция randbwd    записывает    recent   записей,
 
                    используя блок FCB,  адресуемый указателем fcbptr.
 
                    Эта  операция  выполняется  с  помощью  системного
 
                    вызова DOS 0x28.
 
 
 
                    Действительное число   записанных   записей  можно
 
                    определить  проанализировав  поля  random   record
 
                    блока   FCB.  Данное  поле  после  операции  будет
 
                    заполнено  информацией   о   числе   действительно
 
                    записанных записей.
 
 
 
 Возвращаемое       В зависимости от результата работы функций randbwd
 
 значение           возвращает следующие значения:
 
 
 
                    0- все записи записаны;
 
 
 
                    1- На диске нет места для записи данных. (Не за-
 
                       писано ни одной записи.)
 
 
 
                    2- выводимые записи располагаются рядом с адресом
 
                       0xFFFF (выведено записей столько, сколько воз-
 
                       можно).
 
 
 
 Переносимость      Функция уникальна для DOS. Функция не совместима с
 
                    Windows.
 
 
 
 Смотрите также     randbrd.
 
 
 
 Пример:
 
 
 
 #include<process.h>
 
 #include<string.h>
 
 #include<stdio.h>
 
 #include<dos.h>
 
 
 
 int main(void)
 
 {
 
    char far *save_dta;
 
    char line[80];
 
    char buffer[256] = "RANDBWR test!";
 
    struct fcb blk;
 
    int result;
 
    /* ввести имя файла */
 
    printf("Введите имя нового файла (без маршрута, например\
 
            a:file.dat)\n");
 
    gets(line);
 
    /* записать имя файла в FCB */
 
    if(!parsfnm(line,&blk,1))
 
    printf("Устройство #%d файл: %s\n\n",blk.fcb_drive, blk.fcb_name);
 
    /* создать файл, с использованием функций DOS, работающих с FCB */
 
    if(bdosptr(0x16,&blk,0)==-1)
 
    {
 
       printf("Ошибка при создании файла\n");
 
       exit(1);
 
    }
 
    /* сохранить старый DTA, создать новый */
 
    save_dta = getdta();
 
    setdta(buffer);
 
    /* вывод в файл */
 
    blk.fcb_recsize = 256;
 
    blk.fcb_random = 0L;
 
    result = randbwd(&blk,1);
 
    /* проверить результат операции */
 
    if(!result)
 
       printf("Запись закончена успешно\n");
 
    else
 
    {
 
      perror("Ошибка диска\n");
 
      exit(1);
 
    }
 
    /* закрыть файл */
 
    if(bdosptr(0x10,&blk,0)==-1)
 
    {
 
       printf("Ошибка при закрытии файла\n");
 
       exit(1);
 
    }
 
    /* восстановить DTA */
 
    setdta(save_dta);
 
    return 0;
 
 }
 
 


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

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




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



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


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