DEV Community

Barış Bideratan
Barış Bideratan

Posted on • Edited on

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

Selamlar,

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ğım. Her bir adımı dikkatle uygulayarak süreci başarıyla tamamlayabilirsiniz. Bir sonraki makalemde de Frida ile javascript kullanarak neler yapabileceğinizi anlatacağım :)


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

İlk adımda, apktool kullanarak APK dosyasını extract etmeniz gerekiyor. 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 sadece eğitim amaçlıdır. Gerçek bir ürün üzerinde asla denemeyin!

~/Android/Sdk

$ ---- apktool b && cd dist && zipalign -p -f 4 Obsidian-V1.3.objection.apk Obsidian-V1.3.objection_zipaligned.apk && java -jar uber-apk-signer-1.3.0.jar --skipZipAlign --apks ./

Top comments (12)

Collapse
 
johndavidjohn22 profile image
johndavidjohn22

This is a great guide for anyone looking to dive deeper into APK file modification! The step-by-step approach makes it easier to follow, especially for those unfamiliar with tools like apktool and jadx. Looking forward to the next article 주소야 on using Frida with JavaScript!

Collapse
 
gahoau_hahhh_22e12dd60692 profile image
Gahoau hahhH

Açıklamanız harika! Bu konuyu, özellikle "İmzalama İçin Anahtar Oluştur" bölümünü çok beğendim. Adımları anlaşılır ve pratik bir şekilde parçalara ayırmışsınız, bu da takip etmeyi kolaylaştırıyor. Keytool parametreleri ve işlevleri hakkındaki ayrıntılar özellikle yararlı. Harika çalışmalarınızı sürdürün!

Collapse
 
gahoau_hahhh_22e12dd60692 profile image
Gahoau hahhH • Edited

Bu arada, Spotify Premium APK'larının nasıl değiştirildiğini ve imzalandığını araştırdınız mı? Bunların perde arkasında nasıl çalıştığını her zaman merak etmişimdir. 😊

Some comments may only be visible to logged-in visitors. Sign in to view all comments.