Aynı uygulama için, ben var:
- bir uygulama mağazasından bir APK ,
- aynı sürümün kaynak kodu olduğu iddia edilir . Oldukça olağan Gradle yapı komut dosyası ve yapısı ile.
APK'nın bu kaynak koddan gerçekten yapılmış olup olmadığını kontrol etmek istiyorum .
Bunu nasıl kontrol edebilirim?
Notlar:
- APK gizlenmez.
- Kimsenin imzasına güvenmek için hiçbir nedenim yok. Sadece kaynak koduna güveniyorum.
- Uygulamayı kendim için zaten oluşturdum, ancak şimdi APK'nın iyi olup olmadığını bilmek istiyorum.
- Tercihen Linux komut satırı araçlarıyla, ancak herhangi bir araç TAMAM.
diff
Yöntem düzgün görünüyor ... ama uygulama mağazasının adamları APK'yi derlerken gizlediyse ne olacak?
.apk
dosyayı tersine mühendislik yapın , sonra ortaya çıkan dizinlere karşı bir fark çalıştırın. O zaman tek fark imza olmalıdır (ki bu belli nedenlerle eşleşemez). Bunu düşünmek:.apk
dosyaları açmak ve ikili bir fark yapmak aynı şeyi yapmalıdır. Her ikisi de elbette ilk etapta derlerken aynı kütüphane versiyonlarını vb. Kullanmayı gerektirir :)