PHP týden PHP týden
Tento týden až 80% sleva na e-learning PHP!
Avatar
Dominik Rozporka:11. června 18:54

Dobrý den, jde vytvořit proměnná která nelze vůbec měnit z cizích zdrojů?
Mám to na mysli tak že třeba vytvořim proměnnou a když spustim ten můj program tak aby v tom mím programu nešla vůbec měnit jiným programem kterej to umí například cheatengine ale aby šla zároveň měnit svím programem.

 
Odpovědět 11. června 18:54
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Dominik Rozporka
David Čápka:11. června 19:12

Jelikož je proměnná vždy uložena v paměti, tak ji bude vždy možné číst, můžeš to ostatním jen ztížit nějakým šifrováním a ukládáním podobných hodnot na více míst a podobně. Pokud chceš plnou kontrolu nad svou aplikací, udělej ji jako webovou, kde logika běží na serveru.

Editováno 11. června 19:12
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět  +1 11. června 19:12
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Avatar
Martin Dráb
Redaktor
Avatar
Odpovídá na Dominik Rozporka
Martin Dráb:11. června 22:02

nešla vůbec měnit jiným programem kterej to umí například cheatengine ale aby šla zároveň měnit svím programem.

Pokud chceš proměnnou mít uloženou v paměti, můžeš ostatním programům bránit v manipulaci s ní tak, že jim nedovolíš paměť tvé aplikace číst. Což na Windows nejde jednoduše zařídit, pokud aplikace, co ti tu paměť čte, má administrátorská práva. Tvá aplikace si může nastavit, jaká oprávnění k jejímu procesu mohou jednotliví uživatelé získat.

Pro obranu proti programům s administrátorskými právy se dá využít koncept tzv. chráněného procesu (protected process, od Windows 8.1 spíše protected process light – PPL). Původně byl určen a používán pro implementaci DRM, od WIndows 8.1 jij jej lze v jisté míře využít i jinak. Klíčové je, že normální procesy mají velmi omezený přístup k těm chráněným, například nemohou číst ani měnit jejich paměť.

Další možností dostupnou od procesorů Intel Skylake by mohlo být využití tzv. enkláv (enclaves), které ti dovolují určitý kód a data uložit do jakéhosi šifrovaného kontejneruchrá­něného přímo procesorem. Nevím o tom ale nic bližšího (na svém hlavním notebooku mám starší procesor).

Rozhodně je nejlepší, jak píše David, proměnnou do paměti (u uživatele) neukládat vůbec.

Nahoru Odpovědět  +1 11. června 22:02
2 + 2 = 5 for extremely large values of 2
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.