Za početak, važna napomena. Jedna stvar mora biti jasna. Ova metoda neće raditi u 100% slučajeva i treba se koristiti kao zadnja opcija.
Olakotna okolnost može biti ako ste sami kreirali keystore za koji više nemate lozinku jer lakše ćete dobiti inspiraciju za potencijalne mogućnosti kada znate koje najčešće kombinacije koristite No, ako želite doći do lozinke keystore datoteke koju je netko drugi kreirao onda najveću ulogu igra sreća i dovoljno vremena provedenog u čekanju da ovaj alat dođe do lozinke.
P.S. Prije korištenja ovog alata dobra je opcija kontaktirati Google kroz njihovu General Play Console issues formu (I have a key or keystore related issue -> I have an upload key-related issue -> I forgot the password to my keystore).
Android keystore!?
Ono što se u svim uputama može pronaći je važna napomena koja se tiče upravo keystore datoteke za koju je navedeno da se uvijek mora čuvati na sigurnom mjestu i da se nikako ne smije izgubiti pripadajuća lozinka. U suprotnom neće biti moguće napraviti ažuriranje aplikacije na Google Play Store. Druga opcija je da se aplikacija potpisuje sa certifikatom kojim upravlja Google direktno kroz Google Play Store.
…if you’re not opted in to app signing with by Google Play and you lose your app’s signing key, you lose the ability to update your app.
Više o načinu kako se Android keystore datoteka kreira i koristi za postavljanje Ionic aplikacija na Google Play Store moguće je pronaći u blog postu pod naslovom “Priprema i objava Ionic aplikacije na Google Play Store“.
No, vratimo se scenariju u kojemu lozinka keystore datoeke nije poznata.
Što napraviti u tom slučaju?
Priprema
- Preduvjet za korištenje ovog alata je instalirana Java
- AndroidKeystoreBrute alat je moguće preuzeti na adresi https://drive.google.com/file/d/0B_Rw7kNjv3BATldrLXMwcVRud2c/edit?usp=sharing
Alat se pokreće naredbom
1 |
java -jar AndroidKeystoreBrute.jar <argumenti> |
Mogući argumenti:
Korištenje AndroidKeystoreBrute alata
Prilikom pokretanja dobiju se alias i datum tj. vrijeme kreiranja keystore datoteke. U ovom slučaju to su:
1 2 |
Found alias: demoapp Creation Date: Fri Aug 07 14:42:35 CEST 2020 |
1. metoda – Simply Bruteforce
1 |
java -jar AndroidKeystoreBrute_v1.05.jar -m 1 -k DemoApp.keystore -start AAAAAA |
Najsporija metoda. Ovdje se ne koristi riječnik s popisom mogućih riječi nego se vrte sve kombinacije počevši od zadanog argumenta -START AAAAAA
2. metoda – Dictionary Attack
1 |
java -jar AndroidKeystoreBrute_v1.05.jar -m 2 -k DemoApp.keystore -d "wordlist.txt" |
Metoda koja će vrtiti popis zadanih riječi u točnom obliku kako su navedene. Znači neće ih kombinirati kao što to radi u 3. metodi. Potreban je puno veći popis riječi i sve moguće kombinacije.
3. metoda – Smart Wordlist Attack (preporuka)
1 |
java -jar AndroidKeystoreBrute_v1.05.jar -m 3 -k DemoApp.keystore -d "wordlist.txt" |
Najbolja metoda jer će od svih riječi iz riječnika napraviti sve moguće kombinacije. Brojevi se dodaju automatski i nije ih potrebno posebno navoditi. Ipak, ako znate da se lozinka sastoji od npr. broja godine “2020” dobro je to navesti jer će ubrzati pronalazak ispravne kombinacije.
Popis riječi koje sam koristio u wordlist.txt:
1 2 3 4 5 6 7 |
tomislav primjer demo blog 8 7 0 |
Ispravnu kombinaciju lozinke dobio sam za 22 sekunde:
Naslovna slika preuzeta sa https://android-developers.googleblog.com/2018/12/new-keystore-features-keep-your-slice.html