gokuquarto ho continuato a indagare sui possibili controlli di play integrity. Possiedo un telefono samsung rooted con Android 11, stock OS e moduli magisk che mi permettono di passare STRONG_INTEGRITY. PosteID si avvia correttamente pur dando warning di root e mi fa interrogare il backend di poste senza problemi. Per capire se l'app effettivamente controlla la STRONG e DEVICE INTEGRITY ho voluto disattivare i moduli magisk così da passare solo la BASIC, cancellare app e dati di PosteID, riscaricarla e vedere se mi faceva entrare. Con mia grande sorpresa sono riuscito ad entrare nell'app PosteID anche solo con BASIC INTEGRITY e con i soliti warning di root. Ora 2 sono le cose: o il backend sta facendo "caching" della mia vecchia sessione e sta trustando il device perchè in passato superava la STRONG INTEGRITY oppure il backend si accontenta della BASIC INTEGRITY. Ho anche provato a fare modifiche all'apk ma senza successo, play integrity rileva che l'apk è stato modificato. Nemmeno se scarichi PosteID da AuroraStore ti funziona. L'unica cosa che ha funzionato è stata scaricare PosteID da play store, collegarsi con adb, tirare fuori l'apk originale e gli split e reinstallarli con opzione -i "com.android.vending" :
adb shell pm list packages -f | grep poste
adb pull /data/app/~~YTt2....................==/posteitaliane.posteapp.appposteid-qy1tZmd93Qe_m47s0CopMQ==/base.apk
adb pull /data/app/~~YTt2....................==/posteitaliane.posteapp.appposteid-qy1tZmd93Qe_m47s0CopMQ==/split_config.arm64_v8a.apk
adb pull /data/app/~~YTt2....................==/posteitaliane.posteapp.appposteid-qy1tZmd93Qe_m47s0CopMQ==/split_config.it.apk
adb pull /data/app/~~YTt2....................==/posteitaliane.posteapp.appposteid-qy1tZmd93Qe_m47s0CopMQ==/split_config.xxhdpi.apk
e poi reinstallarli con
adb install-multiple -i "com.android.vending" base.apk split_config.xxhdpi.apk split_config.it.apk split_config.arm64_v8a.apk
(-i "com.android.vending" è importante)
purtroppo non serve a molto e bisogna indagare di più. Se ci fosse un modo di modificare l'apk si potrebbe pensare di usare un dispositivo con root per estrarre il contenuto della directory /data/ e iniettare il token di registrazione ottenuto da play integrity in un nuovo apk da riutilizzare su un altro dispositivo (Graphene).
allego materiale su play integrity:
https://developer.android.com/google/play/integrity/overview?hl=it
https://www.youtube.com/watch?v=dqUTX6hR9Mk&t=16s