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

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


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

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



Возможности языков семейства Си по истине безграничны, однако, в этой свободе кроются и недостатки: всегда нужно программисту держать ухо востро и контроллировать "переполнение буфера", чтобы потом программа не вылетала в "синий экран" на массе разнообразных версий Windows и железа у пользователей. Те же крэкеры и реверсеры специально ищут в коде программ на Си уязвимости, куда можно подсадить любой вирусный код, об этом более подробно автор рассказывал в своём видеокурсе здесь. Я там многое узнал и теперь мой код стал значительно более безопасный.

Имеется PID процесса,как узнать имя "process executable"?

#include <psapi.h>
 #pragma comment(lib,"psapi.lib")
 //psapi.h,lib,dll есть в VC5 и VC6
 
    HANDLE  hProc;
    char    szProcessName [80];
    HMODULE ahMod [10];
    DWORD   dwNeeded;
 
    hProc = OpenProcess (PROCESS_QUERY_INFORMATION|PROCESS_VM_READ,
                         FALSE,
                         PID); // PID должен быть обьявлен как DWORD
    if (hProc)
    {
       if (EnumProcessModules (hProc,
                               ahMod,
                               sizeof(ahMod),
                               &dwNeeded))
       {
          if (GetModuleBaseName (hProc,
                                 ahMod[0],
                                 szProcessName,
                                 sizeof(szProcessName)))
          {
             <success>
          }
          else
          {
             <failure>
          }
       }
       CloseHandle (hProc);
    }
 }

 

 

 






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

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




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



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


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