Mam zamiar kupić sporo modeli pakietów ze strony internetowej do prototypowania mojej gry. W umowie stwierdza się, że muszę je chronić, aby uniemożliwić społeczeństwu dostęp do nich.
Pamiętam, że pracowałem z grami Valve. Używały one .gcf (plik zawartości gry), który w zasadzie był archiwum całej zawartości każdej gry. Zapakowali dźwięk / materiały / modele / mapy / itp. Uznałem, że opracowanie czegoś podobnego może nie być złym pomysłem i po prostu napisz małe narzędzie, które pozwoli mi dodawać / usuwać z niego pliki.
Problem w tym, że naprawdę nie mam pojęcia, jak zacząć od czegoś takiego. Wypróbowałem Google, ale nawet nie wiedziałem, czego szukać. Jeśli ktoś ma jakieś pomysły, linki, które mogą być przydatne lub cokolwiek innego, byłbym bardzo wdzięczny.
źródło
Jeśli tylko tworzysz prototypy, nie martwię się o spakowanie twoich zasobów do pliku GCF / ZIP / PAK; społeczeństwo nie zobaczy twojego prototypu!
Co więcej, GCF firmy Valve zapewnia tyle samo ochrony zawartości, co plik ZIP - czyli zero. Plik nie jest zaszyfrowany; możesz pobrać GCFScape, aby przeglądać i rozpakowywać jego zawartość.
Nie warto oddanie wysiłku w tworzeniu własnego systemu plików pakietu, chyba że mają szczególne potrzeby w tej chwili , że nie są spełniane przez ZIP plików lub własny mechanizm dostępu do plików w systemie operacyjnym; w rzeczywistości jedynymi powodami, o których mogę myśleć, są:
źródło
Ten wymóg to bzdury.
Ponieważ gra może uzyskać dostęp do danych, a użytkownik ma dostęp do gry, jeśli jest wystarczająco wykwalifikowany i zdeterminowany, uda mu się przebudować format użyty do przechowywania danych i pobrać ewentualny klucz, jeśli jesteś wystarczająco głupi aby go zaszyfrować.
Nie możesz dodać zabezpieczeń. Powtarzam: po prostu NIE MOŻNA dodać bezpieczeństwa . Możesz jedynie dodać zaciemnienie, a zaciemnienie jest całkowicie bezcelowe, ponieważ - jak powiedziałem - użytkownik o wystarczających umiejętnościach i determinacji po prostu go złamie.
Nie podpisuj niczego, co prosi o coś, czego nie można zrobić.
źródło
Wiele razy zauważam, że niestandardowe pakiety treści są zwykle archiwami .zip lub .rar z innym rozszerzeniem. Oczywiście nie jest to dobre, jeśli strona internetowa chce pewnego rodzaju niestandardowe szyfrowanie.
źródło
Kilka pomysłów:
1] Czy używałeś standardowego formatu modelu (np. .Obj lub .x), czy używasz niestandardowego formatu modelu podczas ładowania bezpośrednio do gry? Jeśli masz format niestandardowy i trzeba by było przebudować format modelu, aby uzyskać użyteczną formę, oznacza to, że masz już pewien poziom ochrony przed oportunistycznym programem do usuwania zasobów.
2] Punkt Kylotana na temat szyfrowania XOR jest doskonały, z wyjątkiem tego, że można szyfrować za pomocą pseudolosowej sekwencji generowanej przez liczbę (być może zaszczepioną przez skrót w nazwie pliku), aby uniknąć długich sekwencji zer w danych źródłowych pokazujących łańcuch szyfrowania. Oczywiście będziesz musiał odszyfrować swoje pliki natychmiast po ich załadowaniu, ale rozbicie zaszyfrowanego pliku na bloki, które można zrestartować, umożliwi rozpoczęcie odszyfrowywania w miejscu wielu wątków, jeśli naprawdę stanie się to obciążeniem w czasie ładowania . Ale poważnie wątpię, aby ten poziom „ochrony” był wymagany - szczególnie, jak powiedzieli inni, zdeterminowany rozpruwacz obejdzie go. na przykład. przechwytując wywołania losowania za pomocą biblioteki objazdów DLL i bezpośrednio odczytując bufory wierzchołków / bufory indeksów.
3] Będziesz musiał zapytać pierwotnego dostawcę zasobów o ich wymagania dotyczące ochrony, ale może to być tylko kwestia dodania informacji o prawach autorskich do zasobów na ekranie powitalnym programu i / lub do umowy EULA.
źródło