Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Wysyłaj pakiety, otrzymując zawsze prawdziwe
#11
Zacytować: Napisał Fiddel Na pewno musisz użyć VirtualProtectEx Lub VirtualProtect, ponieważ jest wewnętrzny.
Reply
#12
Zacytować: Originally Posted by copypaste Lub VirtualProtect, ponieważ jest wewnętrzny. Tak czy inaczej, przepraszam, że suck na internals lol
Reply
#13
K, dzięki za pomoc. Jakiekolwiek sposoby, w menu, otrzymuję "true" od wysyłania pakietów, czy to nie jest złe?
Reply
#14
Zacytować: Originally Posted by Fellas1704 K, dzięki za pomoc. Jakiekolwiek sposoby, w menu, otrzymuję "true" od wysyłania pakietów, czy to nie jest złe? Powinno być zawsze prawdziwe, chyba że jesteś w hltv
Reply
#15
Zacytować: Originally Posted by copypaste Powinno być zawsze prawdziwe, chyba że jesteś w hltv / gotv Okay, dziękuję za pomoc! Stworzyłem tu trochę func: Kod: void SetSendPacket (flaga uint32_t) { uintptr_t OldProtection; VirtualProtect ((LPVOID) GetSendPacket (), flaga, PAGE_EXECUTE_READWRITE, reinterpret_cast (& OldProtection)); * reinterpret_cast (GetSendPacket ()) = Flaga; VirtualProtect ((LPVOID) GetSendPacket (), flaga, OldProtection, NULL); } Kiedy uruchamiam funkcję, moja gra się zawiesza ... Chyba używam VirtualProtect we właściwy sposób, prawda?
Reply
#16
Zacytować: Originally Posted by Fellas1704 Okay, dziękuję za pomoc! Stworzyłem tu trochę func: Kod: void SetSendPacket (flaga uint32_t) { uintptr_t OldProtection; VirtualProtect ((LPVOID) GetSendPacket (), flaga, PAGE_EXECUTE_READWRITE, reinterpret_cast (& OldProtection)); * reinterpret_cast (GetSendPacket ()) = Flaga; VirtualProtect ((LPVOID) GetSendPacket (), flaga, OldProtection, NULL); } Kiedy uruchamiam funkcję, moja gra się zawiesza ... Chyba używam VirtualProtect we właściwy sposób, prawda? https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx Drugi argument musi być rozmiarem, który chcesz zmienić, a pierwszym argumentem musi być adres do niego z powodu tego, co robię Kod: bool GetSendPacket () { return * reinterpret_cast (GetModuleHandle ("engine.dll") + 0xCACAA); } nie otrzymuje adresu.
Reply
#17
Zacytować: Originally Posted by Fellas1704 ~ https://www.unknowncheats.me/forum/1796229-post5.html
Reply
#18
Zacytować: Originally Posted by copypaste https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx Drugi argument musi być rozmiarem, który chcesz zmienić, a pierwszym argumentem musi być adres do niego z powodu tego, co robię Kod: bool GetSendPacket () { return * reinterpret_cast (GetModuleHandle ("engine.dll") + 0xCACAA); } nie otrzymuje adresu. ok, dzięki za wskazanie. oto nowy kod: bool GetSendPacket () { return * reinterpret_cast (Narzędzia :: GameModules.at (1) + 0xCACAA); } void SetSendPacket (flaga uint32_t) { DWORD stary; VirtualProtect ((LPVOID *) GetSendPacket (), sizeof (byte), PAGE_EXECUTE_READWRITE i stare); * reinterpret_cast (GetSendPacket ()) = 0; VirtualProtect ((LPVOID *) GetSendPacket (), sizeof (byte), old, nullptr); }[/KOD] W końcu, po odrobinie debugowania, mam to Kod: * reinterpret_cast (GetSendPacket ()) = 0; faktycznie się zawiesza ... naprawdę nie wiem dlaczego, skoro mam poprawny adres, silnik + bSend offset .. może jakiś błąd konwersji?
Reply
#19
Czy to właśnie próbujesz zrobić? Kod: engine.dll CACA3 - 8B 0D 78362D10 - mov ecx, [engine.dll 5A3678] {[10398E58]} engine.dll CACA9 - B3 01 - mov bl, 01 {1} do engine.dll CACA9 - B3 00 - mov bl, 00 {0} Wygląda na to, że za dużo dereferencji, to proste: Kod: BYTE * GetSendPacketAddr () { return reinterpret_cast ((uintptr_t) GetModuleHandleA ("engine.dll") 0xCACAA); } void SetSendPacket () { DWORD oldp; VirtualProtect (GetSendPacketAddr (), 1, PAGE_EXECUTE_READWRITE, i oldp); * GetSendPacketAddr () = 0; VirtualProtect (GetSendPacketAddr (), 1, oldp i oldp); }
Reply
#20
Zacytować: Originally Posted by csbunnyhopman Czy to właśnie próbujesz zrobić? Kod: engine.dll CACA3 - 8B 0D 78362D10 - mov ecx, [engine.dll 5A3678] {[10398E58]} engine.dll CACA9 - B3 01 - mov bl, 01 {1} do engine.dll CACA9 - B3 00 - mov bl, 00 {0} Wygląda na to, że za dużo dereferencji, to proste: Kod: BYTE * GetSendPacketAddr () { return reinterpret_cast ((uintptr_t) GetModuleHandleA ("engine.dll") 0xCACAA); } void SetSendPacket () { DWORD oldp; VirtualProtect (GetSendPacketAddr (), 1, PAGE_EXECUTE_READWRITE, i oldp); * GetSendPacketAddr () = 0; VirtualProtect (GetSendPacketAddr (), 1, oldp i oldp); } Hej człowieku, dzięki za informacje, naprawdę mi pomógł, rep Można zamknąć wątek @mod
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)