Vraag Controleer of Android apk niet opnieuw is ingepakt?


Ik wil de beveiliging van mijn Android-app verbeteren om aan te geven of de .apk is uitgepakt, gewijzigd, opnieuw verpakt en ontslag heeft genomen. Hier is een artikel van Zdnet dat het probleem opmerkt link1.

De zorg is dat als de app het doelwit is van hackers, ze kwaadwillende code kunnen toevoegen en uploaden naar een alternatieve app store en gebruikers kunnen misleiden om het te downloaden.

Dus ik denk aan code om een ​​controlesom van het APK- of ondertekeningscertificaat te verifiëren?

Ik waardeer dat de app-code kan worden omgepakt en dat elke beveiligingscode kan worden verwijderd, maar het vergroot de moeilijkheidsgraad van het opnieuw inpakken, misschien genoeg om een ​​andere app te proberen.

[update] Ik weet dat de licentiemodule voor Google Play-winkels iets vergelijkbaars biedt, maar ik ben op zoek naar iets voor niet-betaalde apps en andere / niet-marktplaatsen.


16
2017-10-08 15:41


oorsprong


antwoorden:


Ik heb het uiteindelijk gebruikt Dexgaurd (betaalde obfuscator voor Android) biedt een module die de APK-verificatie preformt. Voornamelijk zo eenvoudig te implementeren en biedt de gemiddelde bescherming beter.

Hier is de code om de cheque uit te voeren:

dexguard.util.TamperDetection.checkApk(context)

Het belangrijkste probleem is waar de controlesom van de APK moet worden opgeslagen om te verifiëren, aangezien deze kan worden vervangen. De dexguard manier is om het lokaal te controleren, maar met behulp van andere functies zoals klasse / string-codering en een verborgen obscure deze oproep.


3
2017-08-05 08:39



Hier zijn enkele artikelen die u kunnen helpen.

APK-handtekening ophalen tijdens runtime.
Zelf een APK-handtekening controleren. 
Hoe APK-handtekening te controleren.


1
2017-10-08 16:09



Gebruik de licentieservice van Google. Er wordt verbinding gemaakt met de Play Store om ervoor te zorgen dat de gebruiker om de paar dagen de app koopt. (u kunt het bedrag instellen) Kijk ook eens naar ProGuard. Het verwijdert alle klassen, methoden en variabelenamen uit je code waardoor het echt moeilijk te begrijpen is zodra het gedecompileerd is.


0
2017-10-08 15:46