Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> EnumProcessModules 
:(
    Опции темы
Soeth
Дата 30.6.2011, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Помогите пожалуйста как к данному исходнику прикрутить функцию EnumProcessModules?
Код

void SystemProcessesScan() { 
        HANDLE hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); 
        if(hProcessSnap != INVALID_HANDLE_VALUE) 
        { 
                PROCESSENTRY32 pe32; 
                pe32.dwSize = sizeof(PROCESSENTRY32); 
  
                if(Process32First(hProcessSnap, &pe32)) 
                { 
                        do 
                        { 
                                HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pe32.th32ProcessID); 
                                if(hProcess != NULL) 
                                { 
                                        if(ScanProcessMemory(hProcess)) 
                                        { 
                                                 
                                                WinExec("taskkill /IM main.exe",10); 
                                                ExitProcess(0); 
                                                 
                                        } 
                                } 
                        } 
                        while(Process32Next(hProcessSnap, &pe32)); 
                } 
        } 
  
        CloseHandle(hProcessSnap); 
} 
  
bool ScanProcessMemory(HANDLE hProcess)  
{ 
        for(int i = 0; i < MAX_PROCESS_DUMP; i++) 
        { 
                char aTmpBuffer[MAX_DUMP_SIZE]; 
                SIZE_T aBytesRead = 0; 
                ReadProcessMemory(hProcess, (LPCVOID)g_ProcessesDumps[i].m_aOffset, (LPVOID)aTmpBuffer, sizeof(aTmpBuffer), &aBytesRead); 
  
                if(memcmp(aTmpBuffer, g_ProcessesDumps[i].m_aMemDump, MAX_DUMP_SIZE) == 0) 
                { 
                        return true; 
                        break; 
                } 
} 
return false; 
} 
  
void MainThread() 
{ 
again: 
    SystemProcessesScan(); 
    Sleep(350); 
    goto again; 
} 
  
  
  
extern  "C"  __declspec(dllexport) void Main() { 
        CreateThread(NULL,NULL,LPTHREAD_START_ROUTINE(MainThread),NULL,0,0); 
        SystemProcessesScan();   
  
} 
  
BOOL APIENTRY DllMain(HMODULE hModule, DWORD  ul_reason_for_call, LPVOID lpReserved) { 
    return TRUE; 
} 
  
#ifdef _MANAGED 
#pragma managed(pop) 
#endif  

PM MAIL   Вверх
bass
Дата 16.7.2011, 20:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



тебе скан процессмемори нкжен????????? Если нет вместо него......
PM MAIL   Вверх
Estranged
Дата 16.7.2011, 23:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



И утечку HANDLE еще устранить не помешает  smile 
А EnumProcessModules вписать сюда куда-нибудь, на этом участке:
Код

                                if(hProcess != NULL) 
                                { 
                                        if(ScanProcessMemory(hProcess)) 
                                        { 
                                                 
                                                WinExec("taskkill /IM main.exe",10); 
                                                ExitProcess(0); 
                                                 
                                        } 
                                } 

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

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


 




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


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

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