Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
NoRecoil
#1
to doprowadza mnie do szału       Kod:   #include <windows.h> bajty DWORD; HANDLE hand = NULL; int iw3mpBase = FindWindow (NULL, "iw3mp.exe"); DWORD NoRecoil = iw3mpBase + 0x57DFF; // NoRecoil BYTE NoRecoilOn [2] = {0x75, 0x12}; BYTE NoRecoilOff [2] = {0x74, 0x12}; void BeginHack () {// NoRecoil if (GetAsyncKeyState (VK_F1)) {WriteProcessMemory (hand, (void *) (NoRecoil), NoRecoilOn, sizeof (NoRecoilOn) i bajty); } else {WriteProcessMemory (hand, (void *) (NoRecoil), NoRecoilOff, sizeof (NoRecoilOff) i bajty); }}   tak czy owak ten błąd ive szukał rozwiązać od kilku dni, ale po prostu nie mogę go uzyskać.       Kod:   d: \ users \ troy \ moje dokumenty \ visual studio 2008 \ projects \ norecoil \ norecoil \ memoryhacks. cpp (5): błąd C2664: "FindWindowW": nie można przekonwertować parametru 2 z "const char [10]" na "LPCWSTR" 1> Wskazane typy nie są powiązane; Konwersja wymaga reinterpret_cast, C-style cast lub function-style cast   każda pomoc byłaby wspaniała i wysoko ceniona (na pewno warte niektóre + rep)
Reply
#2
zastąpić int iw3mpBase = findwindow (null, "iw3mp.exe"); z DWORD iw3mpbase = (DWORD) GetModuleHandle ("iw3mp.exe"); to shud naprawić ten błąd, jeśli to, co chcesz, cus u wud jus użyj wtryskiwacza, aby wstrzyknąć, zamiast znaleźć okno
Reply
#3
dzięki, ale wciąż mam ten sam błąd Kod: #include bajty DWORD; HANDLE hand = NULL; DWORD iw3mpBase; DWORD iw3mpbase = (DWORD) GetModuleHandle ("iw3mp.exe"); DWORD NoRecoil = iw3mpBase + 0x57DFF; // NoRecoil BYTE NoRecoilOn [2] = {0x75, 0x12}; BYTE NoRecoilOff [2] = {0x74, 0x12}; void BeginHack () {// NoRecoil if (GetAsyncKeyState (VK_F1)) {WriteProcessMemory (hand, (void *) (NoRecoil), NoRecoilOn, sizeof (NoRecoilOn) i bajty); } else {WriteProcessMemory (hand, (void *) (NoRecoil), NoRecoilOff, sizeof (NoRecoilOff) i bajty); }} błąd jest Kod: 1> d: \ users \ troy \ moje dokumenty \ visual studio 2008 \ projects \ norecoil \ norecoil \ memoryhacks. cpp (6): błąd C2664: "GetModuleHandleW": nie można przekonwertować parametru 1 z "const char [10]" na "LPCWSTR" 1> Wskazane typy nie są powiązane; Konwersja wymaga reinterpret_cast, C-style cast lub function-style cast jedyna różnica w tym błędzie zmieniła się z parametru 2 na 1
Reply
#4
stosowanie: HANDLE CallOfDuty4 = GetCurrentProcess (); WriteProcessMemory (CallOfDuty4, (void *) 0x00457DFF i NoRecoil, 2, 0); ... ale hej jego statyczne, dlaczego nie używaj BYTE NoRecoil [] = {0x75, 0x12}; BYTE NoRecoilOrig [] = {0x74, 0x12}; niepodpisana długa Ochrona; // recoil orig VirtualProtect ((void *) 0x00457DFF, 2, PAGE_READWRITE i ochrona); memcpy ((void *) 0x00457DFF, (const void *) NoRecoilOrig, 2); VirtualProtect ((void *) 0x00457DFF, 2, Ochrona, 0); //Bez odrzutu VirtualProtect ((void *) 0x00457DFF, 2, PAGE_READWRITE i ochrona); memcpy ((void *) 0x00457DFF, (const void *) NoRecoil, 2); VirtualProtect ((void *) 0x00457DFF, 2, Ochrona, 0);
Reply
#5
Kay kilka rzeczy ... 1. Baza .exe jest zawsze statyczna. I robisz "Bazowy + offset" Kiedy przesunięcie jest już + podstawa. Zmień przesunięcie na BASE + 0x17DFF Lub jeszcze lepiej porzuć uchwyt modułu i po prostu użyj 0x57DFF. Kod: WriteProcessMemory (ręka, (void *) (0x57DFF), NoRecoilOn, 2, 0); 2. Zmień URZĄDZENIE na Kod: HANDLE hand = GetCurrentProcess (); 3. Czy to cały twój kod? Gdzie jest Twoja biblioteka dll? 4. Gdzie jest twój bool? Skrót nie będzie wiedział, który jest wyłączony lub włączony ...
Reply
#6
po prostu użyj HANDLE hand = GetCurrentProcess ();
Reply
#7
Wolałbym, co mówiłem, lub używał FindWindowW (NULL, (LPWSTR) "bla"); lub reinterpret_cast (i cokolwiek); R4z8r
Reply
#8
Zacytować: Napisał R4z8r Wolałbym, co mówiłem, lub używał FindWindowW (NULL, (LPWSTR) "bla"); lub reinterpret_cast (i cokolwiek); R4z8r Jeśli woli używać Unicode, może to zrobić: Kod: FindWindowW (NULL, L "bla"); lub Kod: FindWindowW (NULL, _T ("bla")); // Używanie _T () pozwoli ci przełączać się pomiędzy Unicode i Multi-byte bez konieczności zmiany czegokolwiek Nie trzeba pisać, rzuć go.
Reply
#9
jeszcze lepiej, ale myślę, że mógłby lepiej użyć wielobajtowego zestawu znaków - Nie ma znaczenia z hackami. Dzięki, że wskazałeś na konflikt R4z8r
Reply
#10
ok dzięki konfliktowi R4z8r za całą pomoc, skończyło się na zmianie tych 2 rzeczy, które powiedziałeś do walki i mam to Kod: #include #define DLL_PROCESS_ATTACH ("NoRecoil.dll"); Bajty DWORD; HANDLE hand = GetCurrentProcess (); DWORD iw3mpBase; DWORD iw3mpbase = (DWORD) GetModuleHandle ("iw3mp.exe"); DWORD NoRecoil = iw3mpBase + 0x57DFF; // NoRecoil BYTE NoRecoilOn [2] = {0x75, 0x12}; BYTE NoRecoilOff [2] = {0x74, 0x12}; void BeginHack () {// NoRecoil if (GetAsyncKeyState (VK_F1)) {WriteProcessMemory (hand, (void *) (NoRecoil), NoRecoilOn, sizeof (NoRecoilOn) i bajty); } else {WriteProcessMemory (hand, (void *) (NoRecoil), NoRecoilOff, sizeof (NoRecoilOff) i bajty); } DLL_PROCESS_DETACH; } teraz kompiluje się dobrze bez żadnych błędów, po prostu nie działa po wstrzyknięciu i naciśnięciu F1 i czy muszę zmienić DLL_PROCESS_ATTACH ("NoRecoil.dll"); polubić "iw3mp.exe im nie w pełni pewien? Spróbowałem, ale to naprawdę nie robi różnicy (nadal nie działa)
Reply




Users browsing this thread: 1 Guest(s)