Ten artykuł nauczy Cię, jak używać Cheat Engine do wykorzystywania luk w niektórych grach komputerowych. Cheat Engine to narzędzie do skanowania pamięci RAM. Umożliwia dostęp do danych przechowywanych w pamięci komputera i zmianę tych danych. Dzięki tym zmianom możesz zmienić informacje w grze, takie jak ilość zdrowia, amunicja, wynik, liczba żyć i przedmioty w ekwipunku.
Kroki
Część 1 z 8: Instalacja Cheat Engine
Krok 1. Otwórz stronę Cheat Engine
Aby to zrobić, przejdź do https://cheaengine.org/downloads.php w przeglądarce internetowej na swoim komputerze.
Krok 2. Kliknij Pobierz Cheat Engine
Ten duży link znajduje się na środku strony.
- Ten przycisk będzie również zawierał aktualną wersję oprogramowania (na przykład: Pobierz Cheat Engine 6.7).
- Aby pobrać wersję na Maca, kliknij łącze Pobierz Cheat Engine 6.2 dla Mac.
Krok 3. Zainstaluj Cheat Engine
Ten krok różni się w zależności od używanego systemu operacyjnego:
- Windows: kliknij dwukrotnie plik instalacyjny, kliknij tak po wyświetleniu monitu włącz Osiągnięcie, wybierz opcję "Zgadzam się" kliknij Osiągnięcie, Kliknij Osiągnięcie jeszcze trzy razy, odznacz „Zgadzam się na instalację programu McAfee WebAdvisor”, kliknij Osiągnięcie a potem dalej zainstalować. Pod koniec instalacji kliknij Osiągnięcie na żądanie, a następnie włącz koniec.
- Mac: kliknij dwukrotnie pobrany plik DMG, zweryfikuj instalację, jeśli zostaniesz o to poproszony, kliknij i przeciągnij logo Cheat Engine do folderu „Aplikacje” i postępuj zgodnie z instrukcjami wyświetlanymi na ekranie.
Krok 4. Otwórz Cheat Engine
Po zakończeniu instalacji znajdź go w menu „Start”
(Windows) lub Launchpad (Mac).
Może być konieczne kliknięcie tak lub otwarty przed otwarciem Cheat Engine.
Część 2 z 8: Otwieranie procesu gry w Cheat Engine
Krok 1. Otwórz grę, której chcesz użyć z Cheat Engine
Pamiętaj, że nie może to być gra wieloosobowa online ani na serwerze
Krok 2. Kliknij przycisk „Procesy”
W oknie Cheat Engine kliknij ikonę komputera w lewym górnym rogu. Spowoduje to otwarcie wyskakującego okna z listą programów otwartych na komputerze.
Krok 3. Wybierz proces gry
Przejrzyj listę procesów, aż znajdziesz swoją grę, a następnie kliknij jej nazwę. Jeśli próbujesz użyć Cheat Engine do gry w przeglądarce internetowej, wybierz nazwę przeglądarki.
- Jeśli nie znajdziesz gry na liście „Procesy”, nie można jej edytować w Cheat Engine.
- Może być konieczne uprzednie kliknięcie zakładki. Pozew sądowy w górnej części okna.
Krok 4. Kliknij OK na dole okna
Spowoduje to otwarcie gry w Cheat Engine.
Część 3 z 8: Znajdowanie i zmienianie wartości gry
Krok 1. Określ aspekt gry, który chcesz zmienić
Aby to zrobić, musi mieć dołączony numer, taki jak amunicja, zdrowie lub przedmioty.
Numer powinien być na ekranie. Na przykład, aby zmienić numer określonego przedmiotu w ekwipunku, otwórz ekwipunek na stronie, na której dostępny jest numer przedmiotu
Krok 2. Zminimalizuj okno gry i kliknij Cheat Engine
Będziesz musiał otworzyć jego okno z zminimalizowaną grą.
Nie wstrzymuj gry podczas jej minimalizowania
Krok 3. Kliknij przycisk Nowe skanowanie w górnej części Cheat Engine, obok lewego panelu
Kliknij ten przycisk, gdy chcesz pobrać nową wartość.
Krok 4. Wybierz typ weryfikacji
Dostępnych jest pięć typów. Dwie główne to „Dokładna wartość” i „Nieznana wartość początkowa”. Użyj menu rozwijanego obok „Typ skanowania”, aby wybrać żądaną opcję. Rodzaje weryfikacji są następujące:
-
Dokładna wartość:
użyj tego typu, jeśli znasz dokładną liczbę, którą chcesz zmienić. Na przykład użyj go, gdy znasz dokładną liczbę żyć i amunicji.
-
Nieznana wartość początkowa:
w grach wideo często wartość nie jest reprezentowana przez liczbę. Na przykład twoje życie może być reprezentowane przez pasek postępu zamiast liczby. W takim przypadku nie będziesz mieć dokładnej liczby. Numer nawet istnieje, ale nie będzie wyświetlany na ekranie. W takim przypadku wybierz Nieznana wartość początkowa.
- Większy wtedy…: wybierz tę opcję, jeśli nie znasz dokładnej liczby, której szukasz, ale znasz najmniejszą możliwą wartość.
-
Mniej niż…:
wybierz tę opcję, jeśli nie znasz dokładnej liczby, ale znasz najwyższą możliwą wartość.
-
Wartość pomiędzy…:
ta opcja umożliwia wprowadzenie zakresu wartości.
Krok 5. Wybierz typ wartości
Typ wartości reprezentuje sposób przechowywania w pamięci. Dokładna opcja może być trudna, więc być może będziesz musiał zgadywać. Użyj menu rozwijanego obok „Typ danych”, aby wybrać żądaną opcję. Jeśli nie możesz znaleźć żądanej wartości dla określonego typu, kliknij nowy skan i spróbuj ponownie, używając innego typu. Niektóre z bardziej powszechnych wartości to:
-
Bajty:
2 bajty i 4 bajty to najczęściej używane typy wartości. Większość aplikacji Windows używa 4 bajtów, więc zacznij od tego. Możesz również znaleźć te wartości za pomocą 2 bajtów. Opcje 1 bajtów i 8 bajtów również mogą działać, ale możesz mieć problemy.
-
Pływak:
znany również jako punkt obrotu, są to wartości z separatorem dziesiętnym (ale możesz nie widzieć tego separatora na ekranie gry). Gry czasami przechowują wartości jako punkt chybotania, aby zapobiec zmianie pamięci. Jeśli nie możesz znaleźć żądanej wartości przez sprawdzanie bajtów, spróbuj wyszukać migoczące punkty.
-
Podwójnie:
podobny do punktów chybotania, ale może zawierać do dwukrotności liczby cyfr. Jeśli nie możesz znaleźć wartości, wyszukując według bajtów lub zmiennoprzecinkowych, spróbuj wyszukać przez podwójne.
-
Wszystko:
sprawdza wartości wszystkich typów. To dobra opcja, jeśli nie wiesz, czego szukać, ale zwraca więcej wyników wyszukiwania, co wymaga ręcznego filtrowania.
Krok 6. Wprowadź wartość, którą chcesz zmienić i kliknij Pierwsze skanowanie
Na przykład, jeśli nadal masz 20 pocisków w swojej amunicji, wpisz 20 w polu tekstowym „Wartość”. Spowoduje to wyszukanie wszystkich wartości z liczbą „20”. Lista wyników będzie prawdopodobnie długa, więc będziesz musiał nieco zawęzić wyszukiwanie.
Krok 7. Wróć do gry i zmień wartość
Forma tego dostosowania zależy od samej gry; na przykład, aby zwiększyć ilość energii, może być konieczne celowe zranienie się, aby ją zmniejszyć. Jeśli chcesz więcej amunicji, być może będziesz musiał wystrzelić kilka strzałów, aby zmniejszyć obecną liczbę.
Krok 8. Wróć do Cheat Engine i sprawdź, aby znaleźć nowy zaktualizowany numer
Zminimalizuj okno gry i kliknij Cheat Engine. Wprowadź nowy numer w sekcji „Wartość”, a następnie kliknij Następne skanowanie. Spowoduje to przeszukanie wszystkich wartości przy pierwszym sprawdzeniu i odgraniczenie adresów do tych, które zostały zmienione na wartość wprowadzoną w pasku „Wartość”.
-
Nieznana wartość początkowa:
jeśli wybrałeś tę opcję przy pierwszym sprawdzeniu, wybierz Zwiększona wartość lub Zmniejszona wartość poniżej „Typ skanowania” w zależności od tego, czy wartość (lub pomiar) została zwiększona lub zmniejszona. Spowoduje to sprawdzenie wszystkich zwiększonych lub zmniejszonych wartości zamiast szukania dokładnej liczby.
Krok 9. Powtarzaj proces wyszukiwania, aż pozostaną cztery lub mniej wartości
Zmieniaj numer i wykonuj nowe wyszukiwanie, aż nie będziesz mieć więcej niż czterech wartości wymienionych po lewej stronie Cheat Engine.
W końcu powinieneś zobaczyć poprzedni numer wymieniony w kolumnie „Poprzedni” dla każdej wartości, podczas gdy bieżąca pozycja zostanie wyświetlona w kolumnie „Wartość”
Krok 10. Dodaj wartość do listy adresów
Aby to zrobić, możesz kliknąć go dwukrotnie lub kliknąć adres, aby go wybrać, a następnie kliknąć czerwoną ukośną strzałkę w prawym dolnym rogu. Spowoduje to dodanie wartości do listy adresów na dole okna.
Aby wybrać wiele adresów, naciśnij i przytrzymaj klawisz „Shift” i kliknij pierwszą pozycję na liście, a następnie ostatnią
Krok 11. Zmień liczbę na żądaną wartość
Aby zmienić bieżącą wartość, wykonaj następujące czynności:
- Kliknij dwukrotnie numer poniżej „Wartość” na liście na dole Cheat Engine.
- Wpisz nową liczbę w polu „Wartość”.
- Kliknij ok.
Krok 12. Sprawdź, czy wartość została zaktualizowana w grze
Po ponownym otwarciu gry edytowana wartość powinna odzwierciedlać wprowadzoną liczbę. Następny krok uczy, jak zatrzymać zmianę wartości, zastępując ją kodem nieoperacyjnym.
Może zaistnieć potrzeba zmiany wartości więcej niż raz, zanim zostanie zaktualizowana
Część 4 z 8: Zastępowanie kodu, aby zatrzymać zmianę wartości
Krok 1. Znajdź wartość, którą chcesz zatrzymać
W tej części dowiesz się, jak znaleźć kod zapisany pod adresem, który chcesz zmienić i zastąpić go niedziałającym kodem. W ten sposób zapobiegasz zmianie wartości w grze. Wykonaj czynności opisane w poprzedniej metodzie, aby znaleźć wartość, którą chcesz zmienić. Następnie dodaj go do listy na dole ekranu.
Krok 2. Kliknij prawym przyciskiem myszy adres i wybierz Znajdź, kto ma dostęp do tego adresu
Spowoduje to otwarcie debugera Cheat Engine z instrukcjami, które zapisują na dostępny adres.
Krok 3. Kliknij Tak, aby potwierdzić, że chcesz powiązać debuger z procesem Cheat Engine
Następnie otworzy się debugger kodu. Przy pierwszym otwarciu okna lista będzie pusta.
Krok 4. Wróć do gry i jeszcze raz zmień wartość
Ponownie zrób coś, aby zmienić wartość, którą chcesz przerwać. Następnie w oknie debugera pojawi się instrukcja kodu, która uzyskuje dostęp do wybranego adresu.
Krok 5. Wróć do Cheat Engine i kliknij instrukcję na liście
Można wyświetlić więcej niż jeden adres. W takim przypadku wybierz ten, który nie pisze pod ten sam adres bazowy. Poszukaj instrukcji, która ma inną wartość między nawiasami „[” i „]” od pozostałych.
Krok 6. Kliknij Zamień
Spowoduje to zastąpienie kodu kodem nieoperacyjnym (NOP).
Jeśli na liście jest więcej niż jedna pozycja, zaznacz je wszystkie
Krok 7. Kliknij Zatrzymaj, aby zatwierdzić niedziałający kod
W ten sposób zapobiegasz zmianie wartości w grze.
Aby przywrócić oryginalny kod, wybierz pozycję z listy i kliknij pokaż deasembler. Kliknij prawym przyciskiem myszy „NOP”, a następnie kliknij Zastąp oryginalnym kodem. Jeśli nie widzisz tej opcji, kliknij Zastąp bezużytecznym kodem a potem dalej tak. Następnie kliknij prawym przyciskiem myszy NOP ponownie i wybierz Zastąp oryginalnym kodem.
Część 5 z 8: Używanie wskaźników, aby dowiedzieć się, co zapisuje wartość
Krok 1. Wyszukaj wartość, którą chcesz zmienić
Czasami wartości mogą mieć zmieniony adres podczas ponownego uruchamiania gry lub w trakcie gry. Możesz użyć wskaźników, aby określić, co zapisuje dane na adres. Po znalezieniu adresu statycznego poziomu podstawowego, który się nie zmienia, wartość tę można zmienić.
Krok 2. Kliknij prawym przyciskiem myszy adres i wybierz Znajdź, kto pisze pod tym adresem
Następnie otworzy się okno debuggera.
Jeśli jest wiele adresów, otwórz debuger dla tylu adresów, na ile pozwoli Cheat Engine
Krok 3. Wróć do gry i jeszcze raz zmień wartość
Ponownie wróć do gry i zrób coś, aby zmienić wartość, którą chcesz zmienić (np. strzelanie lub odnoszenie obrażeń). Wtedy w oknie debuggera pojawi się instrukcja, która pisze pod wybrany adres.
Jeśli nic się nie zmieni w oknie debuggera, adres jest niepoprawny. W takim przypadku wypróbuj inny adres
Krok 4. Wróć do Cheat Engine i kliknij instrukcję na liście w oknie debugera
Można wyświetlić więcej niż jeden adres. W takim przypadku poszukaj instrukcji, która ma inny zestaw znaków między nawiasami „[” i „]” niż pozostałe. Jeśli nie ma jednego adresu z różnymi znakami, sprawdź, czy wskaźnik jest taki sam dla wszystkich z nich.
Sprawdź, czy znak ma znak „+” i cyfrę na końcu (np. [ESI+14]). To jest numer przemieszczenia; zapisz to, ponieważ będzie potrzebne później
Krok 5. Kliknij Więcej informacji
Spowoduje to wyświetlenie instrukcji, które pojawiają się, gdy wartość zostanie zmieniona na ekranie „Dodatkowe informacje”, a także wskaźniki, które zapisują wartości w adresach.
Możesz również znaleźć adres, patrząc na znaki w nawiasach kwadratowych, a następnie sprawdzając, który numer pojawia się po znakach wymienionych na dole. Na przykład, jeśli obok adresu znajduje się „[rdx]”, poszukaj na dole RDX=xxxxxxxx
Krok 6. Kliknij pole wyboru obok „Hex” i wykonaj nowe wyszukiwanie adresu wskaźnika
Będzie on wymieniony obok „Wartość wskaźnika potrzebna do znalezienia tego adresu to prawdopodobnie xxxxxxxxx”. Wykonaj poniższe czynności, aby znaleźć adres na końcu tego zdania.
- Kliknij nowy skan.
- Kliknij pole wyboru „Hex” obok pola „Wartość”.
- Wpisz adres wskaźnika w polu „Wartość” i kliknij pierwszy skan.
Krok 7. Kliknij dwukrotnie adres wskaźnika
Spowoduje to dodanie adresu do listy na dole Cheat Engine.
Jeśli w wynikach jest wyświetlany na zielono, oznacza to, że jest to adres statyczny i prawdopodobnie jest to wskaźnik, którego szukasz. W niektórych przypadkach znaleziony wskaźnik może być również wskaźnikiem, znanym jako wskaźnik wielopoziomowy. W takim przypadku powtórz kroki dla każdego znalezionego wskaźnika, aby znaleźć adres głównego wskaźnika statycznego
Krok 8. Kliknij dwukrotnie poniżej „Adres”
Spowoduje to otwarcie okna dialogowego „Zmień adres”.
Krok 9. Skopiuj adres do pola i kliknij Anuluj
Aby skopiować adres, po prostu zaznacz cały tekst w polu u góry pola tekstowego „Zmień adres”. Kliknij prawym przyciskiem myszy, a następnie wybierz Kopiuj. Następnie kliknij Anulować zamknąć okno.
Krok 10. Kliknij Dodaj adres ręcznie
Ten przycisk znajduje się po lewej stronie listy adresów na dole okna Cheat Engine. Spowoduje to otwarcie pola tekstowego podobnego do „Zmień adres”, ale to umożliwia dodanie adresu.
Krok 11. Kliknij pole wyboru obok „Wskaźniki”
Następnie rozwinie się i doda nowe pole wyboru, umożliwiając wprowadzenie wskaźnika.
Krok 12. Wklej adres wskaźnika w polu pod "Wskaźniki" i kliknij OK
Spowoduje to dodanie nowego adresu do wskaźnika, który kontroluje wartość, którą chcesz zmienić. Będzie to wyglądać mniej więcej tak: „Pxxxxxxxx”. Wskazuje to na konkretny wskaźnik adresu.
- Jeśli istnieje numer offsetu, wpisz go w miejsce nad polem, w którym został wklejony adres.
- Jeśli jest więcej niż jeden wskaźnik, kliknij Dodaj przesunięcie. Spowoduje to dodanie większej liczby pól numeru przesunięcia nad adresem. Wpisz poprawny numer na każdym z nich.
Krok 13. Kliknij pole „Aktywne” obok adresu właśnie dodanego wskaźnika
Można go znaleźć pod listą adresów na dole ekranu. Wtedy wskaźnik zostanie aktywowany.
Krok 14. Zmień wartość nowo dodanego adresu
Numer adresu tworzonego wskaźnika musi być taki sam jak adres szukanej wartości. Jeśli wskaźnik przejdzie do innej lokalizacji, wyszukiwany adres nie będzie już ważny. Jednak nadal możesz zmienić wartość adresu utworzonego wskaźnika. To zadziała niezależnie od tego, gdzie jest zapisana wartość. Kliknij numer poniżej „Wartość” dla nowo dodanego adresu. Wprowadź nową wartość liczbową i kliknij ok.
Część 6 z 8: Używanie wstrzykiwacza kodu do zmiany kodu
Krok 1. Znajdź wartość, którą chcesz przerwać
Ta część nauczy Cię, jak używać wstrzyknięć kodu, aby zmienić sposób, w jaki kod zapisuje wartość. Na przykład, jeśli twoja energia spada za każdym razem, gdy otrzymujesz obrażenia, możesz zmienić kod, aby był zwiększony.
Krok 2. Kliknij prawym przyciskiem myszy adres i wybierz Znajdź, kto ma dostęp do tego adresu
Spowoduje to otwarcie debugera Cheat Engine
Krok 3. Kliknij Tak, aby potwierdzić, że chcesz powiązać debugger z procesem Cheat Engine
Następnie otworzy się debugger kodu. Przy pierwszym otwarciu okna lista będzie pusta.
Krok 4. Wróć do gry i jeszcze raz zmień wartość
Ponownie zrób coś, aby zmienić wartość, którą chcesz przerwać. Następnie kod, który uzyskuje dostęp do wybranego adresu, pojawi się w oknie debuggera.
Krok 5. Wróć do gry i jeszcze raz zmień wartość
Ponownie zrób coś, aby zmienić wartość, którą chcesz przerwać. Wtedy w oknie debuggera pojawi się instrukcja, która pisze pod wybrany adres.
Krok 6. Wróć do Cheat Engine i kliknij instrukcję na liście
Można wyświetlić więcej niż jeden adres. W takim przypadku poszukaj instrukcji ze słowem „sub”, aby zmniejszyć wartość, lub słowem „add” lub „inc”, aby ją zwiększyć.
Krok 7. Kliknij Pokaż deasembler, aby otworzyć kod w deasemblerze
Krok 8. Wybierz kod, który zmniejsza lub zwiększa wartość
Jest to zwykle pierwsza instrukcja na początku kodu. Powinien zawierać słowo „Sub” lub „Add” na początku kodu, aby odpowiednio zmniejszyć lub zwiększyć wartość.
Krok 9. Kliknij Narzędzia a potem dalej Automatyczny montaż.
Spowoduje to otwarcie pustego okna „Automatyczny montaż”.
Krok 10. Kliknij Szablon a potem dalej Wtrysk zakończony.
Spowoduje to wyświetlenie wyskakującego okna z potwierdzeniem adresu, na który chcesz wstrzyknąć kod.
Krok 11. Sprawdź, czy adres jest poprawny i kliknij OK
Musi to być ten sam adres wybrany w oknie „Przeglądarka pamięci”. Następnie kliknij ok. Spowoduje to otwarcie nowego szablonu.
Krok 12. Zastąp kod jego przeciwieństwem
Przewiń w dół do części z napisem „Kod”. Dolna linia to kod, który zmienia wartość. Jeśli wiersz zaczyna się od „sub”, zamień „sub” na „add”. Jeśli wiersz zaczyna się od „dodaj”, zamień „dodaj” na „sub”. Możesz również zmienić wartość na końcu wiersza, aby zmienić kwotę, która zostanie zmieniona.
Krok 13. Kliknij Uruchom a potem dalej Tak dwa razy.
Przycisk „Uruchom” znajduje się na dole okna na dole okna „Wstrzykiwanie kodu”. To działanie będzie wymagało potwierdzenia. Kliknij tak kontynuować. Następnie kliknij tak lub Nie otworzyć nowy kod w deasemblerze. Jeśli wstrzyknięcie się powiedzie, wartości w grze będą działać odwrotnie niż powinny. Twoja amunicja może wzrosnąć, a nie spaść, kiedy wystrzelisz. Twoja energia może wzrosnąć za każdym razem, gdy odniesiesz obrażenia.
Część 7 z 8: Rozróżnianie obiektów za pomocą wspólnego kodu
Krok 1. Znajdź wartość, którą chcesz zatrzymać
W niektórych grach wiele obiektów ma ten sam kod. W takim przypadku wstrzyknięcie kodu do jednego obiektu wpłynie również na inne obiekty. Na przykład możesz zamrozić swój pasek energii, a co za tym idzie również pasek energii wszystkich wrogów. Musisz więc wymyślić, jak rozróżniać różne obiekty i wstrzykiwać skrypt, aby wpływał tylko na ten, który chcesz.
Aby wstrzykiwać skrypty dla różnych obiektów, musisz znać trochę język programowania. Jednak stworzenie podstawowego skryptu nie jest trudne
Krok 2. Kliknij prawym przyciskiem myszy adres i wybierz Znajdź, kto pisze pod tym adresem
Po ustaleniu adresu wartości, które chcesz zmienić lub złamać, znajdź, które elementy zapisują do nich wartości za pomocą debuggera.
Krok 3. Wybierz instrukcję i kliknij Pokaż deasembler
Zostanie podświetlony podczas otwierania debugera i wyświetlony w deasemblerze.
Krok 4. Kliknij instrukcję prawym przyciskiem myszy i wybierz Znajdź, kto pisze pod tym adresem
Spowoduje to otwarcie okna wyświetlającego listę wszystkich adresów, do których instrukcja uzyskuje dostęp podczas tworzenia nowego nagrania.
Krok 5. Zezwól na zmianę wszystkich obiektów w grze
Spowoduje to wyświetlenie listy wszystkich adresów dostępnych przez instrukcję. Na przykład, aby spróbować powstrzymać zmianę paska energii, wróć do gry i odnieś obrażenia. Wówczas w oknie zostanie wyświetlona instrukcja dostępu do adresu. Jeśli zaatakujesz wroga, który również korzysta z tej instrukcji, zostanie ona również wyświetlona w oknie listy adresów, do których uzyskano dostęp.
Krok 6. Wybierz wszystkie pozycje na liście w oknie dostępnych adresów
Gdy masz już adres dla wszystkich obiektów, które mają ten sam adres na liście, po prostu kliknij i przeciągnij je, aby je wszystkie podświetlić.
Możesz także kliknąć każdy element osobno i wybrać Pokaż stany rekordów.
Krok 7. Uzyskaj dane struktury wszystkich wymienionych adresów
Aby to zrobić, wykonaj następujące czynności:
- Kliknij prawym przyciskiem myszy wybrane adresy.
- Kliknij Otwórz sekcję danych z wybranymi adresami.
- Kliknij ok.
- Nazwij strukturę danych i kliknij ok.
- Kliknij tak.
- Wprowadź początkowy rozmiar struktury lub pozostaw go jako domyślny, a następnie kliknij ok.
Krok 8. Znajdź wartość, która jest taka sama dla graczy, ale inna dla innych obiektów
Za każdym razem, gdy uzyskujesz dostęp do struktury danych lub rekordu dla każdego obiektu, musisz znaleźć wartość, która jest taka sama dla wszystkich sojuszników, ale inna dla wrogów. Na przykład, jeśli Drużyna 1 ma dwóch graczy, a Drużyna 2 ma dwa boty, mogą być one reprezentowane odpowiednio przez wartości 1 i 2.
Jeśli nie możesz znaleźć wartości z tym rozróżnieniem, możesz ją stworzyć. Aby to zrobić, po prostu kliknij jedną z wartości (np. wskaźnik) i kliknij dodaj element. Wybierz "4 bajty" jako typ wartości i użyj nieużywanego numeru przesunięcia. Numery przesunięcia są wymienione po lewej stronie tabeli struktury sekcji danych.
Krok 9. Zapisz rekord wartości
Można go znaleźć po lewej stronie, patrząc w widoku dziennika lub widoku przekroju danych. W widoku rejestru będzie to rejestr, do którego instrukcja zapisuje wartość (na przykład: RSI, RDX, EDX itp.). Jeśli szukasz struktury danych, rekordem będzie litera lub liczba offsetowa wymieniona po lewej stronie.
Krok 10. Otwórz nowy szablon wstrzykiwania kodu dla instrukcji
Wróć do okna „Memory Viewer” i otwórz nowy szablon wstrzykiwania kodu z instrukcjami, które zapisują na różne adresy. Aby to zrobić, wykonaj następujące czynności:
- Kliknij instrukcję w oknie „Przeglądarka pamięci”.
- Kliknij Narzędzia na pasku menu u góry ekranu.
- Kliknij Auto asembler.
- Kliknij Model na pasku menu u góry ekranu.
- Kliknij wstrzykiwanie kodu.
Krok 11. Utwórz nową etykietę dla obiektu, na który chcesz wpłynąć
Etykiety są wymienione w górnej części szablonu wstrzykiwania kodu. Zrób to poniżej istniejących etykiet. Wystarczy wpisać etykietę, a następnie żądaną nazwę w nawiasach. Na przykład „etykieta (gracz)” lub „etykieta (wróg)”.
Krok 12. Utworzyłem nową sekcję dla nowo utworzonej etykiety
Aby to zrobić, wpisz nazwę etykiety, a następnie dwukropek (:) w dowolnym miejscu przed lub po oryginalnym kodzie.
Krok 13. Dodaj kod do etykiety, aby zmienić wartość obiektu, na który chcesz wpłynąć
Ten krok wymaga znajomości języka programowania. Będziesz musiał dodać wiersz kodu, aby zmienić wartość obiektu, który chcesz zmienić i tak, jak chcesz. Następnie musisz dodać linię do przodu do wyjścia, oryginalny kod i kod powrotu.
Krok 14. Utwórz kod porównania pod "newmem"
Wiersz „newmem:” w szablonie wstrzykiwania kodu wskazuje, że instrukcja wywołuje nowy adres pamięci. Zwykle pojawia się po prawej stronie oryginalnego kodu, który ma etykietę (code:) lub (originalcode:). Użyj polecenia „cmp”, aby utworzyć wiersz kodu, który porównuje wartości różnych obiektów w rekordzie lub rekordzie plus numer przesunięcia. Na przykład, jeśli RDX z przesunięciem 14 reprezentuje drużynę botów, a drużyna ma wartość 1, wpisz cmp [rbx+14], 1, aby sprawdzić, czy obiekt jest graczem, czy nie.
Krok 15. Dodaj wiersz kodu, aby przejść do sekcji obiektów, które chcesz zmienić
Użyj polecenia „je”, aby przejść do sekcji poleceń porównania. Na przykład, jeśli etykieta mówi „gracz”, dodaj linię j i odtwarzacz, aby przejść do sekcji odtwarzacza, jeśli wartość porównania odpowiada odtwarzaczowi.
Krok 16. Dodaj kod przekazywania do oryginalnego kodu
Po utworzeniu linii kodu, która przeskakuje do oryginalnego kodu, będziesz musiał utworzyć kolejny, aby uzyskać dostęp do oryginalnego kodu, jeśli wartość nie pasuje do gracza lub sojusznika. Aby to zrobić, użyj polecenia „jmp”, aby utworzyć wiersz kodu, który przeskakuje do oryginalnego kodu po wierszu kodu, który przeskakuje do oryginalnego kodu (lub innego utworzonego kodu, który robi coś innego).
Aby uprościć sprawę, nie dodawaj nowych etykiet. Po prostu stwórz kod porównawczy na końcu słowa „newmen:”, aby odróżnić sojuszników od wrogów. Następnie dodaj wiersz kodu, który przeskakuje do wyjścia, jeśli jest sprzymierzeńcem. W przypadku wroga skocz do oryginalnego kodu. W ten sposób, jeśli gracz lub sojusznik zostanie zaatakowany (lub odda strzał, użyje jakiegoś przedmiotu itp.), nic się nie zmieni, ale jeśli wróg zostanie zaatakowany, kod będzie działał normalnie
Krok 17. Kliknij Uruchom, aby uruchomić wprowadzony kod
Jeśli wszystko pójdzie dobrze, wstrzykniesz nowy kod, który rozróżnia sojuszników i wrogów. Poniższy skrypt właśnie to robi:
alloc(newmem, 2048, "Tutorial-x86_64.exe"+2EB6D) label(wróćtutaj) label(originalcode) label(exit) label(player) //Nowa etykieta dla odtwarzacza. newmem: //Wywołanie nowego adresu pamięci. cmp [rbx+14], 1 //Różnice między członkami sojuszniczych i wrogich drużyn. je player //Przejście do sekcji gracza, jeśli obiekt jest graczem zespołowym. jmp originalcode // Przeskakuje do oryginalnego kodu, jeśli obiektem jest drużyna wroga. player: //Tworzy nową sekcję dla drużyny gracza. jmp exit //Idzie do wyjścia i nie robi nic z drużyną gracza. originalcode: //Oryginalna sekcja kodu. movss [rbx+08], xmm0 // Wykonaj pierwotną instrukcję (dla wrogiej drużyny). exit: //Koniec skryptu. jmp returntutaj "Tutorial-x86_64.exe"+2EB6D: jmp newmem returntutaj:
Część 8 z 8: Zrozumienie działania mechanizmu oszukującego
Krok 1. Dowiedz się, jak działa Cheat Engine
Ma dostęp do danych przechowywanych w pamięci RAM komputera. Podczas uruchamiania oprogramowania, takiego jak gra, jego informacje są przesyłane ze statycznej lokalizacji pamięci, takiej jak dysk twardy, do pamięci RAM. Następnie informacje mogą być odczytywane i zapisywane. Cheat Engine umożliwia przeglądanie i zmianę danych zapisanych w pamięci RAM.
Krok 2. Zrozum terminologię
Cheat Engine obsługuje wiele kodu komputerowego wysokiego poziomu. Aby łatwiej zrozumieć, jak to działa, zrozum związaną z tym terminologię. Poniżej znajdują się niektóre terminy używane w Cheat Engine:
-
Wartość:
reprezentuje w programie komputerowym wszystko, co ma przypisaną wartość liczbową. W grze może to być procent zdrowia, ilość amunicji lub liczba przedmiotów w ekwipunku. Cheat Engine umożliwia wyszukiwanie zmiennych i ich zmianę.
-
Adres:
reprezentuje miejsce przechowywania informacji w pamięci RAM. Czasami lokalizacja wartości może się zmienić.
-
Typ wartości:
reprezentuje sposób przechowywania wartości. Może być w bajtach (na przykład: 2 bajty, 4 bajty lub 8 bajtów), zmiennoprzecinkowe lub podwójne.
-
Wskaźnik:
reprezentuje adres, który zawiera wartość zapisaną przez inny adres. Te wskaźniki można zmienić po załadowaniu gry lub w trakcie gry.
Krok 3. Pamiętaj, że Cheat Engine nie działa z wieloma grami
Żadna gra z jakąkolwiek ochroną przed oszustwami lub funkcją gry wieloosobowej online nie będzie obsługiwana, a próba korzystania z Cheat Engine może narazić Twoje konto na ryzyko zbanowania.
- Korzystanie z Cheat Engine w celu uzyskania zasobów, za które zwykle płaci się prawdziwymi pieniędzmi, jest nielegalne i możesz mieć kłopoty z prawem.
- Jest to bardzo popularne oprogramowanie, więc wiele gier ma przed nim ochronę.
Krok 4. Dowiedz się, które gry mogą współpracować z Cheat Engine
Starsze i Steam gry dla jednego użytkownika mogą działać, jednak muszą mieć pewną wartość na ekranie, aby można je było przeglądać i zmieniać.
Wiele gier flash online, które nie mają linku do społeczności (jeden użytkownik i bez tablicy wyników), jest również kompatybilnych z Cheat Engine
Porady
- Zacznij od interaktywnego samouczka dołączonego do Cheat Engine. Spróbuj go użyć, aby uzyskać dostęp do wszystkich dziewięciu kroków.
- Cheat Engine jest przydatny do zmiany drobnych aspektów gry, ponieważ próba zmiany głównego może spowodować awarię aplikacji.
- Aby efektywnie korzystać z Cheat Engine, potrzebujesz trochę znajomości języka programowania.
Uwagi
- Jeśli używasz Cheat Engine na oprogramowaniu zabezpieczającym przed oszustwami lub chronionym serwerze, Twoje konto może zostać zbanowane.
- Jeśli spróbujesz go użyć w Robloxie, możesz zostać usunięty z danej gry.