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

WriteProcessMemory i bezpieczeństwo wątków
#1

Czy istnieje sposób wykorzystania ReadProcessMemory i WriteProcessMemory z gwarancją, że aplikacja do gry, którą manipulujemy, nie wykonuje żadnego kodu pomiędzy? Jakiś rodzaj transakcji lub zawieszenie procesu, ale najlepiej bez ogromnego wpływu na wydajność? Mam grę, która przechowuje wartości w XOR-ed parach i ponownie je XORuje w wątku tła, więc jeśli ten wątek będzie w stanie kopać pomiędzy moimi wywołaniami, może mi się skończyć z uszkodzonymi danymi. Wszelkie porady na ten temat?
Reply
#2

SuspendThread może być tym, czego szukasz
Reply
#3

Zacytować: Napisał Mi4uric3 SuspendThread może być tym, czego szukasz Zasadniczo wyliczaj wątki i zawieszaj je podczas stosowania zmiany. Czy wiesz, jaki byłby jego wpływ na wydajność w porównaniu z czytaniem po prostu
Reply
#4

Punkt przerwania może być umieszczony w instrukcji, gdzie jest tak, że pożądane dane są gotowe do odczytania. Jeśli punkt przerwania zostanie wywołany, dane mogą zostać odczytane, a następnie wątek objęty działaniem może być kontynuowany. Z pewnością, gdyby dane były dostępne z kontekstu innych wątków, to również i ta sprawa musiałaby być obsługiwana.
Reply
#5

Zacytować: Originally Posted by kabachi Zasadniczo wyliczaj wątki i zawieszaj je podczas stosowania zmiany. Czy wiesz, jaki byłby jego wpływ na wydajność w porównaniu z samą pamięcią do odczytu / zapisu? Naprawdę muszę użyć tego stylu, w którym okresowo stosuję tę zmianę pamięci. Kolejne pytanie: jakiekolwiek sposoby na wykrycie użycia tej funkcji od wewnątrz procesu? Zastanawiam się nad przejściem z trenera opartego na iniekcji na zapis pamięci, aby zminimalizować szansę na wykrycie. RE: Wydajność. Wypróbuj i zobacz? Kod do tego jest dość łatwy do napisania. EDYCJA: https://github.com/RaptorFactor/hade...ad_helpers.hpp
Reply
#6

Zacytować: Wysłany przez pierwotnie RaptorFactor EDYCJA: https:
Reply




Users browsing this thread: 1 Guest(s)