Ich muss sehen, wer die Anwendung signierte, die ich auf meinem Gerät installiert habe. Ist dies generell am Gerät oder am PC möglich?Wie kann ich die Identität der Person anzeigen, die die App auf Android-Geräten signiert hat?
Antwort
(vorausgesetzt, Sie können Zugriff auf die rohe apk-Datei bekommen - was Sie normalerweise können, wenn Sie wissen und schätzen Sie seinen Namen und Standort, obwohl Sie nicht den Inhalt von/Daten auf einer nicht auflisten können -bewurzelte Telefon)
Sie konnten die apk als Zip-Datei öffnen und den ASCII-Text aus dem binären Inhalt des META-INF/CERT.RSA
oder mit einem tatsächlichen Werkzeug filtern,
jarsigner -verify -certs -verbose some_application.apk
Natürlich ist der einzige Weg zu überprüfen, ob der Unterzeichner ist, wer er ist etwas anderes mit demselben Schlüssel von dieser Partei über direkte oder verifizierte Mittel signieren und die Fingerabdrücke der Signierungsschlüssel vergleichen - so überprüft Android selbst, dass App-Upgrades und App-ID-Sharing von der gleichen Partei kommen wie die APK, auf die sie abzielen.
Danke für den Hinweis! Vielleicht wissen Sie auch, wie Sie dasselbe Ziel nur mit dem Gerät erreichen können? Meine Identität mag für Endanwender meiner Anwendung wichtig sein, aber sie sind normalerweise zu faul, um Manipulationen am PC durchzuführen .... –
Ich wäre nicht überrascht, wenn Jarsigner in Java implementiert wäre, also könnte man es wahrscheinlich auf Android portieren. Der erste Vorschlag zum Extrahieren des ASCII-Texts durch Herausfiltern der nicht druckbaren Dateien ist jedoch möglicherweise einfacher. Aber wenn dies Ihre Anwendung ist, was ist der Sinn? Wenn der Benutzer Ihrem Code vertraut, um die Unterzeichnerinformationen zu extrahieren, vertrauen Sie vermutlich auch Ihrem About-Bildschirm. Beachten Sie auch, dass das Extrahieren der Unterzeichnerinformationen nicht beweist, dass diese Entität sie wirklich signiert hat. Sie müssten beweisen, dass das verwendete Zertifikat ihnen gehört. –
Running jarsigner auf einer apk von Google veröffentlicht (scheinbar) gibt (viele) diese Nachrichten: 'X.509, CN = Android, OU = Android, O = Google Inc., L = Mountain View, ST = Kalifornien, C = US [Zertifikat ist gültig vom 22-08-08 01:13 bis 08-01-36 00:13] [CertPath nicht validiert: Pfad kettet nicht mit einem der Vertrauensanker] '. Wie erhalte ich das Google-Zertifikat, um zu bestätigen, dass es sich wirklich um den Unterzeichner handelt? (Ich denke, es ist wichtig, diese Antwort hinzuzufügen, aber lassen Sie es mich wissen, wenn Sie möchten, dass ich eine separate Frage stelle.) – mgd
Von Getting certificate details from an apk, können Sie den folgenden Befehl
openssl pkcs7 -inform DER -in CERT.RSA -noout -print_certs -text
- 1. Wie kann ich die Identität manuell einfügen?
- 2. Name des Zertifikats/der Behörde, die IPA signiert hat [iOS]
- 3. Wie die IP einer Person zu verfolgen, die eine bestimmte App in PHP installiert hat
- 4. Rufen Sie die ID der Person ab, die einen Beitrag auf einer Facebook-Unternehmensseite veröffentlicht hat.
- 5. Wie verhindern wir die Anmeldung der zweiten Person, wenn bereits die erste Person eingeloggt ist
- 6. Wie kann ich die Anzahl der Bilder anzeigen, die einem Beitrag auf der Bildanhangsseite angehängt sind?
- 7. Wie kann ich die Berichte einer Person über EWS erhalten?
- 8. Wie finde ich die geeignete Person für die API-Überprüfung?
- 9. Wie kann ich die Abfrage auf Jade-Vorlage anzeigen?
- 10. Wie kann ich die IE7-Fehlermeldung "Dieses Programm kann die Webseite nicht anzeigen" auf Debug erweitern?
- 11. Wie kann ich auf die SQLite-DB zugreifen, die meine App auf dem iPhone verwendet?
- 12. Die Tabelle AspNetUserLogins Identität
- 13. Wie kann ich die Gerrit ID in der Benutzeroberfläche anzeigen?
- 14. Kann ich in meiner App den Namen und das Alter der Person erhalten, die sich mit PayPal angemeldet hat?
- 15. Sollten in TDD Tests von der Person geschrieben werden, die die zu testende Funktion implementiert hat?
- 16. Wie kann ich die Liste der Kompilierungsfehler in IntelliJ anzeigen?
- 17. Wie die Prahlerei ui für Azure-API-App anzeigen kann
- 18. Wie sehe ich die Optimierungen, die der Compiler gemacht hat
- 19. Wie kann ich eine Dialognachricht anzeigen, wenn die App die Kamera nicht erkennt? (Android)
- 20. Wie kann Owin die Authentifizierungs-Cookies für die Asp.Net-Identität nach der Phase Application_EndRequest festlegen?
- 21. Wie kann ich Facebook App-Anzeigen öffnen? Play Store statt meiner alten Android-App, die keinen Deep Link hat?
- 22. Wie kann ich verhindern, dass die App abstürzt, wenn ich versuche, Daten zu laden, und die App kein Internet hat?
- 23. Wie kann ich die Größe der titanbasierten iPhone App optimieren?
- 24. Wie finde ich eine Person und zähle die Anzahl der Personen, die sie verwalten?
- 25. Wie kann ich das Alter/die ID einer Person mithilfe der Software von Drittanbietern überprüfen?
- 26. Wie kann ich die Standardschriftart der Android-App ändern?
- 27. Wie kann ich die Fehler meiner Anwendung in JSF anzeigen?
- 28. Ich kann die Untervorlage nicht anzeigen, die die Blöcke in der Hauptdatei.html erweitern.
- 29. Wie kann ich feststellen, ob der Benutzer die Verbindung zu meiner Stripe Connect-App getrennt hat?
- 30. Wie hat die Whatsapp App die Kompatibilität der App für das iPad entfernt?
Nun verwenden, nicht jede App hat About-Seite, nicht wahr? Außerdem kann ich als Entwickler der App alles auf der About-Seite schreiben, die nicht mit den Informationen im Zertifikat übereinstimmt, mit dem ich die App signiert habe ... –
Auf Android können Sie mit PackageManager alle Apps auflisten und den X509 erhalten Signaturzertifikat, siehe [link] http://stackoverflow.com/a/16305427/2225646. Es gibt auch eine kostenlose App in Google Play: Indenile Signature. – Yojimbo