Android Oreo skjuler mange godbiter, denne gangen har vi lært om en måte å programmatisk endre låseskjermens pin, passord eller mønster.
Android Oreo har mange hemmelige forbedringer av utseendet til ting. Temastøtte, varsler er deaktivert på Android TV, redusert opplåsingsforsinkelse og mer. Alle disse har vært innenfor commit-historien for Oreo, dvs. ikke funnet i en offisiell endringslogg, men det er enda mer vi har avdekket. En slik oppdagelse er en kommando for å programmere endre låseskjermens pin, passord eller mønster. Dette virker kanskje ikke nyttig ved første øyekast, men det er noen interessante applikasjoner for denne kommandoen som vi vil skissere nedenfor etter å ha vist deg hvordan du bruker den.
Advarsel: rote med disse kommandoene kan potensielt låse deg ute fra enheten din hvis du ikke er forsiktig. Du har blitt advart. Dette er ganske enkelt for å vise de nye kommandoene Google har lagt til, og også for å vise deg i teorien hva du kan gjøre med den. Ikke rot med dette hvis du ikke har råd til å miste dataene dine
, eller hvis du ikke er rootet. Hvis du ved et uhell låser deg ute av enheten og har root, sletter du følgende filer i /data/system: gatekeeper.pattern.key, gatekeeper.password.key og alle andre gatekeeper-filer.Endre låseskjermens PIN-kode, passord eller mønster programmatisk
Med Android Oreo har det blitt lagt til noen nye feilsøkingskommandoer for å endre de forskjellige låseskjermmetodene. Følgende denne forpliktelsen kommandoene ser ut til å være som følger. Merk at du må bruke adb skall først, da disse må utføres via enhetens skall. Disse kommandoene brukes til å angi mønster, pin eller passord for låseskjermen, men som du kan se kan du også fjerne disse hvis du trenger det.
locksettings set-pattern
locksettings set-pin
locksettings set-password
locksettings clear
Det er ganske åpenbart hva disse kommandoene gjør. Et mønster er litt annerledes, men enkelt nok til å forstå. Som et eksempel, for et mønster som vist til høyre, er kommandoen du bruker følgende.
locksettings set-pattern 159
Mønstre settes via at hver celle får et tall, så øverst til venstre er "1", midten er "5" og nederst til høyre er "9". Slik når vi 159 - du kartlegger bare posisjonen til hver mønsterprikk til et tall som om det er en T9-oppringer.
Som en viktig merknad, en hvilken som helst pinkode, passord eller mønster som du angir ved hjelp av disse metodene også oppdaterer krypteringspassordet akkurat som om du setter den fra Innstillinger. Det er en måte å sette en annet krypteringspassord fra låseskjermen en, men det anbefales ikke med mindre du vet hva du gjør.
Return of TimePIN?
En potensielt interessant brukssak på rotfestede enheter som kjører Android Oreo ville være å gjenskape en applikasjon som TimePIN. Det TimePIN gjorde var at det dynamisk endret PIN-nummeret til låseskjermen til å være gjeldende tidspunkt, selv om du kunne blande det ved å invertere nummeret, forskyve det osv. for å gjøre det enda sikrere. For eksempel, på tiden 11:56, ville pinnen være 1156. Hvis det er en offset på -1003, vil den faktiske pinnen være 0153.
Med utgivelsen av Android Marshmallow ble denne muligheten ødelagt da enhetsadministratorapplikasjoner ikke lenger kunne endre passord på enheten. Men takket være disse nye kommandoene bør det være mulig å replikere denne funksjonaliteten på en forankret enhet.
Vi har laget en proof of concept Tasker-profil basert på dette konseptet! Vi anbefaler på det sterkeste å ikke bruke dette, siden den ble kastet sammen ganske raskt og garanterer ikke at den vil fungere feilfritt. Ikke bruk dette hvis du seriøst ønsker TimePIN-lignende funksjonalitet. Hvis du er en utvikler som leser dette innlegget og tror du kanskje kan lage en app ut av dette, vær vår gjest!
Du kan laste ned Taskerprosjekt herfra. Importer den ved først å deaktivere nybegynnermodus i Tasker sine preferanser, og deretter på hovedskjermen trykk lenge på hjemikonet nederst til venstre for å få frem importalternativet. Finn og importer .prj.xml-filen. For å konfigurere det, må du gjøre to trinn:
- Gå til var-fanen i Tasker og sett din nåværende pin til %OldPIN
- Åpne oppgaven for "Device Shutdown"-profilen. I Kjør Shell-handlingen legger du til sikkerhetskopipinnen du ønsker på slutten av kommandoen. Sørg også for at det er et mellomrom mellom %OldPIN og sikkerhetskopi-pinnen. Kommandoen din skal se slik ut: locksettings set pin --gamle %OldPIN 3523
Aktiver nå begge profilene.
Husk at endring av pinne for øyeblikket vil også oppdatere krypteringspinnen, så hvis du ikke er forsiktig med den, kan du ved et uhell ikke være i stand til å dekryptere dataene i telefonen. Vi ønsker å gjenta at ovenstående er et proof of concept vi legger ut i håp om at en mer kompetent utviklere kan se på dette ordentlig.
Avslutning
Totalt sett er dette en interessant utvikling som kan være nyttig for andre som ønsker å lage dynamiske PIN-koder på telefonen deres, eller kanskje til og med de som trenger å lagre telefonen sin hvis feilsøking er på og tillatt på en datamaskin. Tasker-profilen ovenfor påkaller ganske enkelt adb-kommandoene gjennom Android-skallet, og kan dermed endre PIN-koden som adb-kommandoene kan.