DEV Community

Barış Bideratan
Barış Bideratan

Posted on

APK Dosyalarını Düzenleme ve Yeniden İmzalama: Adım Adım Kılavuz

Bu makalede, bir Android APK dosyasını nasıl decompile edip, kodları inceleyip düzenleyebileceğinizi, ardından yeniden build, optimize ve imzalama işlemleriyle crack hazırlığınızı nasıl tamamlayacağınızı adım adım anlatacağız. Her bir adımı dikkatle uygulayarak süreci başarıyla tamamlayabilirsiniz.


1. APK Dosyasını Çıkarın (Extract)

İlk adımda, apktool kullanarak APK dosyasını extract etmeniz gerekmektedir. Bu işlem, APK içeriğini smali dosyalarına ve kaynak dosyalara ayırarak düzenleme yapmanızı sağlar.

apktool d <path>
Enter fullscreen mode Exit fullscreen mode

Burada <path> kısmına düzenlemek istediğiniz APK dosyasının yolunu yazmalısınız.


2. Kodları İnceleyin

Extract işleminin ardından, jadx aracı ile APK dosyasını açıp kodları inceleyin. Jadx, byte kodu okunabilir Java koduna çevirerek uygulamanın mantığını anlamanızı sağlar.

  • İpucu: Hangi kodlarda değişiklik yapmanız gerektiğine karar verirken, bu aracı kullanarak detaylı bir analiz yapabilirsiniz.

3. Smali Kodlarda Gerekli Değişiklikleri Yapın

Jadx ile incelediğiniz kodlarda emin olduğunuz kısımları belirleyin. Ardından, apktool ile extract ettiğiniz smali dosyaları arasında bu kod satırlarını bulun ve gerekli değişiklikleri uygulayın.

  • Dikkat: Smali kodlar üzerinde yapacağınız değişiklikler, uygulamanın çalışma mantığını etkileyebileceğinden, dikkatli ve özenli olun.

4. Değişikliklerden Sonra Build İşlemi

Yaptığınız düzenlemeler sonrasında, extract ettiğiniz dosyaların root dizininde iken yeniden build almanız gerekmektedir. Bunun için apktool’un build komutunu kullanın:

apktool b
Enter fullscreen mode Exit fullscreen mode

Bu komut, düzenlenmiş dosyalarınızı yeniden derleyerek yeni bir APK oluşturur.


5. İmzalama İçin Key Oluşturun

Yeni build aldığınız APK’yı imzalayabilmek için öncelikle bir imzalama key’ine ihtiyacınız var. Bunun için keytool kullanarak aşağıdaki komutla key oluşturabilirsiniz:

keytool -genkey -v -keystore DOSYAADI.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
Enter fullscreen mode Exit fullscreen mode
  • Açıklama:
    • DOSYAADI.keystore: Oluşturulacak keystore dosyasının adı.
    • alias_name: Key’in alias adı.
    • -keyalg RSA -keysize 2048: RSA algoritması ile 2048 bit büyüklüğünde key oluşturma.
    • -validity 10000: Key’in geçerlilik süresi (gün olarak).

6. APK Dosyasını Zipalign ile Optimize Edin

Build işleminden sonra, APK dosyasını zipalign aracı ile optimize ederek hizalamaları düzenleyin. Bu işlem, APK performansını artırır ve yükleme sırasında hata olasılığını azaltır.

zipalign -v 4 original.apk original_zipaligned.apk
Enter fullscreen mode Exit fullscreen mode
  • Not:
    • original.apk: Orijinal build edilmiş APK dosyası.
    • original_zipaligned.apk: Zipalign işlemi sonrası oluşacak optimize edilmiş APK dosyası.

7. APK Dosyasını İmzalama

Son adım olarak, uber-apk-signer aracını kullanarak APK dosyasını imzalayın. İmzalama, uygulamanın güvenliği açısından önemlidir ve imzasız APK’lar yüklenmeyebilir.

java -jar uber-apk-signer-1.3.0.jar --skipZipAlign --apks ./
Enter fullscreen mode Exit fullscreen mode
  • Açıklama:
    • --skipZipAlign: Zaten zipalign işlemini tamamladıysanız, tekrar yapmamak için bu parametreyi kullanabilirsiniz.
    • --apks ./: İmzalanacak APK dosyasının bulunduğu dizini belirtir.

Sonuç

Yukarıdaki adımları sırasıyla takip ederek APK dosyasını extract ettiniz, kodları incelediniz, gerekli düzenlemeleri yaptınız, yeniden build aldınız, optimize ettiniz ve son olarak imzaladınız. Artık crack işleminiz için hazırlıklar tamam; hayırlı olsun, crack hazır :)

Unutmayın, bu tür işlemler telif haklarına ve yasal düzenlemelere tabi olabilir. Yalnızca yetkiniz olan ve yasal çerçevede kullanabileceğiniz dosyalar üzerinde çalışmayı ihmal etmeyin.

~/Android/Sdk

Top comments (0)