Diskuze: Jde vytvořit proměnná která nelze vůbec měnit z cizích zdrojů
Zobrazeno 3 zpráv z 3.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
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.
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.
Zobrazeno 3 zpráv z 3.