Diskuze: Jak zabezpečit soubor?
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Tvůrce
Zobrazeno 9 zpráv z 9.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Teoreticky nejde nic 100% zabezpečit, co běží celé (nebo alespoň logika zpracovávání dat programu) na straně klienta. To šifrování/binární soubor je asi jediné řešení proti tomu, aby uživatel přepsal staty v uloženém souboru. Ale ono to jde obejít ještě jinak. Konkrétně myslím nástroje jako Cheat Engine, díky kterým ani nemusíš zasahovat do uložených souborů, hra ti je přepíše následně sama hra při ukládání
*v tý poslendí větě jsem se nějak zamotal, ignoruj jazyk mého kmene
Díky, na ten Cheat Engine se podívám, už jen kvůli zvědavosti
Osobně to řeším tak, že hodnoty nějak nesmyslně spatlam dohromady do jednoho stringu(ten si pak zase rozkrájim, to už je předem určený jak to bude vypadat) a pak to zašifruju(stačí nečim jednoduchym a ani nijak neřešim klíče, napevno jeden nastavim v kódu a je tam), výsledný soubor s daty připomíná kočku na klávesnici, uživatel je bez šance něco změnit, a i kdyby to rozšifroval, tak mu stejně data nedávají smysl.
Ale jak už bylo řečeno, pokud se napíchneš na proces a upravíš hodnoty za chodu, tak ti tohle nepomůže. Chce to třeba mít životy v jedné proměnné, ale pak i souběžně v další, ve které je hodnota životy*2, v další životy + náboje... Uživatel ti s CheatEngine odhalí proměnnou životy a změní ji, ale program si to pořád kontroluje a zjistí, že v těch dalších dvou to nesedí a např. vyhodí uživateli hlášku, nebo si to napozadí vyřeší (skutečné životy si dopočítá z toho ostatního). Tohle mi přijde jednodušší než nějak zařizovat, aby se proces programu nedal napíchnout a měnit v něm hodnoty.
Děkuji oběma za rady a vysvětlení
Taky záleží v čem je to napsané pokud je to například Java nebo C#, tak se s tím nebudu mazat a prostě ten program dekompiluju, v tom případě doporučuji obfuskovat
Pokud jsi velký master, tak změníš hodnotu, zamrazíš program, JMP do "ukládací sekvence" a hotovo
Ja to delam tak, ze zmenim posledni cas upravy souboru na rok treba 1986 (po kazdem zapisu do souboru). Tak zjistim, jestli se mi v tom nekdo hrabal. Uzivatele nenapadne si tohle overit. Jeste to zkombinuj s tim, co psal Adam Jezek a mas to.
Zobrazeno 9 zpráv z 9.