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

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


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

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



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

Функция Перемещает указатель чтения/записи файла.

 
 
 
 Синтаксис          #include <io.h>
 
                    long lseek(int handle, long offset,int fromwhere);
 
 
 
 Файл, содержащий   io.h
 
 прототип
 
 
 
 Описание           Функция lseek   устанавливает   указатель   файла,
 
                    связанный с параметром handle,  в  новую  позицию,
 
                    которая  находится  на  offset байтов относительно
 
                    местоположения  заданного  параметром   fromwhere.
 
                    Параметр  fromwhere  должен  иметь  одно  из  трех
 
                    значений 0,  1 или 2,  которые представлены  тремя
 
                    символическими  константами (определенными в файле
 
                    stdio.h) следующим образом:
 
 
 
                    --------------------------------------------------
 
                    Параметр fromwhere       Месторасположение
 
                                             в файле
 
                    --------------------------------------------------
 
                    SEEK_SET      (0)        начало файла
 
                    SEEK_CUR      (1)        текущая позиция указателя
 
                                             файла
 
                    SEEK_END      (2)        конец файла
 
                    --------------------------------------------------
 
 
 
 Возвращаемое       Функция lseek возвращает значение смещения новой
 
 значение           позиции указателя, измеряемой в байтах от начала
 
                    файла. В  случае  ошибки  функция lseek возвращает
 
                    значение  -1L  и   глобальная   переменная   errno
 
                    получает одно из следующих значений:
 
 
 
                    EBADF   - Неверный номер файла.
 
                    EINVAL  - Неверный аргумент.
 
 
 
                    На устройствах, непригодных для поиска, таких, как
 
                    терминалы   и   принтеры,   возвращаемое  значение
 
                    неопределено.
 
 
 
 Переносимость      lseek поддерживается на всех системах UNIX.
 
 
 
 Смотрите также     filelength, fseek, ftell, getc, open, sopen,
 
                    ungetc, _write, write.
 
 
 
 Пример:
 
 
 
 #include<sys\stat.h>
 
 #include<string.h>
 
 #include<stdio.h>
 
 #include<fcntl.h>
 
 #include<io.h>
 
 
 
 int main(void)
 
 {
 
    int handle;
 
    char msg[] = "Это тест";
 
    char ch;
 
    /* создать файл */
 
    handle = open("TEST.$$$",O_CREAT|O_RDWR,S_IREAD|S_IWRITE);
 
    /* вывести в файл данные */
 
    write(handle,msg,strlen(msg));
 
    /* переместить указатель в начало файла */
 
    lseek(handle,0L,SEEK_SET);
 
    /* считывать данные из файла, пока не встретим EOF */
 
    do
 
    {
 
       read(handle,&ch,1);
 
       printf("%c",ch);
 
    } while(!eof(handle));
 
    close(handle);
 
    return 0;
 
 }


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

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




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



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


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