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

ВИДЕОКУРС ВЗЛОМ
выпущен 2 сентября!


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

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



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

Функция Получает информацию из таблицы размещения файлов

 
                    указанного дисковода.
 
 
 
 Синтаксис          #include <dos.h>
 
                    void getfat(unsigned char drive,
 
                                           struct fatinfo *dtable);
 
 
 
 Файл, содержащий   dos.h
 
 прототип
 
 
 
 Описание           Функция getfat возвращает  информацию  из  таблицы
 
                    размещения     файлов     согласно    спецификации
 
                    устройства,  заданной в  параметре  drive(0  =  по
 
                    умолчанию,  1=A:;  2=B:; и т.д.). Указатель dtable
 
                    является  адресом   структуры   fatinfo,   которая
 
                    заполняется информацией из таблицы.
 
 
 
                    Структура fatinfo,  заполняемая  функцией   getfat
 
                    описывается следующим образом:
 
 
 
                    struct fatinfo {
 
                       char fi_sclus;  /* секторов на кластер */
 
                       char fi_fatid;  /* байт идентификации таблицы
 
                                       FAT (таблицы размещения файлов)
 
                       int fi_nclus;   /* количество кластеров */
 
                       int fi_busec;   /* количество байтов в секто-
 
                                          ре */
 
                    };
 
 
 
 Возвращаемое       Нет.
 
 значение
 
 
 
 Переносимость      Функция уникальна для DOS.
 
 
 
 Смотрите также     getdfree, getfatd.
 
 
 
 Пример:
 
 
 
 #include<stdio.h>
 
 #include<conio.h>
 
 #include<dos.h>
 
 
 
 int main(void)
 
 {
 
    struct fatinfo diskinfo;
 
    int flag = 0;
 
    printf("Вставте дискету в дисковод 'A'\n");
 
    getch();
 
    getfat(1,&diskinfo); /* получение инф-ции о дисководе */
 
    printf("Дисковод A:");
 
    switch((unsigned char)diskinfo.fatid)
 
    {
 
    case 0xFD: printf("360 Кбайт, одинарной плотности\n");
 
               break;
 
    case 0xF9: printf("5 1/4'' - 1.2 Mбайт или 3 1/2''- 720 Кбайт");
 
               break;
 
    case 0xF0: printf("3 1/2 - 1.44Мбайт\n");
 
               break;
 
    default:   printf("Неформатирован\n");
 
               flag = 1;
 
    }
 
    if(!flag)
 
    {
 
       printf("Секторов на кластер: %5d\n",diskinfo.fi_sclus);
 
       printf("Количество кластеров: %5d\n",diskinfo.fi_nclus);
 
       printf("Байт на сектор: %5d\n",diskinfo.fi_bysec);
 
    }
 
    return 0;
 
 }


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

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




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



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


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