Гайд Делаем AFK-Bot под любую игру

Я лучше тебя
Пользователь
Статус
Оффлайн
Регистрация
9 Окт 2017
Сообщения
184
Реакции[?]
75
Поинты[?]
1K
Всем привет, а именно здравствуйте.
С вами AzeDonLees.
И так решил сделать маленький Гайд, думаю многим суть его будет известен.
И так приступим, самый легкий способ(думаю все назовут это быдло способом, но все же для новичков может самое то).

Код:​
Код:
DWORD WINAPI AFKStarter()
{
while (true)//наш цикл
{
if (AntiAFK.iValue)//включение функции
{
keybd_event(VK_SPACE, 0, 0, 0);//Нажатие кнопки пробел
Sleep(100);//Время сколько будет задерживаться кнопка, в мс
keybd_event(VK_SPACE, 0, KEYEVENTF_KEYUP, 0);//Отпускаем кнопку пробел
}
Sleep(Ваше время в мс);//Время через какое время будет зажиматься кнопка
}
return 0;
}

Далее записываем код ниже, в вашу точку входа.
Код:
CloseHandle(CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)Function, 0, 0, 0));
В нашем случае вместо Function, будет "AFKStarter".
Т.е CloseHandle(CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) AFKStarter, 0, 0, 0));

И так придем ко второму способу(С гайда Крайслера):
Код:
void SetAFK(int Key=VK_SPACE, DWORD time = 10)
{
INPUT m_pInput= { 0 };
m_pInput.type = INPUT_KEYBOARD;
m_pInput.ki.wScan = 0;
m_pInput.ki.time = 0;
m_pInput.ki.dwExtraInfo = 0;

// Нажать
m_pInput.ki.wVk = Key;
m_pInput.ki.dwFlags = 0;
SendInput(1, &m_pInput, sizeof(INPUT));

Sleep(time);

// Отпустить
m_pInput.ki.wVk = Key;
m_pInput.ki.dwFlags = KEYEVENTF_KEYUP;
SendInput(1, &m_pInput, sizeof(INPUT));
}



DWORD WINAPI AFK(HANDLE hThread)
{
while (true)
{
if (bAFK==TRUE)
SetAFK(); 
Sleep(Ваше время в мс);//Время через какое время будет зажиматься кнопка
}
return 0;
}
Подключаем так же, как и выше. Все спасибо за внимание, жду вопросов и критики.
P.S Строго не судить впервые создаю подобные темы.
 
Участник
Статус
Оффлайн
Регистрация
26 Май 2017
Сообщения
333
Реакции[?]
165
Поинты[?]
0
Создавать отдельный поток в процессе на это? Палево очевидное.
 
Пользователь
Статус
Оффлайн
Регистрация
7 Сен 2014
Сообщения
61
Реакции[?]
86
Поинты[?]
0
Создавать отдельный поток в процессе на это? Палево очевидное.
Про какое "палево" вы говорите и что имеете в виду? Создавать потоки - это чаще всего "хорошо", нежели "плохо", к тому-же, в данном примере это необходимо. Никто в здравом уме не будет использовать в своих проектах конструкцию while true, только на учебном примере; а если не выводить её в поток, то зацикливание вызовет "зависание" родительского процесса.
 
Участник
Статус
Оффлайн
Регистрация
26 Май 2017
Сообщения
333
Реакции[?]
165
Поинты[?]
0
Про какое "палево" вы говорите и что имеете в виду? Создавать потоки - это чаще всего "хорошо", нежели "плохо", к тому-же, в данном примере это необходимо. Никто в здравом уме не будет использовать в своих проектах конструкцию while true, только на учебном примере; а если не выводить её в поток, то зацикливание вызовет "зависание" родительского процесса.
В некоторых античитах есть перехват потоков. Тем более в данном примере, если юзать в вф, то словишь бан, ибо стоит хук на SendInput, keybd_event.
 
Пользователь
Статус
Оффлайн
Регистрация
7 Сен 2014
Сообщения
61
Реакции[?]
86
Поинты[?]
0
В некоторых античитах есть перехват потоков. Тем более в данном примере, если юзать в вф, то словишь бан, ибо стоит хук на SendInput, keybd_event.
А зачем выполнять этот код в процессе игры? Где вы видите в этом необходимость?
 
Участник
Статус
Оффлайн
Регистрация
26 Май 2017
Сообщения
333
Реакции[?]
165
Поинты[?]
0
Я лучше тебя
Пользователь
Статус
Оффлайн
Регистрация
9 Окт 2017
Сообщения
184
Реакции[?]
75
Поинты[?]
1K
Последнее редактирование модератором:
Забаненный
Статус
Оффлайн
Регистрация
3 Янв 2018
Сообщения
19
Реакции[?]
8
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Всем привет, а именно здравствуйте.
С вами AzeDonLees.
И так решил сделать маленький Гайд, думаю многим суть его будет известен.
И так приступим, самый легкий способ(думаю все назовут это быдло способом, но все же для новичков может самое то).

Код:​
Код:
DWORD WINAPI AFKStarter()
{
   while (true)//наш цикл
   {
      if (AntiAFK.iValue)//включение функции
      {
         keybd_event(VK_SPACE, 0, 0, 0);//Нажатие кнопки пробел
         Sleep(100);//Время сколько будет задерживаться кнопка, в мс
         keybd_event(VK_SPACE, 0, KEYEVENTF_KEYUP, 0);//Отпускаем кнопку пробел
      }
      Sleep(Ваше время в мс);//Время через какое время будет зажиматься кнопка
   }
   return 0;
}

Далее записываем код ниже, в вашу точку входа.
Код:
CloseHandle(CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)Function, 0, 0, 0));
В нашем случае вместо Function, будет "AFKStarter".
Т.е CloseHandle(CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) AFKStarter, 0, 0, 0));
бесполезный гайд

И так придем ко второму способу(С гайда Крайслера):
Код:
void SetAFK(int Key=VK_SPACE, DWORD time = 10)
{
   INPUT m_pInput= { 0 };
   m_pInput.type = INPUT_KEYBOARD;
   m_pInput.ki.wScan = 0;
   m_pInput.ki.time = 0;
   m_pInput.ki.dwExtraInfo = 0;
 
   // Нажать
   m_pInput.ki.wVk = Key;
   m_pInput.ki.dwFlags = 0;
   SendInput(1, &m_pInput, sizeof(INPUT));

   Sleep(time);

   // Отпустить
   m_pInput.ki.wVk = Key;
   m_pInput.ki.dwFlags = KEYEVENTF_KEYUP;
   SendInput(1, &m_pInput, sizeof(INPUT));
}



DWORD WINAPI AFK(HANDLE hThread)
{
   while (true)
   {
      if (bAFK==TRUE)
      SetAFK();
       Sleep(Ваше время в мс);//Время через какое время будет зажиматься кнопка
   }
   return 0;
}
Подключаем так же, как и выше. Все спасибо за внимание, жду вопросов и критики.
P.S Строго не судить впервые создаю подобные темы.
и в чём прикол афкбота?
 
Модератор форума
Модератор
Статус
Оффлайн
Регистрация
2 Дек 2016
Сообщения
2,385
Реакции[?]
1,881
Поинты[?]
36K
Первый способ удобнее.
Второй как по мне - лишний код
 
Пивных дел мастер
Пользователь
Статус
Оффлайн
Регистрация
21 Фев 2016
Сообщения
112
Реакции[?]
33
Поинты[?]
0
Последнее редактирование модератором:
Я лучше тебя
Пользователь
Статус
Оффлайн
Регистрация
9 Окт 2017
Сообщения
184
Реакции[?]
75
Поинты[?]
1K
Сверху Снизу