Per la stessa app, ho:
- un APK da un app store,
- quello che si dice essere il codice sorgente per la stessa versione. Con uno script e una struttura del solito Gradle build.
Voglio verificare se l'APK è stato davvero creato da quel codice sorgente o meno.
Come controllarlo?
Appunti:
- L'APK non è offuscato.
- Non ho motivo di fidarmi della firma di nessuno. Mi fido solo del codice sorgente.
- Ho già creato l'app per me stesso, ma ora voglio sapere se l'APK era OK o meno.
- Preferibilmente con gli strumenti da riga di comando di Linux, ma qualsiasi strumento è OK.
diff
metodo sembra pulito ... ma cosa succede se i ragazzi di app store offuscano l'APK durante la compilazione?
.apk
file, quindi eseguire un diff rispetto alle directory risultanti. L'unica differenza quindi dovrebbe essere la firma (che non può corrispondere per ovvi motivi). Pensandoci: semplicemente decomprimere i.apk
file e fare un diff binario dovrebbe fare lo stesso. Entrambi ovviamente richiederebbero di usare le stesse versioni della libreria ecc. Quando si compila in primo luogo :)