Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.06.2011, 14:33   #1
Soeth
 
Регистрация: 30.06.2011
Сообщений: 7
По умолчанию EnumProcessModules

Помогите пожалуйста как к данному исходнику прикрутить функцию EnumProcessModules?
PHP код:
void SystemProcessesScan() {
        
HANDLE hProcessSnap CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS0);
        if(
hProcessSnap != INVALID_HANDLE_VALUE)
        {
                
PROCESSENTRY32 pe32;
                
pe32.dwSize sizeof(PROCESSENTRY32);
 
                if(
Process32First(hProcessSnap, &pe32))
                {
                        do
                        {
                                
HANDLE hProcess OpenProcess(PROCESS_ALL_ACCESSFALSEpe32.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 0MAX_PROCESS_DUMPi++)
        {
                
char aTmpBuffer[MAX_DUMP_SIZE];
                
SIZE_T aBytesRead 0;
                
ReadProcessMemory(hProcess, (LPCVOID)g_ProcessesDumps[i].m_aOffset, (LPVOID)aTmpBuffersizeof(aTmpBuffer), &aBytesRead);
 
                if(
memcmp(aTmpBufferg_ProcessesDumps[i].m_aMemDumpMAX_DUMP_SIZE) == 0)
                {
                        return 
true;
                        break;
                }
}
return 
false;
}
 
void MainThread()
{
again:
    
SystemProcessesScan();
    
Sleep(350);
    goto 
again;
}
 
 
 
extern  "C"  __declspec(dllexportvoid Main() {
        
CreateThread(NULL,NULL,LPTHREAD_START_ROUTINE(MainThread),NULL,0,0);
        
SystemProcessesScan();  
 
}
 
BOOL APIENTRY DllMain(HMODULE hModuleDWORD  ul_reason_for_callLPVOID lpReserved) {
    return 
TRUE;
}
 
#ifdef _MANAGED
#pragma managed(pop)
#endif 
Soeth вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск