Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5

Wyślij klucze do gry za pomocą haka DirectInput
#1

Cześć chłopaki. Próbuję wysłać klucze do gry online o nazwie Shaiya. Próbowałem SendMessage i PostMessage (w celu wysłania kluczy, gdy okno nie jest skupione) w c #, ale to nie działa dla mnie. Wysyła klucz do czatu, ale postać się nie porusza. Sprawdziłem klucze za pomocą szpiega ++ i wysyłam je poprawnie. Zrobiłem więc kilka badań i myślę, że Shaiya potrzebuje DirectInput. Aby wysyłać klucze z okienkiem DirectInput musi się skupić. Mam to działa z c # ale jak powiedziałem, że to wymaga skupienia, ale chcę wysłać klucze do zminimalizowanego / nieukierunkowanego okna.Aby to zrobić, przeszukałem wiele forów i od czego się uczę, muszę podłączyć DirectInput i zmień bufor klawiszy za pomocą moich kluczy. Znajduję poniższy kod i zmieniam zmienne, które trzeba zmienić i wstrzyknęłam plik DLL do gry. Powoduje to wstrzyknięcie i kiedy klikam "F5" nic się nie dzieje. Spojrzałem na szpiega ++, to nawet nie wysyła klucza do gry, otrzymałem 0 wiadomość o tym kluczu. Oto mój kod. Z tego co widzę, SendKeyDInput nie działa. Ktoś ma na to rozwiązanie?         Kod:   // dllmain.cpp: Definiuje punkt wejścia dla aplikacji DLL. #define _CRT_SECURE_NO_WARNINGS // ignoruje niektóre ostrzeżenia ... #define _CRT_NON_CONFORMING_SWPRINTFS // ... #include "stdio.h" #include <windows.h> #include "detours.h" #include <cstdio> #include <string> #include <cstring> #include <wektor> #include <time.h> #include "dinput.h" #pragma comment (lib, "detours.lib") #pragma comment (lib, "user32.lib") typedef HRESULT (__stdcall * GetDeviceState_t) (LPDIRECTINPUTDEVICE, DWORD, LPVOID *); HRESULT __stdcall hkGetDeviceState (LPDIRECTINPUTDEVICE pDevice, DWORD cbData, LPVOID * lpvData); DWORD Base = 0; DWORD GetDeviceStateOffset = 0x7670; // To jest przesunięcie GetDeviceState z DInput8.dll // Otwórz IDA i Importuj DInput8.dll, następnie spójrz w tabelę funkcji dla DirectInput8Create // Istnieje adres (1000XXXX lub 0CXXXXX) - skopiuj go i zapisz na później // Następnie spójrz na CDIDev_GetDeviceState i skopiuj również ten adres // Teraz odbierz adres z CDIDev_GetDeviceState od DIrectInput8Create, a otrzymasz swój HANDLE PRZESUNIĘCIA tmpHandle = NULL; HMODULE hModDInput8 = NULL; DWORD dwGetDeviceState = NULL; FARPROC dwDirectInput8Create = NULL; struct MyKeys {BYTE Key; DWORD StartTime; DWORD TTL; BOOLEAN isDown; }; MyKeys KeyBuffer [256]; DWORD WINAPI HookThread (); void add_log (format char *, ...); void SendKeyDInput (bajt DIK_, czas DWORD); GetDeviceState_t pGetDeviceState; BOOL APIENTRY DllMain (HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) {switch (ul_reason_for_call) {case DLL_PROCESS_ATTACH: add_log ("========== LOG START =========="); add_log ("Dołączony DLL"); add_log ("Tworzenie wątku ..."); tmpHandle = CreateThread (0, 0, (LPTHREAD_START_ROUTINE) i HookThread, 0, 0, 0); if (! tmpHandle) {add_log ("ThreadCreation Failed!"); } złamać ; case DLL_THREAD_ATTACH: case DLL_THREAD_DETACH: case DLL_PROCESS_DETACH: break; } return TRUE; } DWORD WINAPI HookThread () {Base = (DWORD) GetModuleHandleA ("game.exe"); // Zdobądź bazę GAME (zmienia się za każdym razem, gdy otworzysz grę) add_log ("Thread Created"); add_log ("game.exe Base:% x", Base); while (! hModDInput8) {add_log ("Wyszukiwanie dinput8.dll ..."); hModDInput8 = GetModuleHandle (L "dinput8.dll"); Sen (100); } add_log ("Znaleziono dinput8.dll:% x!", hModDInput8); while (! dwDirectInput8Create) {add_log ("Wyszukiwanie GetDeviceState ..."); dwDirectInput8Create = GetProcAddress (hModDInput8, "DirectInput8Create"); Sen (100); } add_log ("Found DirectInput8Create:% x!", dwDirectInput8Create); dwGetDeviceState = (DWORD) ((DWORD) dwDirectInput8Create - GetDeviceStateOffset); add_log ("GetDevicestate jest tutaj (DirectInput8Create -% x):% x", GetDeviceStateOffset, dwGetDeviceState); add_log ("Hooking GetDeviceState ..."); pGetDeviceState = (GetDeviceState_t) DetourAttach (& (PVOID &) dwGetDeviceState, (PBYTE) hkGetDeviceState); add_log ("Initiate Keyboard Buffer ..."); // zainicjuj bufor dla (int i = 0; i <256; i ++) {KeyBuffer [i]. isDown = false; KeyBuffer [i]. Klawisz = 0; KeyBuffer [i]. StartTime = 0; KeyBuffer [i]. TTL = 0; } Add_log ("Przechodzenie do głównej pętli ..."); while (true) {if (GetAsyncKeyState (VK_F5) i 1 << 15) {// Sprawdzamy najbardziej znaczący bit z VK_F5 (F5), podczas gdy zmieniliśmy go z 15 bitów na lewy 1 //, a następnie mały del
Reply


Messages In This Thread
Wyślij klucze do gry za pomocą haka DirectInput - by manuel.boehm - 11-17-2018, 04:32 AM
RE: Wyślij klucze do gry za pomocą haka DirectInput - by johnabraham1 - 11-17-2018, 04:35 AM
RE: Wyślij klucze do gry za pomocą haka DirectInput - by tony.ahmadi - 11-17-2018, 04:38 AM
RE: Wyślij klucze do gry za pomocą haka DirectInput - by d.an.ila.h.u.c.is.o - 11-17-2018, 04:41 AM
RE: Wyślij klucze do gry za pomocą haka DirectInput - by azndragongod - 11-17-2018, 04:48 AM
RE: Wyślij klucze do gry za pomocą haka DirectInput - by accounts.123456789 - 11-17-2018, 04:51 AM
RE: Wyślij klucze do gry za pomocą haka DirectInput - by stevanie.gunawan - 11-17-2018, 04:54 AM
RE: Wyślij klucze do gry za pomocą haka DirectInput - by kmtnez - 11-17-2018, 04:57 AM
RE: Wyślij klucze do gry za pomocą haka DirectInput - by ban6ee - 11-17-2018, 05:00 AM
RE: Wyślij klucze do gry za pomocą haka DirectInput - by mholzem - 11-17-2018, 05:03 AM
RE: Wyślij klucze do gry za pomocą haka DirectInput - by secret.admirer1486 - 11-17-2018, 05:06 AM
RE: Wyślij klucze do gry za pomocą haka DirectInput - by rebecca.lacy - 11-17-2018, 05:09 AM
RE: Wyślij klucze do gry za pomocą haka DirectInput - by sizlingash - 11-17-2018, 05:12 AM
RE: Wyślij klucze do gry za pomocą haka DirectInput - by box80 - 11-17-2018, 05:15 AM
RE: Wyślij klucze do gry za pomocą haka DirectInput - by kerryj.vernon - 11-17-2018, 05:21 AM
RE: Wyślij klucze do gry za pomocą haka DirectInput - by roaldvangelder - 11-17-2018, 05:24 AM
RE: Wyślij klucze do gry za pomocą haka DirectInput - by preethiprasad.23 - 11-17-2018, 05:27 AM
RE: Wyślij klucze do gry za pomocą haka DirectInput - by bastien.maunoir - 11-17-2018, 05:30 AM



Users browsing this thread: 1 Guest(s)