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

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


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

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



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

Функция Блокирует доступ к части файла.

 
 
 
 Синтаксис          #include<io.h>
 
                    int lock(int handle, long offset, long length);
 
 
 
 Файл, содержащий   io.h
 
 прототип
 
 
 
 Описание           lock позволяет    вам    использовать     механизм
 
                    разделения  доступа  к файлам введенный в DOS 3.x.
 
                    Перед  использованием  этой   функции   необходимо
 
                    загрузить SHARE.EXE.
 
 
 
                    С помощью данной функции можно заблокировать любые
 
                    неперекрывающиеся    области   файла.   Программа,
 
                    пытающаяся    считывать    или    записывать     в
 
                    блокированной  области файла,  делает три попытки.
 
                    Если  все  три  попытки  окончились  неудачей,  то
 
                    операция заканчивается по ошибке.
 
 
 
 Возвращаемое       Функция возвращает 0 при успешном завершении, и
 
 значение           -1 при ошибке.
 
 
 
 Переносимость      Функция уникальна для систем DOS версий 3.x. Более
 
                    ранние версии DOS не поддерживают этих вызовов.
 
 
 
 Смотрите также     open, sopen, unlock.
 
 
 
 Пример:
 
 
 
 #include<io.h>
 
 #include<fcntl.h>
 
 #include<sys\stat.h>
 
 #include<process.h>
 
 #include<share.h>
 
 #include<stdio.h>
 
 
 
 int main(void)
 
 {
 
     int handle,status;
 
     long length;
 
     /* для поддержки разделения файлов необходимо пред-
 
        варительно загрузить SHARE.EXE. */
 
     handle = sopen("c:\\autoexec.bat",
 
          O_RDONLY, SH_DENYNO, S_IREAD);
 
     if(!handle)
 
     {
 
         printf("Ошибка при операции sopen");
 
         exit(1);
 
     }
 
     length = filelength(handle);
 
     status = lock(handle,0L,length/2);
 
     if(status == 0)
 
         printf("Успешная операция блокировки");
 
     else
 
         printf("Ошибка при операции блокировки");
 
     status = unlock(handle,0L,length/2);
 
     if(status == 0)
 
         printf("Успешная операция разблокировки");
 
     else
 
         printf("Ошибка при операции разблокировки");
 
     close(handle);
 
     return 0;
 
 }


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

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




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



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


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