Помогите с написанием анти чита...

Тема в разделе "WASM.BEGINNERS", создана пользователем f1redArk, 16 июл 2008.

  1. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Magnum
    Во первых ToolhelpApi возвращают имя процесса а не путь к модулю из которого он запущен, используя NtQuerySystemInformation, не имеет смысла это сдесь юзать.
    Во вторых NtQueryInformationProcess для инфокласса ProcessImageFileName возвращает путь не в DOS - формате, тоесть символическая ссылка не раскрыта(имя тома).
    Это вообще бред:
    Надо ведь обратное сделать да и ещё с полным именем.
    GetModuleFileName() считывает имя из блока данных загрузчика текущего процесса, зачем открывать чужой, полный бред.
     
  2. Magnum

    Magnum New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2007
    Сообщения:
    925
    Clerk
    Это я привел для того, чтобы найти PID нужного процесса по его имени.


    А как получить хендл процесса для передачи его фунции GetModuleFileName ?
     
  3. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Magnum
    Эээ.. MSDN для кого ?
    Код (Text):
    1. GetModuleFileNameEx
    2.  
    3. The GetModuleFileNameEx function retrieves the fully-qualified path for the file containing the specified module.
    4.  
    5. DWORD GetModuleFileNameEx(
    6.   HANDLE hProcess,
    7.   HMODULE hModule,
    8.   LPTSTR lpFilename,
    9.   DWORD nSize
    10. );
    11.  
    12. Parameters
    13. hProcess
    14. [in] Handle to the process that contains the module.
    15. The handle must have the PROCESS_QUERY_INFORMATION and PROCESS_VM_READ access rights. For more information, see Process Security and Access Rights.
    16.  
    17. hModule
    18. [in] Handle to the module. If this parameter is NULL, GetModuleFileNameEx returns the path of the executable file of the process specified in hProcess.
    19. lpFilename
    20. [out] Pointer to the null-terminated buffer that receives the fully-qualified path to the module. If the size of the file name is larger than the value of the nSize parameter, the file name is truncated and null terminated.
    21. nSize
    22. [in] Size of the lpFilename buffer, in characters.
    DLL Requires Psapi.dll.
     
  4. Magnum

    Magnum New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2007
    Сообщения:
    925
    Clerk
    ЧТобы узнать полный путь для текущего процесса достаточно

    А для НЕ нашего функции GetModuleFileName() нужно передать хэндл того процесса, к которому путь узнаем

    мое решение
    Ваш ответ
    Т.е. вы сказали, что для того, чтобы узнать полное имя чужого процесса через GetModuleFileName - открывать процесс не нужно.

    Я спросил - как тогда получить хэндл??

    Или у нас непонимание? )
     
  5. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Magnum
    Это у тебя нихрена недопонимание, в GetModuleFileName() первый параметр - адрес загрузки модуля имя которого определяется.
     
  6. Magnum

    Magnum New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2007
    Сообщения:
    925
    Clerk
    мы о процессах говорим
     
  7. Magnum

    Magnum New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2007
    Сообщения:
    925
    понял
    да
    я протупил
     
  8. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Magnum
    Шутки у тебя какието плоские.
    GetModuleFileName() работает только с текущим процессом.
    GetModuleFileNameEx() работает с произвольным процессом, она ненадёжна, так как извлекает информацию чтением памяти.
     
  9. Magnum

    Magnum New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2007
    Сообщения:
    925
    Clerk
    да какая нах шутка
    тупанул я на полном серьезе =\\

    +1
     
  10. f1redArk

    f1redArk Member

    Публикаций:
    0
    Регистрация:
    10 июл 2008
    Сообщения:
    34
    Всё примерно ясно, спасибо.