Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Zasada działania trainer


Rekomendowane odpowiedzi

Opublikowano

Modyfikują pamięć programu. To najbardziej ogólne wyjaśnienie. Po prostu, zmieniają wartości schowane pod jakimiśtam adresami w grze żeby uzyskać np. milion hp, albo całe instrukcje (hooki funkcji) żeby uzyskać np. nieśmiertelność.­

846331404756772371599.jpeg
Opublikowano

Pamięć jest przydzielana procesowi (stos), kiedy jest on uruchamiany.

Adres początku tej pamięci (stosu) można pobrać od systemu.

Program (proces) może przydzielać sobie pamięć także na stercie (czyli w RAM, system ją przydziela, proces tylko 'prosi go o to'). To również można dostać od systemu.

Zawsze można dostać się do odpowiedniego kawałka pamięci, bo inaczej sam program nie mógłby tego zrobić.

Czasem jest to bardziej skomplikowane, bo trzeba się przedrzeć przez warstwy wskaźników, ale zawsze jest to możliwe.

Opublikowano

Pamięć jest przydzielana procesowi (stos), kiedy jest on uruchamiany. //co ma stos do przydzielonej VM(Virtual Memory)?

Adres początku tej pamięci (stosu) można pobrać od systemu. //jeśli mówisz o ImageBase głównego modułu(.exe) to on nie ma nic wspólnego ze stosem

Program (proces) może przydzielać sobie pamięć także na stercie (czyli w RAM, system ją przydziela, proces tylko 'prosi go o to'). To również można dostać od systemu. //w trybie chronionym nie ma bezpośredniego dostępu do RAM'u, a i system nie bawi się ze stertą(malloc, HeapAlloc) chyba ze jej braknie.

Zawsze można dostać się do odpowiedniego kawałka pamięci, bo inaczej sam program nie mógłby tego zrobić. //dostań mi się do VM jajka w ring 3:)

Czasem jest to bardziej skomplikowane, bo trzeba się przedrzeć przez warstwy wskaźników, ale zawsze jest to możliwe. //w 90% przypadków to są zwykle klasy z wskaźnikami na inne.

 

Coś się tak tego stosu uczepił?

Nie pomagam na PW, od tego macie forum!!!

 

#PHP-things

 

 

08FMpDu.png

 

Opublikowano
Pamięć jest przydzielana procesowi (stos), kiedy jest on uruchamiany. //co ma stos do przydzielonej VM(Virtual Memory)?

 

Napisałem tutaj o stosie, który też jest przydzielany przez system, ale faktycznie chodziło mi również o coś innego (niżej)

 

Adres początku tej pamięci (stosu) można pobrać od systemu. //jeśli mówisz o ImageBase głównego modułu(.exe) to on nie ma nic wspólnego ze stosem

 

No tutaj trochę pomyliłem rzeczywiście.

 

Program (proces) może przydzielać sobie pamięć także na stercie (czyli w RAM, system ją przydziela, proces tylko 'prosi go o to'). To również można dostać od systemu. //w trybie chronionym nie ma bezpośredniego dostępu do RAM'u, a i system nie bawi się ze stertą(malloc, HeapAlloc) chyba ze jej braknie.

 

Tego nie rozumiem. Szczególnie "system nie bawi się ze stertą(malloc, HeapAlloc) chyba ze jej braknie"

 

Zawsze można dostać się do odpowiedniego kawałka pamięci, bo inaczej sam program nie mógłby tego zrobić. //dostań mi się do VM jajka w ring 3:)

 

Pomijając zabezpieczenia. Miałem na myśli to, że zawsze da się odnaleźć pożądane dane w pamięci (znając program ofc) (bo program, który z nich korzysta też musi przecież 'mieć na nie namiary', że tak powiem).

 

Czasem jest to bardziej skomplikowane, bo trzeba się przedrzeć przez warstwy wskaźników, ale zawsze jest to możliwe. //w 90% przypadków to są zwykle klasy z wskaźnikami na inne.

 

To dokładnie miałem na myśli, tylko nie chciałem stosować abstrakcyjnych pojęć jeśli mowa o tak niskopoziomowych sprawach.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...