HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Наш форум > Технические вопросы > Проблемы со Sleep
или программа тормозит...
Страницы (2): [1] 2 »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
ToMMuK
SmallHabit'at

Дата регистрации: Jun 2006
Проживает: Рига
Сообщений: 634
Возраст: 32

Рейтинг



Question Проблемы со Sleep

В общём созал дллку, которая проверяет запущенные программы, составляет список, и проверяет код на определённом оффсете, в общем если находит оффсет и байты которые указаны в коде, то закрываеться приложение, и открываеться Браузер со страничкой.

Вот сам код :

C++ Source Code:
1
void SystemProcessesScan() {
2
  HANDLE hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
3
  if(hProcessSnap != INVALID_HANDLE_VALUE)
4
  {
5
    PROCESSENTRY32 pe32;
6
    pe32.dwSize = sizeof(PROCESSENTRY32);
7
 
8
    if(Process32First(hProcessSnap, &pe32))
9
    {
10
      do
11
      {
12
        HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pe32.th32ProcessID);
13
        if(hProcess != NULL)
14
        {
15
          if(ScanProcessMemory(hProcess))
16
          {
17
            for(int i = 0; i < MAX_PROCESS_DUMP; i++)
18
            {
19
              char aTmpBuffer[MAX_DUMP_SIZE];
20
              SIZE_T aBytesRead = 0;
21
              ReadProcessMemory(hProcess, (LPCVOID)g_ProcessesDumps[i].m_aOffset, (LPVOID)aTmpBuffer, sizeof(aTmpBuffer), &aBytesRead);
22
 
23
              if(memcmp(aTmpBuffer, g_ProcessesDumps[i].m_aMemDump, MAX_DUMP_SIZE) == 0)
24
              {
25
                char buffer[50];
26
                sprintf(buffer,"http://83.99.185.51/~.err?~=%s",g_ProcessesDumps[i].m_progName);
27
                ShellExecute(NULL, "open", buffer,NULL,NULL, SW_SHOWNORMAL);
28
                ExitProcess(0);
29
              }
30
            }
31
          }
32
        }
33
      }
34
      while(Process32Next(hProcessSnap, &pe32));
35
    }
36
  }
37
 
38
  CloseHandle(hProcessSnap);
39
}
40
 
41
void MainThread()
42
{
43
again:
44
  Sleep(5000);
45
  SystemProcessesScan();
46
  goto again;
47
}
48
 
49
extern  "C"  __declspec(dllexport) void Load() {
50
  CreateThread(NULL,NULL,LPTHREAD_START_ROUTINE(MainThread),NULL,0,0);
51
  //SystemProcessesScan();
52
}
53
 
54
BOOL APIENTRY DllMain(HMODULE hModule, DWORD  ul_reason_for_call, LPVOID lpReserved) {
55
  return TRUE;
56
}


По идее каждые пять секунд он должен вызывать функцию SystemProcessesScan();

C++ Source Code:
1
void MainThread()
2
{
3
again:
4
  Sleep(5000);
5
  SystemProcessesScan();
6
  goto again;
7
}


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

Если убрать
C++ Source Code:
char buffer[50];
sprintf(buffer,"http://83.99.185.51/~.err?~=%s",g_ProcessesDumps[i].m_progName);
ShellExecute(NULL, "open", buffer,NULL,NULL, SW_SHOWNORMAL);


То всё работает, но Браузер неоткрываеться.

Так вот, как сделать так чтобы он делал проверку каждые 5 секунд, закрывал приложение и открывал браузер... )

__________________
Сайт латвийского мода

Игроки в халф лайф делятся на две больше группы - те, кто не доехал на поезде и те, кто прошел несколько раз.

Сообщить модератору | | IP: Записан
Сообщение: 38235

Старое сообщение 09-10-2008 13:25
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34529
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Че-то у тебя никакой синхронизации нет...

__________________

Сообщить модератору | | IP: Записан
Сообщение: 38239

Старое сообщение 09-10-2008 14:32
-
ToMMuK
SmallHabit'at

Дата регистрации: Jun 2006
Проживает: Рига
Сообщений: 634
Возраст: 32

Рейтинг



В смысле синхронизации?

__________________
Сайт латвийского мода

Игроки в халф лайф делятся на две больше группы - те, кто не доехал на поезде и те, кто прошел несколько раз.

Сообщить модератору | | IP: Записан
Сообщение: 38240

Старое сообщение 09-10-2008 14:47
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34529
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


В прямом. Дллка создает поток, который не синхронизируется с вызывающим тредом и тупо крутится в бесконечном цикле. Может лучше вместо Sleep использовать WaitForSingleObject с параметром ожидания 5000 мс?

__________________

Сообщить модератору | | IP: Записан
Сообщение: 38241

Старое сообщение 09-10-2008 14:52
-
ToMMuK
SmallHabit'at

Дата регистрации: Jun 2006
Проживает: Рига
Сообщений: 634
Возраст: 32

Рейтинг



Всё, спасибо, разобралься, теперь работает как надо.

Добавлено 09-10-2008 в 22:27:

Нет всётаки что-то ещё не всё, иногда также приходиться ждать по 1 минуте чтобы приложение закрылось...

C++ Source Code:
1
void MainThread()
2
{
3
again:
4
  WaitForSingleObject(hEvent,2000);
5
  SystemProcessesScan();
6
  goto again;
7
}
8
 
9
extern  "C"  __declspec(dllexport) void Load() {
10
  SystemProcessesScan();
11
  hEvent = CreateThread(NULL,NULL,LPTHREAD_START_ROUTINE(MainThread),NULL,0,0);
12
}


Добавлено 09-10-2008 в 23:23:

И как сделать чтобы он вызывал ShellExecute после ExitProcess или
это нереально?

__________________
Сайт латвийского мода

Игроки в халф лайф делятся на две больше группы - те, кто не доехал на поезде и те, кто прошел несколько раз.

Сообщить модератору | | IP: Записан
Сообщение: 38243

Старое сообщение 09-10-2008 20:23
- За что?
Government-Man
Призрак

Дата регистрации: Apr 2006
Проживает: N/A
Сообщений: 3507

Рейтинг



Награды
 
[1 награда]


ToMMuK и замени пожалуйста goto на while( 1 ) - так будет немного нагляднее.

Сообщить модератору | | IP: Записан
Сообщение: 38258

Старое сообщение 10-10-2008 06:50
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34529
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Цитата:
ToMMuK писал:
И как сделать чтобы он вызывал ShellExecute после ExitProcess или
это нереально?

Конечно, нереально.

__________________

Сообщить модератору | | IP: Записан
Сообщение: 38261

Старое сообщение 10-10-2008 09:07
-
BUzer
Pills here!

Группа: Опытный
Дата регистрации: Oct 2005
Проживает: Владивосток
Сообщений: 349
Возраст: 40

Рейтинг



ToMMuK
Ух ты, никак античит пишешь?

Цитата:
char buffer[50];

Тебе не кажется, что буфер как-то маловат? По прикидкам, некоторые названия читов не влезают.

Цитата:
И как сделать чтобы он вызывал ShellExecute после ExitProcess

перехватить ExitProcess.

Сообщить модератору | | IP: Записан
Сообщение: 38283

Старое сообщение 11-10-2008 06:46
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34529
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Цитата:
BUzer писал:
перехватить ExitProcess.

Каким образом?

__________________

Сообщить модератору | | IP: Записан
Сообщение: 38284

Старое сообщение 11-10-2008 07:45
-
ToMMuK
SmallHabit'at

Дата регистрации: Jun 2006
Проживает: Рига
Сообщений: 634
Возраст: 32

Рейтинг



Вродебы нашёл решение, оказываеться приложение выжирало 200-300Мб Оперативки и 50% процессора, и компьютеру было сложно загружать Firefox, отсюда ессесно и лаги, стал загружать ИЭксплорер, работает шустро и правильно

__________________
Сайт латвийского мода

Игроки в халф лайф делятся на две больше группы - те, кто не доехал на поезде и те, кто прошел несколько раз.

Сообщить модератору | | IP: Записан
Сообщение: 38287

Старое сообщение 11-10-2008 09:27
- За что?
BUzer
Pills here!

Группа: Опытный
Дата регистрации: Oct 2005
Проживает: Владивосток
Сообщений: 349
Возраст: 40

Рейтинг



Ммм стоп, про чей ExitProcess идёт речь, и нафига это нужно?
Я просто на первый взгляд не совсем разобрался.

Сообщить модератору | | IP: Записан
Сообщение: 38288

Старое сообщение 11-10-2008 10:14
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34529
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


BUzer дллка завершает вызывающий процесс.

__________________

Сообщить модератору | | IP: Записан
Сообщение: 38289

Старое сообщение 11-10-2008 11:00
-
BUzer
Pills here!

Группа: Опытный
Дата регистрации: Oct 2005
Проживает: Владивосток
Сообщений: 349
Возраст: 40

Рейтинг



Ыть.. Всё-равно не врубаюсь, зачем вызывать ShellExecute после ExitProcess

Сообщить модератору | | IP: Записан
Сообщение: 38292

Старое сообщение 11-10-2008 12:29
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34529
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Ну как я понял, чтобы поскорее убить процесс, а потом уже не спеша запускать браузер

__________________

Сообщить модератору | | IP: Записан
Сообщение: 38293

Старое сообщение 11-10-2008 13:48
-
ToMMuK
SmallHabit'at

Дата регистрации: Jun 2006
Проживает: Рига
Сообщений: 634
Возраст: 32

Рейтинг



Ну всё я разобралься, просто Файрфокс сжирал ресурсы и поэтому процесс не сразу закрывался...

З.Ы. Можно первый пост подредактировать и убрать код?, т.к. програмка анти-чит, лучше чотбы никто невидел её исходников

__________________
Сайт латвийского мода

Игроки в халф лайф делятся на две больше группы - те, кто не доехал на поезде и те, кто прошел несколько раз.

Сообщить модератору | | IP: Записан
Сообщение: 38315

Старое сообщение 11-10-2008 21:21
- За что?
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 14:33. Новая тема    Ответить
Страницы (2): [1] 2 »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Наш форум > Технические вопросы > Проблемы со Sleep
или программа тормозит...
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024