Wie zu vermeiden, reverse engineering eine APK-Datei?

Ich entwickle eine Zahlungsabwicklung app für Android, und ich möchte verhindern, dass ein hacker Zugriff auf alle Ressourcen, Vermögenswerte oder source-code aus dem APK Datei.

Wenn jemand ändert das .apk-Erweiterung .zip, dann können Sie entpacken Sie es und einfacher Zugriff auf alle die app, die Ressourcen und Vermögen, und mit dex2jar und einem Java-decompiler, können Sie auch auf den source code zugreifen. Es ist sehr einfach zu reverse Engineering Android APK-Datei - weitere details finden Sie unter Stack Overflow Frage Reverse engineering aus einer APK-Datei zu einem Projekt.

Habe ich die Proguard-tool, mit dem Android SDK. Wenn ich reverse Engineering einer APK-Datei generiert eine keystore signiert und Proguard, bekomme ich obfuscated code.

Allerdings die Namen von Android-Komponenten unverändert bleiben und einige code wie key-Werte, die in der app bleibt unverändert. Als pro Proguard-Dokumentation mit dem tool können nicht verschleiern genannten Komponenten (in der Manifest-Datei.

Nun meine Fragen:

  1. Wie kann ich vollständig verhindern, dass reverse engineering Android APK? Ist das möglich?
  2. Wie kann ich alle schützen die app ist Ressourcen -, Vermögens-und source-code, so dass Hacker nicht hacken Sie die APK-Datei in irgendeiner Weise?
  3. Ist es eine Möglichkeit zu hacken hart oder sogar unmöglich? Was kann ich tun, um zu schützen, den Quellcode in meine APK-Datei?
Es klingt wie Sie möglicherweise über "security by obscurity", wenn Ihre Zahlung Verarbeitung Schema stützt sich auf den Betrieb der client-heimlich.
Haben Sie in Betracht gezogen, schreiben die wichtigen Teile des Codes in C/C++, und fügen Sie Sie als eine kompilierte Bibliothek? Sie kann zerlegt werden in Assembler-code, aber reverse-engineering eine große Bibliothek von der Montage ist extrem zeitaufwendig.
ja, niemand kann zu dekompilieren von C-code ...
Willkommen auf die grundlegende Frage der Erstellung eines digitalen asset. Hacker können Maschinenbefehl Ebene, so dass, wenn ein computer die Datei Lesen können, dann kann es gehackt werden geöffnet/kopiert werden, wird kein Betrag der Verschleierung oder DRM kann jemals vollständig zu stoppen ein entschlossener hacker. Wenn Sie brauchen Sicherheit, dann stellen Sie sicher, dass der private Schlüssel werden nie in der Quelle und wissen bei der Planung, dass nur die isolation (remote und/oder dedizierte hardware) kann immer schützen.
Beachten Sie, dass je nachdem, was Ihre Zahlungsabwicklung app tut, kann es sein, regulatorische und rechtliche Richtlinien, die Auswirkungen auf Ihre app und können potetially setzen Sie auf eine strenge Bestrafung: siehe PCI-compliance, beginnend mit pcicomplianceguide.org/pcifaqs.php#11.

InformationsquelleAutor sachin003 | 2012-12-13

Schreibe einen Kommentar