Jakie są opcje bezpiecznego zapisywania danych gry? Interesują mnie rozwiązania specjalnie dostosowane do C ++.
Szukam czegoś, co jest szybkie i łatwe w użyciu. Martwię się tylko o przechowywanie prostych informacji, takich jak
Które poziomy są i nie są odblokowane
Wynik użytkownika dla każdego poziomu
Znowu jestem ciekawy, jakie są dostępne, wszelkie dobre biblioteki do użycia, które dają mi ładne, bezpieczne pliki danych gry, z którymi przeciętny gracz nie może zepsuć.
Właśnie znalazłem to tutaj, które wygląda bardzo ładnie, ale byłoby wspaniale uzyskać opinie o potencjalnych innych bibliotekach / opcjach.
Odpowiedzi:
powiedzmy, że ponieważ masz bardzo prosty plik zapisu, możesz użyć pliku tekstowego.
jednym z najprostszych pomysłów jest użycie klucza do blokowania / odblokowywania danych:
ale po krótkim wyszukiwaniu w Google znalazłem te linki, które mogą być przydatne:
Edytować:
Opierając się na tym, że podpisany znak jest „Nieokreślonym zachowaniem”, jak wspomniał @ v.oddou, myślę, że użycie XOR lub rzutowanie na niepodpisany znak spowoduje, że kod będzie bezpieczniejszy / więcej niż platforma. coś takiego:
źródło
XOR
zamiast inkrementacji / dekrementacji, ponieważ możesz skończyć z uszkodzonymi danymi, jeśli przekroczysz granice typu danych, z którym masz do czynienia (char
zakładam)Nic nie można uznać za bezpieczną stronę klienta; każdy, kto ci to mówi, kłamie.
Możesz użyć dowolnej metody szyfrowania i szyfrowania, ale ponieważ klient musi być w stanie ją również zdekodować, a użytkownik ma dostęp do samego klienta, jeśli będzie wystarczająco zaradny, będzie miał dostęp do klucza / algorytmu deszyfrowania.
Możesz tylko dodawać warstwy irytacji komuś, kto chce go złamać, ale mając wystarczająco dużo czasu , zostanie on złamany i nie możesz nic na to poradzić.
źródło
Możesz zdecydowanie pozostawić plik składowania niezaszyfrowany, ale dodać sumę kontrolną, która jest obliczana na podstawie wszystkich wartości, które chcesz „chronić”.
W ten sposób krakers byłby w stanie odtworzyć skrót (którego oczywiście użyjesz z odpowiednią solą) i dlatego będzie miał szczęśliwy czas na jego ponowne wytworzenie.
To wciąż nie byłoby w 100% bezpieczne, ale prawdopodobnie najlepsze rozwiązanie efektywne czasowo.
źródło
Ten przedstawił pewne proste szyfrowanie XOR:
I jak go używać:
Dane wyjściowe tego kodu są następujące:
źródło
Oto kilka programów (w każdym razie darmowych), które mogą ci pomóc, oba w zasadzie łączą wszystkie twoje zasoby w jednym exe.
NBinder , obecnie produkt komercyjny, jest to stara, ale funkcjonalna wersja.
Enigma Virtual Box , kolejne narzędzie o podobnych funkcjach.
źródło