2012-10-08 2 views
14

Ich habe versucht, die Sicherheit meiner Android App zu verbessern, um zu kennzeichnen, ob die .apk extrahiert, modifiziert, neu gepackt und resigniert wurde. Hier ist ein Artikel von Zdnet, der das Problem notiert link1.Verifiziere Android apk wurde nicht neu gepackt?

Das Problem ist, wenn die App von Hackern angegriffen wird, könnten sie bösartigen Code hinzufügen und in einen alternativen App Store hochladen und Nutzer dazu bringen, sie herunterzuladen.

Also denke ich Code, um eine Prüfsumme der apk oder Signierzertifikat zu überprüfen?

Ich weiß zu schätzen, dass der App-Code umgepackt und jeglicher Sicherheitscode entfernt werden könnte, aber es erhöht die Schwierigkeit, ihn neu zu packen, vielleicht genug, um eine andere App auszuprobieren.

[Update] Ich weiß, dass das Google Play Store-Lizenzierungsmodul etwas ähnliches bietet, aber ich suche nach etwas für nicht bezahlte Apps und andere/nicht Marktplätze.

+0

Alte Frage jetzt, aber seit damals habe ich es recherchiert und vor kurzem einen Blogpost geschrieben, der die Signaturprüfung https://www.airpair.com/android/posts/adding-tampering-detection-to-your- enthält android-app – scottyab

+0

verwandte https://android.stackexchange.com/questions/9312/how-can-i-verify-the-authenticity-of-a-apk-file-i-downloaded –

Antwort

3

Ich landete mit Dexgaurd (gegen Entgelt obfuscator für Android) bietet ein Modul, das apk Überprüfung Preforms. Hauptsächlich so einfach zu implementieren und bietet einen besseren Schutz.

Hier ist der Code, um die Kontrolle zu tun:

dexguard.util.TamperDetection.checkApk(context) 

Die wichtigste Frage ist, wo die Prüfsumme der apk speichern gegen gegeben, um sicherzustellen, dass es könnte ersetzt werden. Der Dexguard-Weg besteht darin, es lokal zu prüfen, aber durch andere Funktionen wie Klassen-/String-Verschlüsselung und API-Verbergen diesen Aufruf zu verdecken.

0

Verwenden Sie den Google-Lizenzierungsservice. Er stellt eine Verbindung zum Play Store her, um sicherzustellen, dass der Nutzer die App alle paar Tage gekauft hat. (Sie können die Menge einstellen) Auch Loook bei ProGuard. Es entfernt alle Klassen-, Methoden- und Variablennamen aus Ihrem Code und macht es wirklich schwer zu verstehen, sobald es dekompiliert ist.

+0

Danke, ich bin mir dessen bewusst der Lizenzierungsdienst, aber das ist nicht gut für nicht bezahlte Apps, ich habe die Frage aktualisiert. Auch die Verschleierung ist ein guter Anfang, verhindert aber nicht das Dekompilieren, das Vereinigen erschwert es. – scottyab

+0

Noch ist es gut genug für kostenpflichtige Apps. Mehrere auf Aptoide hochgeladene Apps haben die Google-Lizenzierung geknackt. – beetree