마우스로 호출 된 봇으로부터 보호해야합니다. (클릭이 인간에 의한 것인지 아닌지). http://pastebin.com/SfebsEPj어떻게 우회로로부터 보호 할 수 있습니까?
을하지만 일부 사람들은 똥 우회했다 :
나는 그것을 보호해야 http://pastebin.com/HK9CekzZ
누구나 아이디어가 있습니까?
코드 :
HHOOK MouseHook;
LRESULT CALLBACK MouseHookProc(int nCode, WPARAM wParam, LPARAM lParam)
{
if (nCode == HC_ACTION)
{
if(wParam == WM_RBUTTONDOWN || wParam == WM_LBUTTONDOWN)
{
MSLLHOOKSTRUCT *info=(MSLLHOOKSTRUCT*)lParam;
if((info->flags & LLMHF_INJECTED) == LLMHF_INJECTED)
{
ExitProcess(-1);
}
}
}
return CallNextHookEx(MouseHook,nCode,wParam,lParam);
}
void AntiShotbotLogger()
{
HINSTANCE hInstance = GetModuleHandle(NULL);
MouseHook = SetWindowsHookEx(WH_MOUSE_LL, MouseHookProc, hInstance, NULL);
MSG message;
while (GetMessage(&message,NULL,0,0)) {
TranslateMessage(&message);
DispatchMessage(&message);
}
UnhookWindowsHookEx(MouseHook);
바이 패스 :
HHOOK MouseHook;
LRESULT CALLBACK ReplaceMousehook(int nCode, WPARAM wParam, LPARAM lParam)
{
if (nCode == HC_ACTION && (wParam == WM_RBUTTONDOWN || wParam == WM_LBUTTONDOWN))
{
reinterpret_cast<MSLLHOOKSTRUCT*>(lParam)->flags = 0;
std::cout << "Injection bypassed!" << std::endl;
}
return CallNextHookEx(MouseHook,nCode,wParam,lParam);
}
void ShotbotBypassExample()
{
while(true)
{
if (GetAsyncKeyState(VK_NUMPAD0)&1)
{
std::cout << "Sending input now." << std::endl;
INPUT input[2];
input[0].type = INPUT_MOUSE;
input[0].mi.dwFlags = MOUSEEVENTF_LEFTDOWN;
input[1].type = INPUT_MOUSE;
input[1].mi.dwFlags = MOUSEEVENTF_LEFTUP;
SendInput(2, input, sizeof(INPUT));
}
Sleep(1);
}
}
int main(int argc, char** argv)
{
std::thread keybind(ShotbotBypassExample);
keybind.joinable();
HHOOK hook = SetWindowsHookEx(WH_MOUSE_LL, ReplaceMousehook, GetModuleHandle(0), NULL);
MSG message;
while (GetMessage(&message,NULL,0,0)) {
TranslateMessage(&message);
DispatchMessage(&message);
}
return 0;
}
작은 독립적 인 예를 질문에 붙여 넣으십시오. 신뢰할 수없는 외부 링크를 열지 않으려 고합니다. –
_ '긴급히 필요합니다.'_ 기본 하향 추종자이기 때문에 그걸 제거했습니다 ... –
@ H2CO3 트러스트, 김밥입니다. – user3018746