2012-10-08 8 views
14

Cercando di migliorare la sicurezza della mia app Android per segnalare se il .apk è stato estratto, modificato, reimballato e rassegnato. Ecco l'articolo di Zdnet che riporta il problema link1.Verifica che l'apk di Android non sia stato riconfezionato?

Il problema è che se l'app è indirizzata dagli hacker, è possibile aggiungere codice dannoso e caricarlo in un app store alternativo e duplicare gli utenti per scaricarlo.

Quindi sto pensando al codice per verificare un checksum dell'apk o del certificato di firma?

Apprezzo che il codice dell'app possa essere riassortito e qualsiasi codice di sicurezza rimosso, ma aumenta la difficoltà di reimballarlo, forse sufficiente per provare un'altra app.

[aggiornamento] So che il modulo di licenze di Google Play Store offre qualcosa di simile ma sto cercando qualcosa per app non pagate e altri/non marketplace.

+0

Vecchia domanda ora, ma da allora l'ho ricercata e di recente ho scritto un post sul blog che include la verifica della firma https://www.airpair.com/android/posts/adding-tampering-detection-to-your- android-app – scottyab

+0

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

risposta

3

ho finito per usare Dexgaurd (obfuscator pagato per Android) offre un modulo che preforme verifica apk. Principalmente semplice da implementare e offre una protezione media migliore.

Ecco il codice per fare il check:

dexguard.util.TamperDetection.checkApk(context) 

Il problema principale è dove memorizzare il checksum del apk per verificare contro dato che potrebbe essere sostituito. Il modo dexguard è di controllarlo localmente ma usando altre funzionalità come la crittografia classe/stringa e l'api che nasconde oscura questa chiamata.

0

Utilizzare il servizio di gestione licenze di Google Si collegherà al Play Store per assicurarsi che l'utente abbia acquistato l'app ogni pochi giorni. (puoi impostare la quantità) Guarda anche ProGuard. Rimuove dal codice tutti i nomi delle classi, dei metodi e delle variabili, rendendoli davvero difficili da capire una volta decompilati.

+0

Grazie, sono a conoscenza di il servizio di licenze, ma non va bene per le app non a pagamento, ho aggiornato la domanda. Anche l'offuscamento è un buon inizio ma non impedisce la decompilazione, è d'accordo che lo rende più difficile. – scottyab

+0

Né è abbastanza buono per le app a pagamento. Diverse app caricate su Aptoide hanno incrinato le licenze di Google. – beetree

Problemi correlati