Zaciemnianie kodu

Zaciemnianie kodu
Olamagato
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Polska, Warszawa
  • Postów: 1066
0
donkey napisał(a)

Czyli jest sens o ile gra się szybko deaktualizuje albo ma wciągający tryb multi tylko na oficjalnych serwerach. Mimo wszystko nie słyszałem o gierce która by się długo opierała przed spiraceniem jej trybu offline.

Dlatego jak grzyby po deszczu powstają różne gierki MMO oraz single, które do działania wymagają aktywnej sieci.
Całość tych zabezpieczeń sprowadza się do ładowania w locie do pamięci niewielkich zaszyfrowanych części kodu z serwera. Klucze deszyfrujące są aktualne tylko kilkadziesiąt milisekund (od momentu sprowadzenia kodu), więc ręczne łamanie tak zrobionego kodu jest bez napisania przez pirata dodatkowych narzędzi praktycznie niemożliwe.
I nie ma większego znaczenia w jakim języku jest napisana aplikacja. Grunt, żeby można było używać niskopoziomowej wielowątkowości i ładowania kodu w locie. Java spełnia oba te warunki doskonale.

Co do trybu offline, to też nie jest tak tragicznie. Zainstalowany kod, a właściwie jego fragmenty mogą być porozrzucane po każdej możliwej do wykorzystania pamięci trwałej (skrajny przypadek jaki znam, to używanie w tym celu również adresu MAC karty sieciowej). Oczywiście wersja offline może być zawsze złamana. Wersja online tylko gdy uda się złamać komunikację między klientem, a serwerem.

Wszystko sprowadza się do poniesionych kosztów złamania. Jeżeli są one tego samego rzędu wielkości co wartość potencjalnych strat producenta, to zabezpieczenie jest bardzo dobre.
Najlepsze skuteczne zabezpieczenia są takie gdy łamiący jak najdłużej nie zdaje sobie sprawy, że nie złamał do końca zabezpieczenia. Na przykład w przypadku gry kod, który wykryje, że jest coś nie w porządku może nie podnosić żadnej paniki, tylko drobnymi zmianami powoduje pewne nieodwracalne zmiany np. powolny, ale nadmierny wzrost poziomu trudności gry (taki, który ostatecznie uniemożliwia skończenie jej). Zanim złodziej zorientuje się, że nie złamał kodu, to minie mnóstwo czasu bo dopiero korzystający intensywnie ze "złamanego" kodu musieliby dojść do wniosku, że crack jest do bani.

Takie zabezpieczenia mają jednak naprawdę sporo bardziej wartościowe programy niż gry. Zabezpieczenia jakie są obecnie w grach są bardzo prymitywne i prawie w ogóle nie korzystają ze specyfiki działania zabezpieczanej aplikacji.
Natomiast autorskie zabezpieczenia wykonane jednorazowo dla konkretnego produktu są dość długo skuteczne.

  • Rejestracja: dni
  • Ostatnio: dni
0
Olamagato napisał(a)

Takie zabezpieczenia mają jednak naprawdę sporo bardziej wartościowe programy niż gry. Zabezpieczenia jakie są obecnie w grach są bardzo prymitywne i prawie w ogóle nie korzystają ze specyfiki działania zabezpieczanej aplikacji.
Natomiast autorskie zabezpieczenia wykonane jednorazowo dla konkretnego produktu są dość długo skuteczne.

ty chyba sobie nie zdajesz sprawy z wielkosci rynku gier i poziomu ich zabezpieczen :)

deus
  • Rejestracja: dni
  • Ostatnio: dni
0

@Olamagato, na ile Twój post ma oparcie w rzeczywistości, na ile teoretyzujesz? Nie nazywaj crackerów piratami i złodziejami.

Koziołek
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Stacktrace
  • Postów: 6823
0

@eeee, rynek gier jest może duży, ale nie aż tak jak się niektórym wydaje. Znacznie większy jest rynek programów biurowych "specjalnego przeznaczenia". CośtamCad, śledzenie pracowników, kontrola procesów wytwórczych, aplikacje SAP. Te produkty mają naprawdę znacznie lepsze zabezpieczenia niż gry, bo i wartość w nich zawarta jest większa. Każdy by chciał np. system ekspercki z programu do planowania logistyki lub śilnik renderujący używany przez projektantów samolotów... W dodatku wykrycie pirackiej kopii kończy się zazwyczaj znacznie boleśniej niż w przypadku gier.

Mi się strasznie podoba system RedHata. ściągniesz, zainstalujesz, możesz używać, ale na poprawki nie masz co liczyć. Twój system powoli się degeneruje...

Olamagato
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Polska, Warszawa
  • Postów: 1066
0
deus napisał(a)

@Olamagato, na ile Twój post ma oparcie w rzeczywistości, na ile teoretyzujesz?

Piszę zabezpieczenia w miarę potrzeb. Jak na razie skuteczne.

Nie nazywaj crackerów piratami i złodziejami.

Jeżeli ktoś próbuje sprzedawać lub rozdawać bez mojej zgody mój kod, na który poświęciłem sporo czasu, to dla mnie zawsze będzie złodziejem.</quote>

Demonical Monk
  • Rejestracja: dni
  • Ostatnio: dni
0

To wrzuć na forum, jak użyjesz własnych metod (nie jakiś PE Compactów etc.) to ci gwarantuje że w góra tydzień znajdzie się ktoś kto ci to złamie.

Wersja online tylko gdy uda się złamać komunikację między klientem, a serwerem.

Tia, komunikacja polegająca na tym, że login serwer rozłączy Cię jeśli podasz złe hasło, a game nawet nie będzie chciał z tobą gadać zanim się nie zalogujesz. Między innymi dlatego gry online sie nie łamią - bo wszystko jest po stronie serwera weryfikowane.

à propos zabezpieczeń bardziej złożonych niż kilka ifów, pamiętacie StarForce i Splinter Cella? Niektóre mistrzowskie zabezpieczenia trzymały się kilkanaście miesięcy zanim ktoś je połamał.

Olamagato
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Polska, Warszawa
  • Postów: 1066
0
Demonical Monk napisał(a)

To wrzuć na forum

Hehehe, aż takim wariatem nie jestem. Najlepszym zabezpieczeniem jest brak wiedzy o jego istnieniu, a następnie brak wiedzy, że wciąż istnieje. :)

to ci gwarantuje że w góra tydzień znajdzie się ktoś kto ci to złamie.

Pewnie tak. Zabezpieczenie, którego źródło zostaje opublikowane przestaje istnieć dość szybko.
Wracając do sedna tematu - warto mimo wszystko zużyć jakiś procent czasu na niewielkie utrudnienie w łamaniu licencji.

deus
  • Rejestracja: dni
  • Ostatnio: dni
0
Olamagato napisał(a)

Pewnie tak. Zabezpieczenie, którego źródło zostaje opublikowane przestaje istnieć dość szybko.

A kto tu mówi o źródłach? Wrzucasz binarkę.

Koziołek
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Stacktrace
  • Postów: 6823
0
Olamagato napisał(a)

Pewnie tak. Zabezpieczenie, którego źródło zostaje opublikowane przestaje istnieć dość szybko.

Dramatyzujesz. Wiele zabezpieczeń jest doskonale znanych i dostępnych jako opensource np. TrueCrypt czy szyfrowanie systemu pod RedHatem. Jednocześnie ich złamanie jest bardzo trudne. Teoretycznie wystarczy, że zabezpieczenie ma wszyty jakiś mechanizm odpowiedzialny za szyfrowanie i deszyfrowanie informacji, który działa w oparciu o dane niejawne. W praktyce musisz albo poznać hasło, albo algorytm generatora losowego i go zastąpić swoim mockem.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.