Android Oreo skrývá mnoho vychytávek, tentokrát jsme se dozvěděli o způsobu, jak programově změnit pin, heslo nebo vzor zamykací obrazovky.
Android Oreo obsahuje mnoho tajných vylepšení vzhledu věcí. Podpora tématu, upozornění na Android TV zakázána, snížená latence odemknutí a více. Všechny tyto byly v historii odevzdání pro Oreo, tzn. nenalezeno v oficiálním changelogu, ale odhalili jsme toho ještě víc. Jedním z takových objevů je příkaz k programové změně PIN, hesla nebo vzoru zamykací obrazovky. To se na první pohled nemusí zdát užitečné, ale existuje několik zajímavých aplikací pro tento příkaz, které si níže popíšeme poté, co vám ukážeme, jak jej používat.
Varování: hrát si s těmito příkazy může potenciálně se uzamknete ze svého zařízení pokud si nedáte pozor. Byl jsi varován. Toto je jednoduše ukázat nové příkazy, které Google přidal, a také vám teoreticky ukázat, co s tím můžete dělat. Nezahrávejte si s tím, pokud si nemůžete dovolit přijít o svá data, nebo pokud nemáte root. Pokud se omylem uzamknete ze svého zařízení a máte root, smažte následující soubory v /data/system: gatekeeper.pattern.key, gatekeeper.password.key a všechny další soubory gatekeeper.
Změna kódu PIN, hesla nebo vzoru na uzamčené obrazovce programově
V systému Android Oreo bylo přidáno několik nových příkazů pro ladění, které mění různé metody uzamčení obrazovky. Následující tento závazek příkazy by vypadaly následovně. Všimněte si, že musíte použít adb shell za prvé, protože je třeba je spustit prostřednictvím shellu zařízení. Tyto příkazy se používají k nastavení vzoru, PIN nebo hesla uzamčené obrazovky, ale jak vidíte, můžete je také vymazat, pokud potřebujete.
locksettings set-pattern
locksettings set-pin
locksettings set-password
locksettings clear
Je celkem zřejmé, co tyto příkazy dělají. Vzor je trochu jiný, ale dostatečně jednoduchý na pochopení. Jako příklad pro vzor, jak je vidět napravo, použijete následující příkaz.
locksettings set-pattern 159
Vzory se nastavují prostřednictvím každé buňky, které je přiděleno číslo, takže vlevo nahoře je "1", uprostřed je "5" a vpravo dole je "9". Takto dosáhneme 159 – stačí namapovat polohu každé tečky vzoru na číslo, jako by to byl číselník T9.
Důležitou poznámkou je také jakýkoli PIN, heslo nebo vzor, který nastavíte pomocí těchto metod aktualizuje šifrovací heslo stejně jako kdybyste to nastavili v Nastavení. Existuje způsob, jak nastavit a jiné šifrovací heslo než na obrazovce uzamčení jeden, ale nedoporučuje se to, pokud nevíte, co děláte.
Návrat TimePIN?
Potenciálně zajímavým případem použití na zakořeněných zařízeních se systémem Android Oreo by bylo znovu vytvořit aplikaci jako TimePIN. TimePIN udělal dynamicky změnu čísla PIN na zamykací obrazovce na aktuální čas, i když jste jej mohli zaměnit invertováním čísla, posunutím atd. aby to bylo ještě bezpečnější. Například v čase 11:56 by pin byl 1156. Pokud je offset -1003, skutečný pin bude 0153.
S vydáním Android Marshmallow byla tato schopnost narušena, když aplikace pro správu zařízení již nemohly měnit hesla na zařízení. Ale díky těmto novým příkazům by mělo být možné replikovat tuto funkci na rootovaném zařízení.
Na základě tohoto konceptu jsme vytvořili proof of concept Tasker profil! Důrazně doporučujeme nepoužívat toto, protože to bylo složeno celkem rychle a nezaručuje, že bude fungovat bezchybně. Toto nepoužívejte, pokud vážně chcete funkci podobnou TimePIN. Pokud jste vývojář, který čte tento příspěvek a myslíte si, že byste z toho mohli vytvořit aplikaci, buďte naším hostem!
Můžete si stáhnout Projekt Tasker odtud. Importujte jej tak, že nejprve deaktivujete režim pro začátečníky v předvolbách Taskeru a poté na hlavní obrazovce dlouze stisknete ikonu domů vlevo dole, čímž vyvoláte možnost importu. Najděte a importujte soubor .prj.xml. Chcete-li jej nastavit, musíte provést dva kroky:
- Přejděte na kartu var v Taskeru a nastavte svůj aktuální PIN na %OldPIN
- Otevřete úlohu pro profil „Vypnutí zařízení“. V akci Run Shell přidejte na konec příkazu požadovaný záložní pin. Také se ujistěte, že mezi %OldPIN a záložním PIN je mezera. Váš příkaz by měl vypadat takto: locksettings set pin --old %OldPIN 3523
Nyní povolte oba profily.
Pamatujte, že současná změna kódu PIN také aktualizuje kódovací kód PIN, takže pokud s ním nebudete opatrní, může se stát, že nebudete moci dešifrovat data v telefonu. Chceme zopakovat, že výše uvedené je důkazem konceptu, který vydáváme v naději, že se na to náležitě podívají kompetentnější vývojáři.
Zabalit
Celkově jde o zajímavý vývoj, který může být užitečný pro ostatní, kteří chtějí vytvářet dynamické PINy jejich telefon, nebo možná i ti, kteří potřebují uložit svůj telefon, pokud je ladění ponecháno zapnuté a povoleno na a počítač. Výše uvedený profil Tasker jednoduše vyvolá příkazy adb prostřednictvím prostředí Android, a tak může změnit PIN jako příkazy adb.