Überprüfung der Anwendungssignatur: Wie es funktioniert, wie man es mit Xposed deaktiviert und warum man das nicht tun sollte

Sie können die Signaturüberprüfung von Android-Anwendungen (APK) mit Xposed Framework problemlos deaktivieren, sollten dies jedoch in den allermeisten Fällen nicht tun.

Wenn Sie jemals versucht haben, eine Systemanwendung zu ändern und neu zu installieren, sind Sie wahrscheinlich auf die eine oder andere Art von Anwendungssignaturprüfungen gestoßen. Entweder haben Sie die ursprüngliche App entfernt, bevor Sie fortfahren, oder Sie haben Ihrem geänderten APK einen anderen Paketnamen gegeben, damit es installiert werden kann, ohne zuerst die alte Anwendung zu entfernen. Und in beiden Fällen mussten Sie die Anwendung auch selbst neu signieren, damit sie überhaupt installiert werden konnte.

Sie können all diese Verhaltensweisen umgehen, indem Sie die Überprüfung der Anwendungssignaturen vorübergehend deaktivieren. Aber bevor wir uns mit dem metaphorischen Fleisch und den Kartoffeln dieses Artikels befassen und Ihnen sagen, wie das geht, Es ist wichtig, dass wir ein wenig über Anwendungssignaturprüfungen sprechen, was sie tun und warum Sie sollen

niemals Entfernen Sie sie in den allermeisten Fällen.

Grundlagen der Android-Signaturüberprüfung

Standardmäßig erfordert das Android-Betriebssystem alle Anwendungen müssen vor der Installation signiert werden. Ganz einfach ausgedrückt bedeutet dies, dass die Anwendungssignatur dazu dient, den Autor einer Anwendung zu identifizieren (d.h. Überprüfen Sie deren Legitimität) und stellen Sie Vertrauensbeziehungen zwischen Anwendungen mit derselben Signatur her. Mit ersterem haben Sie (zu einem angemessenen Grad) die Gewissheit, dass eine Anwendung mit einer gültigen Signatur von den erwarteten Entwicklern stammt. Und durch Letzteres können mit demselben privaten Schlüssel signierte Anwendungen im selben Prozess ausgeführt werden und private Daten teilen. Wenn Sie dann ein Anwendungsupdate installieren, überprüft das Android-Betriebssystem diese Signatur, um sicherzustellen, dass: A) das APK nicht installiert wurde in der Zeit seit der Unterzeichnung manipuliert wurde und B) das Zertifikat der Anwendung mit dem der aktuell installierten übereinstimmt Ausführung.

Wie wirkt sich das alles auf mich in der realen Welt aus? Es ist wirklich einfach. Wenn Sie ein APK von außerhalb des Google Play Store erhalten und versuchen, es als Update für Ihre aktuell installierte App zu installieren (lesen Sie: Wenn Sie denselben Paketnamen verwenden, versucht das Betriebssystem, das Zertifikat der Anwendung zu validieren, um sicherzustellen, dass es von demselben ursprünglichen Zertifikat stammt Entwickler. Wenn das Zertifikat übereinstimmt, wird die Anwendungsinstallation wie geplant fortgesetzt, Ihre Anwendung behält ihre vorhandenen Daten und alles ist erledigt. Wenn die Signatur ungültig ist (was darauf hindeutet, dass das APK manipuliert wurde) oder wenn das Zertifikat nicht mit dem der Original-App übereinstimmt, schlägt die Installation fehl. Und wie bereits erwähnt, stimmt das Anwendungszertifikat nur dann überein, wenn es mit demselben privaten Schlüssel signiert ist, der zum Signieren der vorherigen Version verwendet wurde. Mit anderen Worten: Sie können eine Anwendung nur installieren, wenn sie über eine gültige Signatur verfügt, die mit der der APKs übereinstimmt Inhalte, und Sie können ein Update nur installieren, wenn dessen Zertifikat auch mit dem der früheren Version übereinstimmt der App.

[Als humorvoller Randbemerkung in diesem ansonsten dichten Artikel gibt es ein sehr öffentliches Beispiel, bei dem ein privater Anwendungssignaturschlüssel verloren ging oder kompromittiert wurde. Ich beziehe mich natürlich auf Googles eigene Authenticator-App, die ein Update erhalten hat, das ihren Paketnamen von geändert hat com.google.android.apps.authenticator Zu com.google.android.apps.authenticator2 in einem Update vor etwa zwei Jahren. Aufgrund dieser Änderung konnten alle nachfolgenden Authenticator-App-Updates nur unter dem neuen Paketnamen ausgegeben werden – mit der neuen Signatur, die durch den neuen privaten Signaturschlüssel generiert wurde.]

Warum Sie die Signaturüberprüfung möglicherweise (vorübergehend) deaktivieren möchten

Schauen wir uns nun ein mögliches Szenario an, in dem wir die Überprüfung der Anwendungssignatur möglicherweise vorübergehend deaktivieren möchten. Wie am Anfang dieses Artikels erwähnt, kann die Signaturüberprüfung bei der Änderung bestehender Systemanwendungen ein wenig Kopfzerbrechen bereiten. Wenn Sie eine geänderte Version einer Systemanwendung installieren, können Sie die Anwendung nicht mit einem gültigen und passenden Zertifikat signieren. In solchen Fällen möchten Sie normalerweise zuerst die vorhandene Anwendung entfernen und dann wie gewohnt die geänderte Version installieren. Sie könnten die Signaturüberprüfung auch deaktivieren, aber es ist besser (und sicherer), die Signaturüberprüfung aktiviert zu lassen und einfach die alte Version zu entfernen, damit die neue installiert werden kann. Dies kann jedoch zu einem Problem werden, wenn die App, die Sie ersetzen möchten, über Daten verfügt, die Sie lieber nicht verlieren möchten. Es gibt sicherlich Möglichkeiten, die Daten manuell über Root-Zugriff zu sichern und auf die neue Version von zu übertragen Benutzer können die Signaturüberprüfung jedoch auch einfach vorübergehend deaktivieren und die Prüfungen dann fortsetzen nachher. Alternativ wie von XDA Senior Member hervorgehoben mcbyte_it In den Kommentaren kann dies auch bei der Anwendungsentwicklung nützlich sein.

So geht's

Bisher war die Deaktivierung der Signaturüberprüfung für so ziemlich jedes Problem eine schreckliche Lösung. Dies liegt daran, dass Sie dabei im Wesentlichen den integrierten Android-Schutz wegwerfen, der dafür sorgt dass Ihre Anwendungen nicht manipuliert wurden und dass ihre Updates vom Original stammen Entwickler. Dank der Magie von Xposed Framework können Sie die Signaturüberprüfung jetzt vorübergehend deaktivieren und wieder aktivieren, sobald Sie mit der Installation Ihrer geänderten Anwendung fertig sind. Ein solches Xposed-Modul das genau das kann, wurde kürzlich von XDA Senior Member veröffentlicht Pylerund es funktioniert wie geplant auf allen Geräten, auf denen Xposed ausgeführt werden kann. Auf diese Weise können Sie ganz einfach ein geändertes Anwendungsupdate installieren, das nicht ordnungsgemäß signiert wurde Aktivieren Sie das Modul, starten Sie es neu, installieren Sie das geänderte Anwendungsupdate, deaktivieren Sie das Modul, starten Sie es neu und weiter geht’s Weg.

Nachdem Sie nun wissen, wie Sie die Signaturüberprüfung vorübergehend deaktivieren können, ist es wichtig, noch einmal zu betonen, wie wichtig dies ist Es bedeutet, die Signaturüberprüfung jederzeit aktiviert zu lassen, es sei denn, Sie haben einen sehr, sehr guten Grund, sie zu deaktivieren Es. Daher sollten Sie ein solches Tool nur wirklich verwenden, um Anwendungsupdates anzuwenden, die Sie selbst erstellen und wann Es gibt mildernde Umstände, die es erforderlich machen, dies zu tun, anstatt einfach zuerst die alte Anwendung zu deinstallieren.

Seien Sie sicher und nutzen Sie dies mit Bedacht.