Verifica della firma dell'applicazione: come funziona, come disabilitarla con Xposed e perché non dovresti

click fraud protection

Puoi disabilitare facilmente la verifica della firma dell'applicazione Android (APK) utilizzando Xposed Framework, ma non dovresti farlo nella stragrande maggioranza dei casi.

Se hai mai provato a modificare e reinstallare un'applicazione di sistema, probabilmente hai riscontrato controlli della firma dell'applicazione in un modo o nell'altro. Hai rimosso l'app originale prima di procedere oppure hai assegnato al tuo APK modificato un altro nome di pacchetto per poterlo installare senza prima rimuovere la vecchia applicazione. E in entrambi i casi, dovevi anche firmare nuovamente l'applicazione per poterla installare in primo luogo.

Puoi aggirare tutti questi comportamenti disabilitando temporaneamente i controlli della firma dell'applicazione. Ma prima di addentrarci nel merito metaforico di questo articolo e dirvi come farlo, è fondamentale parlare un po' dei controlli della firma delle applicazioni, di cosa fanno e del perché Dovrebbe Mai rimuoverli nella stragrande maggioranza dei casi.

Nozioni di base sulla verifica della firma Android

Per impostazione predefinita, il sistema operativo Android richiede Tutto domande da firmare per essere installate. In termini molto semplici, ciò significa che la firma dell'applicazione viene utilizzata per identificare l'autore di un'applicazione (cioè. verificarne la legittimità), nonché stabilire rapporti di fiducia tra applicazioni con la stessa firma. Con il primo si ha la certezza (in misura ragionevole) che un'applicazione con una firma valida provenga dagli sviluppatori attesi. E attraverso quest'ultimo, le applicazioni firmate con la stessa chiave privata possono essere eseguite nello stesso processo e condividere dati privati. Quindi, quando installi un aggiornamento dell'applicazione, il sistema operativo Android controlla questa firma per assicurarsi che: A) l'APK non sia stato manomesso nel tempo da quando è stato firmato e B) il certificato dell'applicazione corrisponde a quello attualmente installato versione.

Allora come mi influenza tutto questo nel mondo reale? È semplice, davvero. Se ottieni un APK dall'esterno del Google Play Store e provi a installarlo come aggiornamento dell'app attualmente installata (leggi: stesso nome del pacchetto), il sistema operativo tenterà di convalidare il certificato dell'applicazione per assicurarsi che provenga dalla stessa iniziale sviluppatori. Se il certificato corrisponde, l'installazione dell'applicazione procederà come previsto, l'applicazione manterrà i dati esistenti e tutto sarà a posto. Se la firma non è valida (indicando che l'APK è stato manomesso) o se il certificato non corrisponde a quello dell'app originale, l'installazione fallirà. E come affermato in precedenza, il certificato dell'applicazione corrisponderà solo se è firmato con la stessa chiave privata utilizzata per firmare la versione precedente. In altre parole, puoi installare un'applicazione solo se ha una firma valida che corrisponde a quella dell'APK contenuto ed è possibile installare un aggiornamento solo se il relativo certificato corrisponde anche a quello presente nella versione precedente dell'app.

[Per inciso, in questo articolo altrimenti denso, c'è un esempio molto pubblico in cui la chiave di firma di un'applicazione privata è stata persa o compromessa. Mi riferisco ovviamente all'app Authenticator di Google, che ha ricevuto un aggiornamento che ha cambiato il nome del pacchetto com.google.android.apps.authenticatorcom.google.android.apps.authenticator2 in un aggiornamento circa due anni fa. A causa di questa modifica, tutti i successivi aggiornamenti dell'app Authenticator potrebbero essere rilasciati solo con il nuovo nome del pacchetto, con la nuova firma generata dalla nuova chiave di firma privata.]

Perché potresti voler disattivare (temporaneamente) la verifica della firma

Ora diamo un'occhiata a un potenziale scenario in cui potremmo voler disabilitare temporaneamente la verifica della firma dell'applicazione. Come accennato all'inizio di questo articolo, la verifica della firma può essere un po' un grattacapo quando si modificano le applicazioni di sistema esistenti. Se installi una versione modificata di un'applicazione di sistema, non sarai in grado di firmare l'applicazione con un certificato valido e corrispondente. In casi come questo, normalmente vorrai rimuovere prima l'applicazione esistente e poi installare normalmente la versione modificata. Potresti anche disabilitare la verifica della firma, ma è meglio (e più sicuro) lasciare abilitata la verifica della firma e rimuovere semplicemente la vecchia versione in modo che quella nuova possa essere installata. Questo, tuttavia, può diventare un problema se l'app che stai tentando di sostituire contiene dati che preferiresti non perdere. Esistono certamente modi per preservare manualmente i dati utilizzando l'accesso root e trapiantarli nella nuova versione di l'app, ma gli utenti potrebbero anche voler semplicemente disabilitare temporaneamente la verifica della firma e quindi riprendere i controlli dopo. In alternativa, come sottolineato dal membro senior di XDA mcbyte_it nei commenti, questo può essere utile anche nello sviluppo dell'applicazione.

Come farlo

Fino ad ora, disabilitare la verifica della firma è stata una soluzione orribile praticamente per qualsiasi problema. Questo perché quando lo fai, essenzialmente butti via la protezione integrata di Android che ti assicura che le tue applicazioni non sono state manomesse e che i loro aggiornamenti provengono dall'originale sviluppatori. Ma ora, grazie alla magia di Xposed Framework, puoi disattivare temporaneamente la verifica della firma e riattivarla una volta terminata l'installazione dell'applicazione modificata. Uno di questi moduli Xposed che può fare esattamente questo è stato recentemente rilasciato dal membro senior di XDA Pylere funziona come previsto per tutti i dispositivi in ​​grado di eseguire Xposed. In questo modo, quando desideri installare un aggiornamento dell'applicazione modificato che non è stato firmato correttamente, puoi semplicemente abilita il modulo, riavvia, installa l'aggiornamento dell'applicazione modificata, disabilita il modulo, riavvia e divertiti modo.

Ora che sai come disabilitare temporaneamente la verifica della firma, è importante ribadire quanto sia importante significa lasciare la verifica della firma sempre abilitata, a meno che tu non abbia un ottimo motivo per disabilitarla Esso. Pertanto, dovresti utilizzare realmente uno strumento di questo tipo solo per applicare gli aggiornamenti dell'applicazione che crei tu stesso e quando ci sono circostanze attenuanti che richiedono di farlo anziché semplicemente disinstallare prima la vecchia applicazione.

Sii sicuro e usalo con giudizio.