Toplam 3 adet sonuctan sayfa basi 1 ile 3 arasi kadar sonuc gösteriliyor

Konu: Android Uygulama Cracklama Alinti

  1. #1
    Yardım Sever Üye kurtulus145 - ait Kullanıcı Resmi (Avatar)
    Üyelik tarihi
    14.Nisan.2013
    Mesajlar
    388
    Ettiği Teşekkür
    17
    32 mesaja 51 teşekkür aldı

    Android Uygulama Cracklama Alinti

    Yabancı forumdan çeviridir.Tüm bilgiler eğitim amaçlı sağlanmıştır.


    Yolculuğa başlamadan önce gerekli dosyaları aşağıdaki konumlardan *****iyoruz.

    Android SDK:
    http://developer.Android.com/sdk/index.html

    Deurus Android crackme 03:
    http://crackmes.de/users/deurus/android_crackme03/

    Smali and baksmali:
    http://code.google.com/p/smali/

    Dex2jar:
    http://code.google.com/p/dex2jar/

    Java decompiler:
    http://java.decompiler.free.fr/

    Android SDK'yı, SDK platformu (son yazma sırasında 2.2 olanı) *****iyoruz.Gerekli Java paketleri ve araçları ve kalanı yükleyin. SDK menüden cihazınzıda sanal bir aygıt oluşturun ve emülatörü başlatın. Birkaç dakika içinde emülatör açılırken telefon ekranında görebilirsiniz.Artık emülatör kuruldu ve çalışıyor.

    Oyuna başlarken

    Şimdi emülatör için CrackMe yazılımını yüklemeniz gerekir. Yasal bir yazılımdır. Bunun için "Android Debug Bridge" (ADB) tanımak zorunda kalabilirsiniz. Bir apk dosyası yükleme oldukça basittir.Yapmanız gereken Android SDK directory/tools dan iki komutu çalıştırmaktır.

    Kurulumdan sonra uygulama menüsünden CrackMe simgesini görebilirsiniz.



    Şimdi üzerine tıklayarak "CrackMe" uygulamasını çalıştırın. Her şey beklendiği gibi giderse ekranda "CrackMe" uygulamasını göreceksiniz.



    Girişli kontrol düğmesine (pressing check button) basarak minimum 4 karakterli bir mesaj çıkar ve uygun bir adla 'Kötü çocuk' (bad boy) açılır.Bu dizeleri hatırlamak zorundayız.Çünkü apk dosyalarını (actually dex) parçalara ayıracağımız zaman arama tuşları olarak bunları kullanacağız. Ayrıca iki donanım kimlikleri vardır ve biz bunun tam olarak ne anlama geldiğini bilmek durumundayız.

    Gerçek Android Reversing:

    Bizim CrackMe, emülatör çalışan olarak şimdi onu üzerine geri taşıyacağız.Apk dosyası formatında okuyabiliyorsak aslında genişletilmiş bir zip dosyası olan JAR dosyası olarak oluşturulabiliyor. Şimdi Crackme03.apkdan gelen Crackme03.zip için CrackMe dosya adını değiştirebilir ve herhangi bir klasöre genişletebilirsiniz.



    Şimdi bizim için vm kodları içeren derlenmiş ilginç bir dosya olan classes.dex vardır. Biz baksmali ile dex dosyasın parçalara ayırmaya gidiyoruz. Ekran görüntülerinde görebileceğiniz gibi komutlar oldukça basit.



    Şimdi herşey iyi çalıştı.Java paketlerneye benzer bir klasör yapısı olacaktır.İlginç smali dosyaları '\ com \ örnek \ helloandroid' de yer almaktadır.En sevdiğiniz metin editörü içine tüm.Smali dosyalarını açın(Notepad olabilir)Yukarıda bahsedilen pop dizelerini hatırlıyorsunuzdur. Minumum 4 karakter 've' kötü çocuk ' Şimdi arama tuşları olarak bu dizeleri kullanacağız. Smali dosyalarında Searching �Min 4 chars� hepsi açıldı.Biz HelloAndroid $ 2.smali hattı 130 da bir isabet(hit) bulacağız.



    Amacımız seri denetleme işlevini anlamak ve bunun için bir keygen yazmaktır. Biz burada kullanılan tüm dalvik opcodes bilmek zorundayız.Opcodes'i anlamak gerekir. Bundan sonra çok daha yüksek dil yapıları için demonte koduna dönüştürebilirsiniz .Kullanılan iki donanım kimlikleri IMEI ve sim seri numarası vardır.

    Kod:
    01 //Read name from text box
    02 const v23, 0x7f050004
    03 invoke-virtual/range {v22 .. v23}, Lcom/example/helloandroid/HelloAndroid;->findViewById(I)Landroid/view/View;
    04 move-result-object v9
    05
    06 //Read serial from text box
    07 const v23, 0x7f050006
    08 invoke-virtual/range {v22 .. v23}, Lcom/example/helloandroid/HelloAndroid;->findViewById(I)Landroid/view/View;
    09 move-result-object v21
    10
    11 //Checking whether the name is of length greate than 4
    12 const/16 v22, 0x4
    13 move v0, v11
    14 move/from16 v1, v22
    15 if-ge v0, v1, :cond_51
    16
    17 //Popup showing Min 4 chars
    18 const-string v23, "Min 4 chars"
    19 const/16 v24, 0x1
    20 .line 86
    21 invoke-static/range {v22 .. v24}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;
    22 move-result-object v13
    23 .line 88
    24 .local v13, notificacionToast:Landroid/widget/Toast;
    25 invoke-virtual {v13}, Landroid/widget/Toast;->show()V
    26
    27 //There is a little exception trick to make integer string from username
    28 //It converts aaaa to 97979797 which is ascii equivalent
    29 invoke-virtual {v10, v5}, Ljava/lang/String;->charAt(I)C
    30 move-result v3
    31
    32 //Getting first 5 chars from ascii converted name
    33 const/16 v22, 0x0
    34 const/16 v23, 0x5
    35 move-object v0, v12
    36 move/from16 v1, v22
    37 move/from16 v2, v23
    38 invoke-virtual {v0, v1, v2}, Ljava/lang/String;->substring(II)Ljava/lang/String;
    39
    40 //Converting it into integer abd xoring with 0x6B016 - Serial part 1
    41 invoke-static {v12}, Ljava/lang/Integer;->parseInt(Ljava/lang/StringI
    42 move-result v22
    43 const v23, 0x6b016
    44 xor-int v22, v22, v23
    45
    46 //Getting IMEI from TelephonyManager
    47 //http://developer.Android.com/reference/Android/telephony/TelephonyManager.html
    48 invoke-virtual {v8}, Landroid/telephony/TelephonyManager;->getDeviceId()Ljava/lang/String;
    49 move-result-object v6
    50 .line 102
    51 .local v6, imei2:Ljava/lang/String;
    52
    53 //Getting sim serial
    54 invoke-virtual {v8}, Landroid/telephony/TelephonyManager;->getSimSerialNumber()Ljava/lang/String;
    55 move-result-object v16
    56 .line 103
    57 .local v16, simsn:Ljava/lang/String;
    58
    59 //Getting first 6 chars from IMEI, and similarly from sim serial (IMEI.Substring(0,6) will be used as Serial part 3)
    60 const/16 v22, 0x0
    61 const/16 v23, 0x6
    62 move-object v0, v6
    63 move/from16 v1, v22
    64 move/from16 v2, v23
    65 invoke-virtual {v0, v1, v2}, Ljava/lang/String;->substring(II)Ljava/lang/String;
    66
    67 //Converting them to integer and xoring - Serial part2
    68 invoke-static/range {v19 .. v19}, Ljava/lang/Integer;->parseInt(Ljava/lang/StringI
    69 move-result v22
    70 invoke-static/range {v20 .. v20}, Ljava/lang/Integer;->parseInt(Ljava/lang/StringI
    71 move-result v23
    72 xor-int v22, v22, v23
    73
    74 //Making a new StringBuilder object and formatting the string to part1-part2-part3
    75 new-instance v22, Ljava/lang/StringBuilder;
    76 invoke-static {v12}, Ljava/lang/String;->valueOf(Ljava/lang/ObjectLjava/lang/String;
    77 move-result-object v23
    78 invoke-direct/range {v22 .. v23}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/StringV
    79 const-string v23, "-"
    80 invoke-virtual/range {v22 .. v23}, Ljava/lang/StringBuilder;->append(Ljava/lang/StringLjava/lang/StringBuilder;
    81 move-result-object v22
    82 invoke-static/range {v17 .. v18}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;
    83 move-result-object v23
    84 invoke-virtual/range {v22 .. v23}, Ljava/lang/StringBuilder;->append(Ljava/lang/StringLjava/lang/StringBuilder;
    85 move-result-object v22
    86 const-string v23, "-"
    87 invoke-virtual/range {v22 .. v23}, Ljava/lang/StringBuilder;->append(Ljava/lang/StringLjava/lang/StringBuilder;
    88 move-result-object v22
    89 move-object/from16 v0, v22
    90 move-object/from16 v1, v19
    91 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/StringLjava/lang/StringBuilder;
    92 move-result-object v22
    93
    94 //Checking whether user entered serial and program made serials are equal.
    95 invoke-virtual {v14, v15}, Ljava/lang/String;->equals(Ljava/lang/Object
    Gerçek Android Reversing:

    Bizim CrackMe yukarı ve emülatör çalışan olarak şimdi onu üzerine geri taşıyacağız.Apk dosyası formatında okuyabiliyorsak aslında genişletilmiş bir zip dosyası olan JAR dosyası olarak oluşturulabiliyor. Şimdi Crackme03.apkdan gelen Crackme03.zip için CrackMe dosya adını değiştirebilir ve herhangi bir klasöre genişletebilirsiniz.



    Şimdi bizim için vm kodları içerenı derlenmiş ilginç bir dosya olan classes.dex vardır. Biz baksmali ile dex dosyasın parçalara ayırmaya gidiyoruz. Ekran görüntülern de görebileceğiniz gibi komutlar oldukça basit.



    Şimdi herşey iyi çalıştı.Java paketlernyei benzer bir klasör yapısı olacaktır.İlginç smali dosyaları '\ com \ örnek \ helloandroid' de yer almaktadır.En sevdiğiniz metin editörü içine tüm.Smali dosyalarını açın(Notepad olabilir)Yukarıda bahsedilen pop dizelerini hatırlıyorsunuzdur. Minumum 4 karakter 've' kötü çocuk ' Şimdi arama tuşları olarak bu dizeleri kullanacağız. Smali dosyalarında Searching �Min 4 chars� hepsi açıldı.Biz HelloAndroid $ 2.smali hattı 130 da bir isabet(hit) bulacağız.



    Amacımız seri denetleme işlevini anlamak ve bunun için bir keygen yazmaktır. Biz burada kullanılan tüm dalvik opcodes bilmek zorundayız.Opcodes'i anlamak gerekir. Bundan sonra çok daha yüksek dil yapıları için demonte koduna dönüştürebilirsiniz .Kullanılan iki donanım kimlikleri IMEI ve sim seri numarası vardır.

    Çözme Algoritması:
    Bir demonstratif seri hesaplama rutin olarak aşağıda verilmiştir:

    Kod:
    Name: aaaaa
    HW ID1: 0000000000000000
    HW ID2: 89014103211118510720
    İşte son seri numarası stepwise talimatları:

    İlk başta 'aaaaa' biz ilk 5 mektupları alıp tamsayı 97979 a dönüştürmek.Hangi mesafede, '9797979797 ye 'dönüştürülecek

    Bu 0x6B016 511.661 ile sonuçlanan XORed edilecek ve bu seri ilk parçası olacak.
    İkinci bölüm için, HW ID1 ve HW ID2 6 harf, 000000 ^ 890141 = 890141 sonuçlanan, tamsayı ve xor onları dönüştürmek ilk alacak.

    Üçüncü bölüm için biz HW ID1 itibaren ilk 6 karakteri kullanıyoruz.
    'Seri '511661-890.141-000.000 olacak Belirtilen sınırlayıcı ile biçimlendirilmesi.

    Reversing Final Doğrulama:
    Şimdi bizim CrackMe uygulama içine aynı sihirli sayyıı koyacağız.



    Bingo! Her şey beklendiği gibi çalıştı. Herkes için tüm bu demonte talimatları ve el üstü dil yapıları dönüştürmeden okumak oldukça zor,

    Bu blog yazısının başlangıcından ​​itibaren aracı program dex2jarı fark etmişsinizdir. Classes.dex.dex2jar.jar için classes.dex e dönüştürmek için dex2jar kullanın. Java decompiler onu açın ve dalvik demontajın çok daha iyi çıktığını görebilirsiniz. Dex2ja,r hala gelişme aşamasındadır ve birçok yerde anlamsız olduğunu lütfen unutmayın.

    Sonuç:
    Bu giriş yazısını Dhanesh resimsel elaborative adımlarla sırayla emülatörü ve mevcut tüm araçları kullanarak Andriod Reversing açıklıyor. Özellikle Andriod Platformu hakkında daha fazla ters çalışma için zemin kurmaya dayanır.

    Gameloft Android HD Oyunlarının Cracklenmesi (Credit) Özel Yöntem (Djeman )

    Zip extractor ile android paketi (apk) açın(unpack), dex2jar ile smali kaynak dosyalarında dex dosyasını parçalara ayırın.
    Fatura klasöründe LicenseManagement.smali bu {blue} satırı silin.

    Kod:
    f-nez v0, :cond_1

    .line 224
    const-string v0, "ANDROID BILLING"

    const-string v0, "THIS IS A FULL VERSION PREVIOUSLY BILLED"

    invoke-static {v2, v3, v0}, Lcom/gameloft/android/GAND/GloftRFHP/Billing/GLDebug;->debugMessage(ILjava/lang/String;Ljava/lang/StringV

    .line 225
    invoke-static {}, Lcom/gameloft/android/GAND/GloftRFHP/Billing/LicenseManagement;->saveUnlockGame()V

    move v0, v2

    .line 230
    :goto_1
    return v0

    .line 229
    :cond_1
    const-string v0, "ANDROID BILLING"

    const-string v0, "THIS IS NOT A FULL VERSION!!!!"
    Okuma satırını atlayıp oyunu önlemek için mavi çizgiyi silmek zorundasınız.Bu çizginin silinmesi durumunda "THIS IS NOT A FULL VERSION" yazısını asla göstermeyecektir.
    Bundan sonra apk'yı yeniden çalıştırmak için cihazınızda oturum açmak gerekiyor.

    http://www.symbiantalk.net/showthrea...K-Android-File
    http://developer.android.com/guide/p...p-signing.html

    Dalvik komutları anlamak için web sitesine ihyiyaç vardır.
    http://pallergabor.uw.hu/androidblog...k_opcodes.html

    Alintidir

  2. 2 kişi kurtulus145 üyemize teşekkür etti:

    neagf (23.Ağustos.2013),yashade2001 (04.Ağustos.2013)

  3. #2
    Süper Android
    Üyelik tarihi
    13.Mayıs.2013
    Nereden
    Ankara / Türkiye
    Mesajlar
    2,611
    Ettiği Teşekkür
    264
    434 mesaja 736 teşekkür aldı
    lucky pathcer aynı işi otomatikman yapıyor ama yinede eline sağlık.



    AndRootKit v1.3 : Tek tıklama ile cihazınızı modifiye edin ( Root yapmak dahil! ):
    http://goo.gl/iMvJqb


  4. yashade2001 üyemize teşekkür edenler:

    kurtulus145 (23.Ağustos.2013)

  5. #3
    Yardım Sever Üye kurtulus145 - ait Kullanıcı Resmi (Avatar)
    Üyelik tarihi
    14.Nisan.2013
    Mesajlar
    388
    Ettiği Teşekkür
    17
    32 mesaja 51 teşekkür aldı
    Alıntı yashade2001 Nickli Üyeden Alıntı Mesajı göster
    lucky pathcer aynı işi otomatikman yapıyor ama yinede eline sağlık.
    teşekkurler

Yetkileriniz

  • Konu Acma Yetkiniz Yok
  • Cevap Yazma Yetkiniz Yok
  • Eklenti Yükleme Yetkiniz Yok
  • Mesajınızı Değiştirme Yetkiniz Yok
  •  
yayın hakları
5651 sayılı yasaya göre forumumuzdaki mesajlardan doğabilecek her türlü sorumluluk yazan kullanıcılara aittir.

Sitenin adı bildirilerek, ve yazıya link verilerek alıntı yapılabilir. Alıntı yapılan yazının altında, belirgin bir şekilde kaynak olarak “Andronova Forum” ve yazının kendi bağlantı linkinin yer alması gerekmektedir. Herhangi bir yazının izinsiz tamamen veya kısmen kopyalanması durumunda hukuki işlem yapılacaktır. Müşteri hizmetleri 2018

Reklam Gizlilik Politikası
Bizi Takip Edin