Bir .apk dosyasına sahip olmak, kaynak kodunu edinebilmemin bir yolu var mı?
Bir .apk dosyasına sahip olmak, kaynak kodunu edinebilmemin bir yolu var mı?
Yanıtlar:
ProGuard kullanılmış olsa bile, bazı ilginç bilgiler edinebilirsiniz. İşte detaylı bir açıklama ile bir StackOverflow sorusu: Android: Bir APK dosyasından kaynak kodunu alma . Ayrıntılı bir rehbere sahip YouTube videosu . Ve bununla ilgili bir blog yazısı: Android APK dosyasından kaynak kodu nasıl alınır .
Şanslıysanız ve .apk
dosyanız Proguard veya analog tarafından korunmadıysa , APK aracını kullanabilirsiniz . Ters mühendislik 3. parti, kapalı, ikili Android uygulamaları için bir araçtır.
Gönderen SO içinde Parnkul Garg tarafından comunity wiki biri :
.Apk dosyalarının kod çözme prosedürü, adım adım metodu:
Yeni bir klasör oluşturun ve kodunu çözmek istediğiniz .apk dosyasına kopyalayın.
Şimdi bu .apk dosyasının uzantısını .zip olarak yeniden adlandırın (örneğin, dosyaadı.apk'dan dosyaadı.zip olarak yeniden adlandırın) ve kaydedin. Şimdi classes.dex dosyalarına vb. Erişebilirsiniz. Bu aşamada çizilebilir dosyaları görebiliyorsunuz ancak xml ve java dosyalarını göremiyorsunuz.
Şimdi bu .zip dosyasını aynı klasöre çıkartın (veya YENİ FOLDER).
Dex2jar'ı indirin ve aynı klasöre (veya NEW FOLDER) çıkartın.
Classes.dex dosyasını dex2jar klasörüne taşıyın.
Şimdi komut istemini açın ve dizini bu klasöre (veya YENİ FOLDER) değiştirin. Ardından yazıp d2j-dex2jar classes.dex
enter tuşuna basın. Şimdi, aynı klasörde classes.dex.dex2jar dosyası var.
Java-decompiler'i indirin , jd-gui'ye çift tıklayın, açık dosyaya tıklayın ve bu klasörden classes.dex.dex2jar dosyasını açın: şimdi sınıf dosyalarını alırsınız.
Tüm bu sınıf dosyalarını kaydedin (jd-gui'de, Dosya -> Tüm Kaynakları Kaydet'e tıklayın) src ismine göre. Bu aşamada java kaynağını elde edersiniz, ancak .xml dosyaları hala okunamaz durumdadır, bu yüzden devam edin.
Şimdi başka bir yeni klasör aç
Kodunu çözmek istediğiniz .apk dosyasını koyun
En son sürümünü indirin apktool VE pencereyi yüklemek apktool (her ikisi de aynı bağlantıdan indirilebilir) ve aynı klasöre koyun
Framework-res.apk dosyasını indirin ve aynı klasöre yerleştirin (Tüm apk dosyası bu dosyaya ihtiyaç duymaz, ancak zarar vermez)
Bir komut penceresi aç
APKtool'un kök dizinine gidin ve aşağıdaki komutu yazın:
apktool if framework-res.apk
apktool d myApp.apk
(burada myApp.apk, kodunu çözmek istediğiniz dosya adını belirtir)
Şimdi bu klasörde bir dosya klasörü olsun ve apk'un xml dosyalarını kolayca okuyabilirsiniz.
Her iki klasörün içeriğini (bu durumda her iki yeni klasörü de) tek bir klasöre kopyalamak herhangi bir adım değildir.
ve kaynak kodunun tadını çıkar ...