FMPL [Usunięty]
|
#1 Wysłany: 2016-07-12, 14:24 [Obej?cia] Jak hackowa? PR3? Dyskusja o hackach.
|
|
|
Informacje wst?pne
Z poradnikiem powinien sobie poradzi? ka?dy, aczkolwiek tworzenie nowych, w?asnych hack?w zalecam wy??cznie osobom posiadaj?cym przynajmniej minimaln? wiedz? programistyczn?. Je?eli kto? ma jednak jaki? problem, pytanie - piszcie.
Wymagane rzeczy
- wtyczka Tamper Data do Firefoxa/Chrome (ja u?ywam FF)
- program JPEXS Free Flash Decompiler, kt?ry z kolei wymaga pobrania Javy
- program Cheat Engine, lub je?li u?ywasz Linuxa i nie chcesz si? bawi? z Wine itd. to mo?esz poszuka? programu GameConqueror.
Wprowadzenie
Ok. Platform Racing 3 to gra stworzona przez Jiggmina w (staro?ytnej) technologii Flash i zosta?a ona 'skompilowana' do jednego pliku .swf (np. game_10_7_2016_b2.swf), co teoretycznie mia?o uniemo?liwi? jej edycj? przez osoby trzecie. Jednak dzi?ki istnieniu wspania?ych program?w, tzw. dekompilator?w mo?emy odzyska? i edytowa? kod ?r?d?owy. Co prawda nie zrobimy tak zmodowanego klienta PR3 (chyba, ?e stworzyliby?my w?asny serwer metod? pr?b i b??d?w, tak jak robili to autorzy PR3 Reborn), ale mo?emy wyci?gn?? z gry dane i zmieni? je lekko w celu uprzyjemnienia sobie rozgrywki
Do dzie?a!
Uruchom Tamper Data i wci?nij przycisk 'Rozpocznij', po czym wejd? na stron? PR3 ( http://PR3.goldtreeservers.net ). Zaczn? ci wyskakiwa? r??ne okienka.
Klikaj 'wy?lij', dop?ki nie wyskoczy ci adres podobny do tego - wtedy zaznacz go i skopiuj, zatrzymaj tamperowanie (odznacz kwadracik) i wy?lij. Wejd? na stron? z przegl?darki - masz PR3 Fullscreen. Zapisz plik .swf na sw?j komputer (w FF mo?na to zrobi? wciskaj?c Ctrl+S). Mo?esz zostawi? gr? otwart?, ale nie wchod? do lobby - potem b?dziemy testowa? hacki, a je aplikuje si? od razu po pojawieniu si? ekranu powitalnego ('welcome, Gość' lub 'podaj login i has?o by si? zalogowa?', w zale?no?ci od tego, czy byli?my wcze?niej zalogowani)
Do?? marudzenia - czas odpali? dekompiler i zacz?? t? ca?? zabaw?.
Na pocz?tek zrobimy hack, kt?ry sprawi, ?e b?dziemy mie? dwukrotnie wi?cej HP w trybie Deathmatch. W tym celu uruchamiamy JPEXS Free Flash Decompiler i otwieramy plik .swf, kt?ry przed chwil? pobrali?my.
W menu po lewej otwieramy kolejno: scripts com jiggmin PR3. Tutaj znajduje si? ca?y kod odpowiadaj?cy za rozgrywk?. Kod odpowiadaj?cy za zabieranie HP znajduje si? w player LocalPlayer. W zak?adce player znajduje si? kod odpowiadaj?cy za poruszanie si?, super jumpy, dzia?anie wi?kszo?ci czapek itd. (akurat czapki s? g??wnie w zak?adce ActivePlayer, ale og?lnie nale?y grzeba? w playerach).
Wa?ne - aby wiedzie?, co nale?y zmieni? na co musimy w??czy? opcj? 'view hex with instructions', kt?r? pokaza?em na screenie wy?ej.
Teraz szukamy (ctrl+F) linii:
Kod: | setVariable("life",vars.life - 20); |
Klikamy na 20 i po prawej stronie powinno nas przekierowa? do miejsca, w kt?rym znajdziemy m.in.:
Kod: | ; 24 14
pushbyte 20
; a1
subtract |
Tego pseudoasemblera to i ja niezbyt rozumiem, ale interesuje nas tylko liczba 20 i tylko j? b?dziemy zmienia?.
Zapiszmy sobie gdzie? to, co napisane jest zielonym tekstem - 24 14 a1. Tego b?dziemy potem szuka? za pomoc? Cheat Engine. Tak naprawd? to zmieniamy tylko 2 pierwsze liczby(bajty dok?adniej) - 24 14, ale gdyby?my ich wyszukali w CE to wyskoczy?oby nam kilkaset wynik?w i nie wiedzieliby?my, kt?ry z nich zmieni?, tak wi?c dodajemy jeszcze zielony tekst z kolejnej linii - a1 i wtedy wyskocz? nam z 2-3 wyniki.
Teraz najwa?niejsze - wracamy na ?rodek, klikamy Edit i zamieniamy
Kod: | setVariable("life",vars.life - 20); |
na:
Kod: | setVariable("life",vars.life - 10); |
Zapisujemy. Niestety dekompilator nie jest zbyt fajny i musimy si? wraca? z powrotem do tamtej linii (ok. 368) Zaznaczamy 10 i powinni?my zobaczy?:
Kod: | ; 24 0a
pushbyte 10
; a1
subtract |
Jak wida?, 24 14 a1 po naszych zmianach to teraz 24 0a a1. Dodam, ?e przy wszelkich zmianach ilo?? bajt?w musi koniecznie zosta? taka sama, w przeciwnym razie nam nic nie wyjdzie lub wywali nam gr?. (jest to g??wna przeszkoda w zrobieniu fiku?nych cheat?w) Koniec roboty z kompilatorem, mo?emy go wy??czy? (nie zapisujemy zmian) i teraz uruchamiamy Cheat Engine. Klikamy ikon? komputera.
Teraz musimy wybra? proces zawieraj?cy plik .swf gry. To jest sporym wyzwaniem, bo ka?da przegl?darka dzia?a inaczej i zmusza nas to do szukania odpowiedniego procesu metod? pr?b i b??d?w. W moim przypadku (FF) musia?em wybra? jeden z FlashPlayerPlugin?w (by?y dwa), ale starsze wersje FF przechowuj? .swf w plugin-containerze. W przypadku chrome jest jeszcze gorzej, bo ta 'wspania?a' przegl?darka uruchamia osobny proces dla ka?dej karty, co zmusza nas do wybrania odpowiedniego procesu chrome.exe. Jak dowiedzie? si?, ?e nasz proces jest dobry?
Opcja 'value type' jest domy?lnie ustawiona na '4 Bytes', zmieniamy to na 'array of bytes', gdy? my szukamy i zmieniamy tablice bajt?w. Wpisujemy nasz? oryginaln? warto?? przed zmianami - 24 14 a1 i wyszukujemy jej (First Scan). Je?eli wynik?w jest zero lub te? jest ich podejrzanie du?o, prawdopodobnie wybrali?my z?y proces i musimy kombinowa? dalej. W moim przypadku wyniki by?y 3.
Zaznaczamy je wszystkie (ctrl+A) i klikamy na czerwon? strza?eczk?, przez co przeniesiemy je na d??.
Wyniki na dole r?wnie? wszystkie zaznaczamy, wciskamy Enter i wpisujemy drug? nasz? warto?? - 24 0a a1. Potwierdzamy zmian? i to tyle. Teraz mo?emy wbi? na jaki? deathmatch i wkurza? innych graczy. W ten sam spos?b mo?na zrobi? wiele innych cheat?w, zach?cam do kombinowania.
Notka - przy wypuszczeniu nowej wersji gry (nowego .swf) nasze stare cheaty mog? przesta? dzia?a?. Nale?y wtedy pobra? now? wersj? gry i jeszcze raz je stworzy?. |
Ostatnio zmieniony przez FMPL 2016-07-12, 14:26, w całości zmieniany 1 raz |
0 |
|
P1 -kubpica
Twórca kampanii Miszcz gry
PR3 Rank: 30
PR3 - Czapki: 8
PR2 Rank: 34
PR2 - Czapki: 9
Wiek: 26 Dołączył: 31 Paź 2010 Posty: 879 Posiadane Sery: 28
|
#2 Wysłany: 2016-07-12, 17:13
|
|
|
FMPL, mmmm ?wietny poradnik
Cytat: | Dodam, ?e przy wszelkich zmianach ilo?? bajt?w musi koniecznie zosta? taka sama, w przeciwnym razie nam nic nie wyjdzie lub wywali nam gr?. (jest to g??wna przeszkoda w zrobieniu fiku?nych cheat?w) |
Jak robi?em haxy do innych gier to robi?o si? alokacje czy co? takiego. Rezerwowa?e? sobie gdzie? miejsce w pami?ci (pisa?e? tam funkcje - kod haxa) i cz??? kodu gry zamienia?e? na odno?nik do tej zarezerwowanej pami?ci (wywo?anie funkcji haxa). A i na pocz?tku kodu haxa musia?e? jeszcze doda? kod, kt?ry zast?pi?e? w kodzie gry - ?eby nic si? nie popsu?o.
Jestem pewien, ?e z PR3 mo?na zrobi? co? podobnego.
Acha i kto? za czas?w sparkworkz edytowa? .swf i usun?? sitelocka. Mo?e da si? zrobi? podobnie z PR3 Reborn aby wstawi? na inne strony. Oczywi?cie z edycj? jakiego? stringa na "wbija? na polskie forum prforum.ugu.pl" jak ja to kiedy? zrobi?em i powstawia?em na strony
BTW. Przy tworzeniu hax?w fajna jest te? metoda function hook - polecam cziterskie fora |
_________________ Aczigment get! Dziękuję wszystkim za sery! |
0 |
|