Dawidds Opublikowano 21 Kwietnia 2009 Udostępnij Opublikowano 21 Kwietnia 2009 Zainspirowany "czymś" Michałka dotyczącego pseudo-szyfrowania tekstu (a przy okazji jego poprzednim tematem, w którym pytał właśnie o to) postanowiłem se napisać jakiś prosty system zabezpieczenia zasobów gry (np. zmienne z punktami, bądź chociażby prędkość ataku/chodzenia w Almorze) przed zmianą za pomocą MHSa/Cheat Engine'a, czy czego tam używasz do takich "zabaw". Skrypcik wykorzystuje XORa do zabezpieczenia zasobów gry. DOWNLOAD v0.1 Mimo, iż "mps" jest baaardzo prosty - jest wcale nie taki łatwy do złamania, a na pewno zabezpieczy przed przeciętnym dzieckiem neo które nauczyło się używać Cheat Engine'a z filmików na YouTube. Obsługi opisywać chyba nie muszę - myślę, że pseudo-przykład wszystko wyjaśnia. Ogólny sposób jest taki - rzeczywista zmienna jest zakodowana, odkodowujemy/zakodowujemy ją za pomocą funkcji mps_real/string(). Dzięki temu w pamięci przechowujemy jedynie zakodowaną wartość. No... to będzie na tyle. Dla porównania - zrób to tak: 1. Uruchom plik no_mps.exe - jest to niezabezpieczona wersja przykładu. 2. Uruchom MHS/Cheat Engine (bądź inny programik do zmiany zasobów...), spróbuj zmienić ilość punktów/wyświetlany tekst (nie powinieneś mieć z tym problemu, punkty powinny dać radę się bez problemu zmienić - jeśli nie, tzn. że robisz coś źle... ;p) 3. Zamknij przykład. Włącz zabezpieczoną wersję - mps.exe. 4. Spróbuj teraz zmienić ilośc punktów. 5. Jeśli nie jesteś pr0-h4x0rem - nie powinna Ci się udać zmiana ilości punktów. Jeśli dałeś radę - nie, nie możesz być z siebie dumny... ;P Żeby nie było - ostrzegam, że i to da się dość łatwo zmienić... ;x Jednak cóż - zastosowanie tego skrypciku nie powinni nikomu sprawić rpoblemu ani nie wiem jak skomplikować kodu gry - a przed przeciętnym userem zabezpiecza :) Ed: Czemu da się oceniać własne tematy ;x ? Kiedyś się (chyba) nie dało... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 21 Kwietnia 2009 Udostępnij Opublikowano 21 Kwietnia 2009 https://gmclan.org/uploader/152/mps.png :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidds Opublikowano 21 Kwietnia 2009 Autor Udostępnij Opublikowano 21 Kwietnia 2009 Jak żeś to zrobił :P ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 21 Kwietnia 2009 Udostępnij Opublikowano 21 Kwietnia 2009 Znalezienie wartości klucza i napisanie kawałka kodu który używa xor to chwila. Więc jeśli znam obecną wartość i klucz to znalezienie wartości w pamięci to też chwila. :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidds Opublikowano 21 Kwietnia 2009 Autor Udostępnij Opublikowano 21 Kwietnia 2009 Ale jak znalazłeś adres, w którym jest wartość klucza :P ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 21 Kwietnia 2009 Udostępnij Opublikowano 21 Kwietnia 2009 To jest tak, znam obecną ilość punktów, a wiem też, że jeśli wartość 10 przepuszczę przez xor to otrzymam maksymalnie 255 i minimalnie 0 tak więc szukam wartości z tego przedziału. Później zwiększam wartość punktacji o N i strzelam, czy wartość w pamięci się zwiększyła czy zmniejszyła o N. Przy odrobinie szczęścia od razu trafię na wartość zmiennej w pamięci. Wyliczenie klucza znając wartość zmiennej w pamięci i podanej na ekranie to chyba nie problem, nie? Znając klucz robię sobie co chcę. :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidds Opublikowano 21 Kwietnia 2009 Autor Udostępnij Opublikowano 21 Kwietnia 2009 Hmmm... tak teraz na luzie usiadłem, i muszę powiedzieć, że to przyjemna (a na pewno satysfakcjonująca... ^_^ ) zabawa :D Ale rzeczywiście, kompletnie nie pomyślałem o tym, że jak ktoś pozna klucz to będzie po zabawie... ;P Teraz tylko myślę, co by z tym zrobić. Myślałem nad użyciem zamiast pojedynczego klucza całego stringu, chociaż... to też dało by radę odzyskać. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 21 Kwietnia 2009 Udostępnij Opublikowano 21 Kwietnia 2009 Pamiętaj, że im bardziej komplikujesz kodowanie tym bardziej zwalniasz pracę gry. :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Syliush Opublikowano 21 Kwietnia 2009 Udostępnij Opublikowano 21 Kwietnia 2009 Czyli Tymon obalił teorie która mówi, że ten ktoś nie odczyta/zmieni wartości. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pental Stary Opublikowano 21 Kwietnia 2009 Udostępnij Opublikowano 21 Kwietnia 2009 Jest jedna słuszna teoria: "Każde zabezpieczenie idzie złamać". Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Makary155 Opublikowano 21 Kwietnia 2009 Udostępnij Opublikowano 21 Kwietnia 2009 Byłoby to fajne gdyby Tymon wszystkiego nie popsuł. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Kofel Opublikowano 21 Kwietnia 2009 Udostępnij Opublikowano 21 Kwietnia 2009 Taa, ja i tak chciałem już o tym pisać, ale zauważyłem post Tymona więc dałem sobie siana. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 21 Kwietnia 2009 Administratorzy Udostępnij Opublikowano 21 Kwietnia 2009 Jest jedna słuszna teoria: "Każde zabezpieczenie idzie złamać". Dokładnie. Co innego np. MD5, gdzie nic nie odkodujesz, chociaz istnieją dwa takie same hashe z różnych tekstów... tylko nie tak prosto je znaleźć i nieco to potrwa. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 21 Kwietnia 2009 Udostępnij Opublikowano 21 Kwietnia 2009 Do MD5 są różne bazy danych dostępne w sieci, to dość często wystarcza. :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
fervi (Skovv) Opublikowano 21 Kwietnia 2009 Udostępnij Opublikowano 21 Kwietnia 2009 http://gmc.yoyogames.com/index.php?showtopic=386714 MD5 Variable Guard To chyba coś takiego ;d Fervi Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 21 Kwietnia 2009 Udostępnij Opublikowano 21 Kwietnia 2009 @UP: to sie nie nadaje, a to dla tego ze MD5 sie za dlugo generuje i wazy wiecej niz double. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidds Opublikowano 22 Kwietnia 2009 Autor Udostępnij Opublikowano 22 Kwietnia 2009 Eee: Czyli Tymon obalił teorie która mówi, że ten ktoś nie odczyta/zmieni wartości.->Żeby nie było - ostrzegam, że i to da się dość łatwo zmienić... ;x 5. Jeśli nie jesteś pr0-h4x0rem - nie powinna Ci się udać zmiana ilości punktów. Jeśli dałeś radę - nie, nie możesz być z siebie dumny... ;P Mimo, iż "mps" jest baaardzo prosty - jest wcale nie taki łatwy do złamaniaNo tu akurat się pomyliłem :P Wiedziałem, że da radę to złamać, ale nie pomyślałem, że ktoś może se klucz ukraść... :P Rozbudowywać tu nic chyba nie ma sensu. Ewentualnie... A co, jakbym na starcie gry stworzył 2 jednobajtowe klucze (no, dwuznakowy string), i kodował zmienną - najpierw pierwszym, później drugim :P ? Było by to zaledwie 2x wolniejsze (czyli niewiele), a już być se tak łatwo klucza nie odzyskał... :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pieter Opublikowano 22 Kwietnia 2009 Udostępnij Opublikowano 22 Kwietnia 2009 Skrypcik wykorzystuje XORa do zabezpieczenia zasobów gry. największym błędem kryptografa jest wyjawienie jakiego szyfru użył... Gdybyś nie powiedział, tymon pewnie by go nie złamał tak szybko ;p no chyba, że by szedł po najcięższej linii oporu tzn. by strzelał. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidds Opublikowano 22 Kwietnia 2009 Autor Udostępnij Opublikowano 22 Kwietnia 2009 Lol, ale ja to daje jako pseudo-silnik, także i tak kazdy może sobie zobaczyć źródło ;| Zresztą projekt GMa i tak można zdekompilować, o. :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
XxMichałxX Opublikowano 22 Kwietnia 2009 Udostępnij Opublikowano 22 Kwietnia 2009 mi sie wydaje że można by np punkty robić że punkty=100*0.2734902389048230234890 i potem draw punkty/0.[...] czy jakos tak. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 22 Kwietnia 2009 Udostępnij Opublikowano 22 Kwietnia 2009 nie, to beznadziejny pomysł. zdaj sobie sprawę jaką strukturę ma double czyli GMowy real - gdy przy operacjach liczbowych wyjdziesz poza zasieg (granice wartosci) to przy odwrotnej operacji nie uzyskasz tej samej wartosci (mimo iz to rzadkosc) - tak sie nie robi. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidds Opublikowano 22 Kwietnia 2009 Autor Udostępnij Opublikowano 22 Kwietnia 2009 Zresztą, Michałku, wtedy można by na luzie dojść, która to wartość... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 22 Kwietnia 2009 Udostępnij Opublikowano 22 Kwietnia 2009 no chyba, że by szedł po najcięższej linii oporu tzn. by strzelał.Tyle, że on podał źródła więc po co strzelać? :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pieter Opublikowano 22 Kwietnia 2009 Udostępnij Opublikowano 22 Kwietnia 2009 no ale wyobraź sobie, że nie ma źródeł i nie można zdekompilować, i nie wiesz jaką metodą ;p co wtedy? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 22 Kwietnia 2009 Udostępnij Opublikowano 22 Kwietnia 2009 Poszukał bym kodów do gry. :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się