Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> OpenProcess && PROCESS_ALL_ACCESS 
V
    Опции темы
gnokki200
Дата 5.11.2008, 00:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 22.4.2008

Репутация: нет
Всего: нет



Доброго времени суток!
Проблема такова, при установки флага PROCESS_ALL_ACCESS функа OpenProcess возвращает NULL  smile 

Код

#include <stdio.h>
#include <windows.h>
#include <tlhelp32.h>

DWORD getPID(char* name){
    HANDLE hProc;
    PROCESSENTRY32 pe;
    hProc = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
    pe.dwSize = sizeof(PROCESSENTRY32);
    if(Process32First(hProc,&pe)){
        do {
            if(strcmp(name,pe.szExeFile) == 0){
                CloseHandle(hProc);
                return pe.th32ProcessID;
            }
        } while(Process32Next(hProc,&pe));
    }
    CloseHandle(hProc);
    return 0;
}

int main(int argc, char* argv[]){

    char*    exeName = "calc.exe";
    DWORD    pid = getPID(exeName);

    if(!pid){
        printf("process [%s] not found\n", exeName);
        return 1;
    }

    HANDLE hProc = OpenProcess(PROCESS_ALL_ACCESS, false, pid);

    if(hProc == NULL){
        DWORD err = GetLastError();
        printf("ERROR[%i] couldn't open process\n", err);
        return 1;
    }

    CloseHandle(hProc);
    return 0;
}

подскажите плз, где же собака порылась?
OS WinXP
PM MAIL   Вверх
volvo877
Дата 5.11.2008, 01:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: нет
Всего: 116



Цитата(gnokki200 @  4.11.2008,  23:58 Найти цитируемый пост)
при установки флага PROCESS_ALL_ACCESS функа OpenProcess возвращает NULL
WinXP SP3, при прогоне твоего кода hProc != NULL, так что код вполне работает... проблема где-то в другом месте... Что тебе возвращает GetLastError?
PM MAIL   Вверх
gnokki200
Дата 5.11.2008, 02:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 22.4.2008

Репутация: нет
Всего: нет



volvo877, спасибо, что прогнал код.
GetLastError() возвращает код ошибки: 5
OS WinXP SP2

полез в winnt.h, там такая картина :

Код

#if (NTDDI_VERSION >= NTDDI_VISTA)
#define PROCESS_ALL_ACCESS        (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | \
                                   0xFFFF)
#else
#define PROCESS_ALL_ACCESS        (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | \
                                   0xFFF)
#endif


сделал :
   HANDLE hProc = OpenProcess(0xFFF, false, pid);
все заработало  smile 
где ошибка и как это объяснить, пока не понимаю. smile
PM MAIL   Вверх
J0ker
Дата 5.11.2008, 06:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 986
Регистрация: 17.9.2008

Репутация: 9
Всего: 14



Код

ERROR_ACCESS_DENIED    5      Access is denied.

чего непонятно-то?

Добавлено через 3 минуты и 10 секунд
Цитата(gnokki200 @  5.11.2008,  02:07 Найти цитируемый пост)
сделал :
   HANDLE hProc = OpenProcess(0xFFF, false, pid);

ну так вы себе права урезали вот вам и отдали процесс



--------------------
user posted image
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0471 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.