1) Utilizzare code obfuscation per es. Proguard. Questo tipo di strumenti disponibili non solo per Java. Ma attenzione: il codice offuscato potrebbe funzionare lentamente o contenere ulteriori bug.
2) Aggiungere App Licencing di controllo (questo controllerà firma app con Google Play):
Guarda questo video con attenzione: https://www.youtube.com/watch?v=TnSNCXR9fbY Per quanto mi ricordo egli menziona le tecniche utilizzate in fase di esecuzione per verificare la tua app non modificata o modificata (controllo zip, ecc.).
3) Assicurarsi che l'app/server utilizzi la connessione protetta (SSL/TLS) solo con suite di crittografia MODERN. Ciò mitigherà gli attacchi di downgrade.
È possibile utilizzare questo generatore di costruire config con suite di cifratura moderni per il vostro server: https://mozilla.github.io/server-side-tls/ssl-config-generator/
Inoltre è possibile utilizzare il certificato struggimento sul lato client - questo mitigherà attacco autorità.
Non utilizzare una connessione HTTP semplice.
4) utilizzare una sorta di richiesta la firma (idea come Amazon AWS fa) È possibile ottenere nucleo dai loro documenti. http://docs.aws.amazon.com/general/latest/gr/sigv4_signing.html
Anche this article dovrebbe essere utile.
5) Vietare l'utilizzo della vostra app su ROOT dispositivi con aggiunta di controllo di runtime. A causa del telefono rooted è più semplice hackerare o analizzare la tua app.
6) Puoi ridurre le frodi aggiungendo un sistema di divieto al tuo gioco online - se qualcuno ha hackerato la tua app e invia dati errati al tuo server => aggiungi questo utente per escludere l'elenco sul lato server (tramite IP o ID utente , eccetera).Probabilmente aggiungere temporaneamente gli utenti a questa lista (ex 24 ore, 7 giorni)
7) + se si utilizza Json/XML come formati di dati per il livello di rete, provare a utilizzare il formato binario come Protocol Buffers. Formati di serializzazione binaria più efficienti e difficili da decodificare.
Cosa avrebbe trovato in più nella richiesta di posta cosa non riusciva a trovare con un snifler di rete? – greenapps
@greenapps Un checksum – Z0q
aggiunge campi nell'intestazione http. – zakaiter