internet pencereler Android
Genişletmek

Yüklü uygulamadan APK nasıl çekilir. Android'de yüklü apk dosya çıkarımı

İnterpolasyon, enterpolasyon - Hesaplama matematiğinde, mevcut ayrık bilinen değerlere göre değerin ara değerlerini bulma yöntemi.

Bilimsel ve mühendislik hesaplamaları yüzleşenlerin çoğu, sıklıkla, yoluyla veya rastgele örnekleme ile elde edilerek elde edilen değer kümeleri ile çalışmalıdır. Kural olarak, bu kümeler temelinde, diğer elde edilen değerlerin yüksek doğrulukla düşebileceği bir fonksiyon oluşturmak gerekir. Bu görev çağrıldı yaklaşım. İnterpolasyon, inşa edilen fonksiyonun eğrisi, mevcut veri noktalarından tam olarak geçtiği gibi bir tür yaklaşım denir.

İnterpolasyonun birçoğu var. Çoğu
Newton yöntemi, "ileri" (Newton - Gregory yöntem) enterpolasyon için yaygındır. Bu durumda polinomial interpolasyon şekli vardır:

Formül ile Bulunan Katsayılar:

C # programının uygulanması:
sistemi kullanma; Ad Alanı Enterpolasyonu (Sınıf Programı ...

Program, hangi sıralama yapıldığı ve başka bir yeniden çizme grafik arayüzünde iki akışa ayrılmıştır. "Sırala" düğmesine tıklandıktan sonra, program "KAYIT" olarak adlandırılır, bu da sıralama algoritmasını belirleyen ve yeni bir akış, içinde çalışan sıralama işlemi ile oluşturulur.
Özel Void Runso ...

Kaynakları Paylaşma (CORS), tarayıcıda etkileşim bağlantısı yapmanızı sağlayan bir W3C özelliktir. XMLHTTPRequest nesnesinin üstünde, CORS, geliştiricilerin bir etki alanı ile aynı deyimler ile birlikte çalışmasını sağlar. CORS için seçeneği kullanın basittir. Alice.com'un Bob.com'un almak istediği bazı verileri olduğunu hayal edin. Bu tür bir sorgu, geleneksel olarak tarayıcının aynı kökenli politikasına uygun olarak izin verilmez. Bununla birlikte, Cors, Alice.com istekleri, Bob.com'un verilere erişmesine izin veren birkaç özel yanıt başlığı ekleyebilir. Bu örnekten de görülebileceği gibi, CORS desteği, sunucu ile istemci arasında koordinasyonu gerektirir. Neyse ki, istemci tarafında bir geliştiricisiyseniz, bu ayrıntıların çoğundan korunursunuz. Bu makalenin geri kalanı, müşterilerin to-start ile nasıl talep edebileceğini ve sunucular kendilerini CORS'yi desteklemeye nasıl yapılandırabileceklerini gösterir. Devam et ...

Herkese merhaba, bugün, kesinlikle işe yaramaz ve sadece eğlence için yazılan başka bir proje kodunu göstermek istiyorum. Bir zamanlar derste bir öğretmenimiz vardı ve biz en az bir şekilde kendinizi eğlendirmek için pascal üzerine yazmaya başladık. Hepsi, izleyicilerdeki sistem bloklarını sesler, benzer ambulans otomobillerinin benzer sörfleri konusunda zorla olan basit bir sirenle başladı. Tüm evler sona erdi, şarkı Linkin Park - Numb.

İşte gerçek program:
CRT'yi kullanır; Var i, temp, not, note2, note4, not8: tamsayı; Prosedür PlayNote (F, P: tamsayı); Sese başla (f); Gecikme (p); Ses yok; Gecikme (20); Son; Prosedür Duraklat (P: tamsayı); Gecikmeye başla (p); Son; Prosedür Numb (Sıcaklık, Not, NOT2, NOT4, NOT8: Tamsayı); I için başlayın: \u003d 0 ila 1 PlayNote (880, NOT4) başlasın; PlayNote (1047, Note4); PlayNote (880, Note4); PlayNote (1175, Note2 + Note4); PlayNote (1397, Note2 + Note4); PlayNote (1319, not ...

Birçok Android kullanıcısı, Titanium yedekleme uygulamasını kullanarak, uygulamayı cihazdan APK dosyası olarak çıkarabilirsiniz. Bugün APK uygulama dosyasını doğrudan Google Play Store'dan çekebileceğiniz şekilde bakacağız.

Bu yöntemin artı, cihazdaki uygulamayı ön yükleme ihtiyacının yokluğudur. Ne yazık ki, bu yöntem yalnızca ücretsiz uygulamalar için çalışır. Öyleyse, ihtiyacımız olan şey:

1. Google Chrome

Masaüstünde Google Chrome için ikinci etiket oluşturun.

Etiketi sağ tıklayın, "Özellikler" ni seçin. "Nesne" alanında, aşağıdaki komutları boşluk aracılığıyla ekleyin:

Yoksay-sertifika hataları

İzin Verme Koşusu-Güvensiz İçerik

Böyle bir şey ortaya çıkar:

... \\ chrome.exe "--gnore-sertifika-hatalar - Koşu-Koşu-Güvensiz İçerik

"Uygula" ve "Tamam" ı tıklayın.

Bu işlemden sonra, çalışan tüm uygulama örneklerini kapatarak tarayıcıyı yeniden başlatmanız gerekir.

2. Google Hesap Adı ve Aygıt Kimliği

Aslında, başvurunun indirmesini cihaza taklit edeceğiz, bu nedenle hesabınızın adını, yani Google posta kutunuzun adını ve Android cihazınızın kimlik numarasını bilmeniz gerekir.

Bir çekmece ile, her şey açıktır ve cihaz kimliğini öğrenmek için, akıllı telefonunuzdaki çeviriciyi açın ve * # * # 8255 # *

Görünen ekranda "Cihaz Kimliği:" bulmanız gerekir.

Kimlik numarası, Android'den sonra sonraki harflerin ve sayıların bir kombinasyonudur. Örneğin, hatta "Cihaz Kimliği: Android-1122AA33BB445577" görürseniz, tanımlayıcı "1122A33BB445577" kombinasyonudur. Bu kombinasyonu yazın.

Bazı nedenlerden dolayı, yukarıda belirtilen cihaz kimliğinizi tanımanız yeterli olursa, cihaz kimliği uygulamasını Google Play Store'da indirebilirsiniz.

3. APK Downloader.

APK Downloader adlı bir tarayıcı için bir uzantı indirin.

Görünen pencerede, Google Hesabımızın adresini girin, yani e-posta adresi. Şifre (AHA, korkutucu), yanı sıra cihaz kimliği. Bundan sonra, "Giriş" i tıklayın.

Bir sonraki pencerede, ülkenizi ve hücresel operatörünüzü seçin, ardından "Ayarları Kaydet" i tıklayın. Daha sonra, genişlemenin başarılı aktivasyonu hakkında bir mesajla bir pencere görünmelidir.

4. Google Play Store

Şimdi favori google play mağazamıza gidin ve ücretsiz bir uygulama seçin. Tarayıcının adres çubuğunun sağ tarafında, okla yeşil başın karakteristik görünümü görünecektir.

Bu simgeye tıklayın ve uygulama bir apk dosyası olarak bilgisayara başarıyla yüklenir. Aslında, şimdi ücretsiz uygulamaların bağımsız dağılımlarını oluşturabiliriz.

Genişletme geliştiricisinin APK indiricisinin mutlaklığının mümkün olmadığından emin olun, bu nedenle hesap verilerinizi kendi korku ve riskiniz için girin. Buna ek olarak, bu tür eylemler Google Play Store'u kullanma kurallarını ihlal ediyor.

Sitemizin merhaba okuyucuları. Bir şekilde ziyaretçilerden biri yardım istedi, APK dosyalarını Android-Smartphone'dan çıkarması gerekiyordu. Böylece, bu sorunun cevabını bu makalede tanımlamaya karar verdik. Bu işlemle, smartphone, tablet veya Android işletim sistemini çalıştıran diğer gadget'larda kurulu tüm uygulamaların rezervasyon yapabilirsiniz.

Hangi durumlarda, yüklü uygulamaların fazlalığı nedir?

Durum ilk. Telefonu fabrika ayarlarına sıfırlamanız gerekir, ancak internete veya yalnızca cep telefonuna erişim yoktur. Google Play'den yeni bir uygulama indirmek istemezsiniz, o zaman çok zaman alıyor. Bu gibi durumlar için APK dosyalarını Android cihazdan çıkarma olasılığı var veya.

Durum ikinci.Kurulu bir heyecan verici oyunun var, "ağırlığının" çok fazla olduğunu ve arkadaşını sevdim ve kendime aynı oyuncağı istedi ama yine, tekrar internete erişim yok. Kurulu oyunun rezervasyon yapması gerekecek. Kasma oyununun doğru kurulumu için talimatlar bulunabilir.

Bu gibi birçok durum var.

APK dosyalarını Android cihazdan nasıl kaldırabilirsiniz?

Bu görevi gerçekleştirmek için, Google Play'de bulunabilen ücretsiz "ES Explorer" uygulamasını kullanırız. Neden bu iletken? Evet, her şey basittir, mükemmel ve kullanımı kolay bir dosya yöneticisidir ve zaten entegre bir uygulama yedekleme özelliğine sahiptir. Bu özelliği kullanarak, istediğiniz APK dosyalarını Android cihazlardan çıkarabilirsiniz.

Yöntem 1.Yani, "ES Explorer" yüklediniz, şimdi başlatın:

Resim 1

Bunu yapmak için uygulama menüsüne gidin, cihaz ekranının sol üst köşesinde bizim tarafımızdan belirtilen düğmeye basın. "Kütüphaneler" bölümünü ortaya çıkarın ve Uygulamalar'ı tıklayın.

Şekil 2.

Hepiniz doğru yapılırsanız - yüklü kullanıcı uygulamalarına sahip bir pencere açacaksınız. Sonra, kaldırılması gereken uygulamayı seçin ve düğmeye basın. Rezerv Ekranın alt kısmında.


Şekil 3, Şekil 4

Tüm kurtarılan uygulamalar klasörde « Telefon hafızası /yedekleri /uygulamalar. " Şekil 3 ve 4'te bazı dosyaların kırmızı veya yeşil renkte vurgulandığını fark edebilirsiniz, böylece: Yeşil renkler daha önce ayrılmış ve klasörde olan uygulamalarla işaretlenmiştir. uygulamalar. ve kırmızı - daha önce çıkartılmış ancak klasörden çıkarılan uygulamalar uygulamalar. (Sadece yüklü olmayan dosyalar) silindi. Burada prensipte ve bu şekilde ekstraksiyonla ilgili her şey.

Şekil 5.

Şimdi bu dosyalarla her şeyi yapabilirsiniz: Bir bilgisayara atın, bir arkadaşınıza Bluetooth veya e-posta yoluyla gönderin. Bir kez daha geri çağırma - Bu yöntem yalnızca kullanıcı tarafından yüklenen uygulamaları yedeklemeyi, ancak sistemik değil. Sistem uygulamalarını azaltmak için, Yöntem 2'yi kullanın.

Yöntem 2. Aynı "ES iletkenini" çalıştırın. Ekranın üstünde, bir seçim bellek bölümü (Şekil 6) veya "Yerel Depolama" menüsüne gidin (Şekil 7) ve Öğeyi seçin /Cihaz .


Şekil 6, Şekil 7

Sonra gitmen gerekiyor sİSTEM / APP. . İşte cihaza yüklü olan tüm uygulamalar: Hem özel hem de sistemik. O zaman istediğiniz APK dosyasını arıyoruz ve istediğiniz klasöre kopyalıyoruz. Böylece, diğer araçlara yüklemek için hazır bir APK dosyası alacaksınız.

Bir uyarı! Her iki yol için, belki de olacaktır. Bazı ekstre edilmiş sistem APK dosyalarının, belirli bir ürün yazılımı için tasarlandıkları gerçeğinden dolayı diğer Android cihazlara yüklenmeyebilecekleri oldukça kabul edilebilir.

Bu kadar.

Bu gönderinin görevi çözmesine yardımcı olacağını umuyoruz ve APK dosyalarını Android cihazdan çıkarmayı başardınız. Programları azaltmanın veya benzer soruları azaltmanın başka yolları hakkında biliniyorsanız - bize yazın.

Bizimle kal, hala çok ilginç şeyler var.

Aşağıdaki durumu hayal edin: oyunu Android'de belirlediniz, geçti ve kaldırdı, ama sen beğendin ve muhtemelen henüz bir kez oynamak istiyorsun. Ancak bu oyunu unutmamak için ve bir kez daha indirmeyin, dosya dosyasını çıkarabilir ve bunlardan yararlanabilirsiniz.

Talimat: APK'yi Android'de kaldırın

1. Astro Dosya Yöneticisi'ne gidin ve Sola kaydırın.

2. Ek araçlar açılacaktır. "Uygulama Yöneticisi" yi seçin.

3. Kaldırmak istediğiniz apk dosyalarını seçin. Bunu yapmak için, sadece onlara tapar. Tüm uygulamaları seçmek istiyorsanız, ekranın üstündeki simgeye tıklayın.

4. Altta iki yeni seçenek belirecektir. "Yedek" üzerine tıklayın.

5. Bundan sonra, dosya kopyası başlayacaktır.

Çıkarılan APK dosyaları, "Yedekleme" klasöründe ve "Kopyalanan Uygulamalar" bölümündeki Astro Dosya Yöneticisi Uygulama Yöneticisi'nde SD kartta olacaktır.

Bu kadar. Umarım bu talimat sizin için yararlı olmuştur.

Bazen Android'deki bazı uygulamalar kullanıcıdan memnun değil. Örnek olarak, Udigue reklamcılığını sokabilirsin. Ve böyle olur ve öyle - herkes program için iyidir, ancak yalnızca bir çeviri yoktur ya da eğri yoktur veya kimse yoktur. Veya, örneğin bir deneme programı ve olasılığın tam bir sürümü yoktur. Durum nasıl değiştirilir?

Giriş

Bu yazıda APK paketini uygulama ile nasıl söküleceğinizi, iç yapısını düşünün, dahili yapısını, küçümseme ve dekompat yapmayı düşünün ve bize bir veya daha diğerini getirebilen uygulamalarda birkaç değişiklik yapmaya çalışın.

Bunları kendi başınıza yapmak için, en azından Android uygulamalarının yazıldığı Java dilinin ilk bilgisine ihtiyacınız olacak ve Android'de kullanılan XML dili her yerde - uygulamanın kendisinden ve erişiminden Ekranda gösterilecek satırları saklama hakları. Ayrıca, uzman konsol yazılımını idare etme yeteneğine de ihtiyacınız var.

Peki, APK, Android için kesinlikle tüm yazılımı kapsayan APK nedir?

Preompiling uygulamaları

Makalede, yalnızca sökme uygulama koduyla çalıştık, ancak, büyük uygulamalarda daha ciddi değişiklikler yaparsanız, SMALI kodu çok daha karmaşık olacaktır. Neyse ki, Dex kodunu bir Java kodunda çözebiliriz, bu da orijinal olmayacak ve geri dönmeyecek, ancak uygulamanın mantığını okumak ve anlamak daha kolay. Bunu yapmak için iki alete ihtiyacımız olacak:

  • dex2jar - JVM BYTE Kodundaki Dalvik Byte-Kodu Tercümesi, Java dilinde kodu alabileceğimiz;
  • jD-GUI, JVM BYTE kodundan okunabilir bir Java kodu almanızı sağlayan bir dekomperin kendisidir. Alternatif olarak, JAD (www.varananeckas.com/jad) kullanabilirsiniz; Oldukça eski olmasına rağmen, ancak bazı durumlarda JD-GUI'den daha okunaklı bir kod üretir.

Onları kullanın. İlk önce, Dex2jar'ı başlatın, APK-paketi için bir argüman olarak yolu işaretleyin:

% Dex2jar.sh mail.apk.

Sonuç olarak, Posta.jar Java paketi, Java kodunu görüntülemek için JD-GUI'de zaten açılabilen geçerli dizinde görünecektir.

Apk paket cihazı ve bunları almak

Android uygulama paketi, içerikleri görüntülemek ve hiçbir özel aletin gerekmediğinden emin olmak için aslında normal bir zip dosyasıdır. Bir arşivleme yapmak yeterlidir - Windows için 7zip veya Linux'ta bir konsol unzip. Ancak bu sarmalayıcı ile ilgilidir. İçeride ne? İçeride, genellikle böyle bir yapımız var:

  • Meta-inf / - Yaratıcısını onaylayan uygulamanın dijital sertifikasını ve paket dosyalarının sağlama toplamı içerir;
  • res / - Uygulamanın, görüntüleri gibi çalışmalarında kullandığı çeşitli kaynaklar, arayüzün bildirimsel bir açıklaması, diğer veriler;
  • Androidmanifest.xml. - Uygulama Açıklaması. Bu, örneğin, gerekli izinlerin bir listesini, istediğiniz Android sürümünün ve gerekli ekran çözünürlüğünü içerir;
  • classes.dex - Dalvik Sanal Makinesi için derlenmiş bayt uygulama uygulaması;
  • resources.arsc. - Ayrıca kaynaklar, fakat başka bir tür - özellikle, satırlar (evet, bu dosya ruslaşım için kullanılabilir!).

Listelenen dosyalar ve dizinler, hepsinde değilse, belki de mutlak çoğunluğun APK'sında. Ancak, çok fazla sayıda yaygın dosya / dizinden bahsetmeye değer:

  • varlıklar. - Kaynakların analogu. Ana fark, kaynağa erişmektir. Tanımlayıcısını bilmek gerekir, aktif listesi, uygulama kodundaki AssetManager.List () yöntemi kullanılarak dinamik olarak elde edilebilir;
  • lib - NDK (yerel geliştirme kiti) kullanılarak yazılmış yerel Linux kütüphaneleri.

Bu dizin, oyun motorunu oraya, C / C ++ ile yazılmış, ayrıca yüksek performanslı uygulamaların yaratıcıları (örneğin, Google Chrome) kullanır. Cihaz çözüldü. Ancak ilgi uygulamasının paketinin bir dosyasını nasıl alabilirsiniz? APK dosyalarını almak için cihazdan kök olmadan, çünkü APK dosyalarını almak mümkün değildir (/ veri / uygulama dizininde yatıyorlar) ve her zaman işlenmeye uygun değildir, uygulama dosyasını bir bilgisayara almanın en az üç yolu vardır:

  • krom için APK Downloader uzantısı;
  • uygulama gerçek apk leecher;
  • Çeşitli dosya paylaşımı ve topaklı.

Hangisinin kullanacağı bir zevk meselesidir; Bireysel uygulamaları kullanmayı tercih ediyoruz, bu yüzden özellikle Java'da yazıldığı gibi, gerçek APK Leecher'in kullanımını açıklıyoruz ve buna göre, en azından pencerelerde, hatta nixlerde çalışacak.

Programı başlattıktan sonra, üç alanı doldurmanız gerekir: e-posta, şifre ve cihaz kimliği - ve bir dil seçin. İlk ikisi, cihazda kullandığınız e-posta ve GoogleAccount şifrenizdir. Üçüncüsü, cihazın tanımlayıcısıdır ve çevirici üzerindeki kodu yazarak elde edilebilir. # #8255## Ve sonra cihaz kimliği dizesini bulma. Doldururken, Android öneki olmadan yalnızca kimliği girmeniz gerekir.

Doldurma ve kaydettikten sonra, "Sunucuya bağlanırken hata" mesajı açılır. Google Play ile ilgili değildir, bu yüzden cesurca onu görmezden gelir ve ilgilendiğiniz paketleri arayın.

Görünüm ve Değişiklik

Diyelim ki, sizi ilgilendiren, indirilen, ambalajsız ... ve herhangi bir XML dosyasını görüntülemeye çalışırken, dosyanın metin olmadığını bulmak şaşırdı. Paketlerle nasıl yapılır ve nasıl çalışılır? Bir SDK koymak gerçekten gerekli mi? Hayır, SDK gerekli değil. Aslında, ambalajı açmak, değiştirmek ve paketleme APK'yı açmak için tüm adımlar için APK aşağıdaki araçlara ihtiyaç duyar:

  • archiver zip. ambalajlamak ve aramalar için;
  • sMALİ. - Dalvik Sanal Makinenin Assembler / Disassembler Bayt Kodu (Code.Google.com/p/smali);
  • aAPT. - Bir kaynak aracı (varsayılan olarak kaynaklar, uygulama performansını optimize etmek için ikili formda saklanır). Android SDK'ya dahil edilir, ancak ayrı olarak elde edilebilir;
  • İmzalayan. - Değiştirilen paketin (bit.ly/rmrv4m) dijital imzası için bir araç.

Tüm bu araçları ayrı ayrı kullanabilirsiniz, ancak bu uygunsuzdur, bu nedenle onlara inşa edilmiş üst düzey bir yazılım kullanmak daha iyidir. Linux veya Mac OS X'te çalışıyorsanız, APKTOOL adında bir araç var. Kaynakları orijinal tipte (ikili XML ve ARSC dosyaları dahil) açmanıza izin verir, değiştirilmiş kaynaklara sahip bir paketi yeniden açın, ancak paketleri nasıl imzalayacağınızı bilmiyor, bu yüzden imzalayan yardımcı programın çalıştırılması gerekecek. Yardımcı programın Java'da yazıldığı gerçeğine rağmen, kurulumu oldukça standart değildir. Öncelikle, JAR dosyasını kendin almalısın:

$ CD / TMP $ wget http://bit.ly/wc3oCZ $ TAR -XJF apktool1.5.1.tar.bz2

$ Wget http://bit.ly/WRJEC7 $ TAR -XJF apktool-install-linux-r05-ibot.tar.bz2

$ MV apktool.jar ~ / bin $ mv apktool-install-linux-r05-ibot / * ~ / bin $ ihracat yolu \u003d ~ / bin: $ yol

Windows'ta çalışıyorsanız, aynı zamanda tüm bu araçları (Apktool'un kendisi dahil) biriktiren mükemmel bir araca sahiptir, ancak CLI arayüzü yerine, kullanıcıya ambalajında \u200b\u200bişlem yapabileceğiniz sezgisel bir grafiksel arayüzü sağlar, demonte etmek ve birkaç tıklama yapmak. Bu bağış eşyası aracı, yani bazen bir lisans almak için bir teklifi olan pencereler görünür, ancak bu, sonunda, acı çekebilirsiniz. Bunu açıklamada hiçbir şey yapmaz, çünkü arayüzü birkaç dakika içinde anlayabilirsiniz. Ancak apktool, konsol doğası gereği, daha ayrıntılı olarak tartışılmalıdır.


Apktool seçeneklerini düşünün. Kısacası, üç ana komut vardır: D (kododu), B (yapı) ve eğer (Çerçeve yükleyin). İlk iki takımla her şey açıksa, üçüncü şartlı operatör ne yapar? Herhangi bir sistem paketini gösterdiğiniz durumlarda gerekli olan belirtilen UI çerçevesini açar.

İlk ekibin en ilginç seçeneklerini göz önünde bulundurun:

  • -s. - Dex dosyalarını sökmeyin;
  • -r. - kaynakları açmayın;
  • -b. - Dex dosyasını sökme sonuçlarına hata ayıklama bilgisini eklemeyin;
  • - çerçeve yolu. - Dahili apktool yerine belirtilen UI çerçevesini kullanın. Şimdi B ekibi için birkaç seçenek düşünün:
  • -f. - Değişiklikleri kontrol etmeden zorla montaj;
  • -a. - Bir nedenden dolayı başka bir kaynaktan kullanmak istiyorsanız, AAPT (APK-Arşivi montajı için aracı) yolunu belirtin.

Apktool kullanımı çok kolaydır, komutlardan birini ve apk yolundan birini belirlemek yeterlidir, örneğin:

$ apktool d mail.apk

Bundan sonra, tüm çıkıntılı ve sökme paket dosyaları posta dizininde görünecektir.

Hazırlanabilirlik. Reklamı kapat

Teori, elbette, ama neden paketsiz bir paketle ne yapacağını bilmiyorsak, neden ihtiyaç duyulur? Teoriyi kendiniz için fayda sağlayarak uygulamaya çalışalım, yani, bazı Softyn'i bize reklam vermeyecek şekilde değiştiriyoruz. Örneğin, sanal meşale olmasına izin verin - sanal bir torç. Bizim için, bu yazılım mükemmel bir şekilde uyacak, çünkü sinir bozucu reklamcılıkla çarpıcı ve aynı zamanda kodlarda kaybolmamak için oldukça basittir.


Bu nedenle, aşağıdaki yöntemlerden biriyle, uygulamayı piyasadan indirin. Erdemli on stüdyo kullanmaya karar verirseniz, apk dosyasını uygulamada açın ve açın, bir proje oluşturulacağı için (Dosya -\u003e Yeni Proje), ardından bağlam menüsünde dosyayı seçin. Seçiminiz apktool'a düştüyse, bir komutu yürütmek için yeterlidir:

$ apktool d com.kauf.particle.virtualtorch.apk

Bundan sonra, com.kauf.particle.virtualtorch rehberi, önceki bölümde açıklananlara benzer bir dosya ağacı görünecektir, ancak Dex dosyaları ve bir apktool dosyası yerine isteğe bağlı bir SMALI dizini ile. Birincisi, uygulamanın yürütülebilir dex dosyasının sökülebilir bir uygulama kodunu, ikincisi, APKTOOL tarafından ihtiyaç duyulan hizmet bilgisinin bir paket geri oluşturması için.

Bakmamız gereken ilk yer, tabii ki, AndroidManifest.xml. Ve burada hemen aşağıdaki satırı kutlarız:

Uygulamanın İnternet bağlantısının kullanımına sunmaktan sorumlu olduğunu tahmin etmek zor değildir. Aslında, eğer reklamdan kurtulmak istiyorsak, büyük olasılıkla internet uygulamasını yasaklamak için yeterli olacaktır. Yapmaya çalışalım. Belirtilen dizgiyi sildik ve apktool kullanarak yazılımı toplamaya çalışın:

$ apktool b com.kauf.particle.virtualtorch

Com.kauf.particle.virtualtorch / yapı / yapı / yapı / yapı / yapı / yapı / görünecektir. Bununla birlikte, dijital imzası ve dosya düzenleri sağlama toplamı olmadığı için, yüklemek mümkün olmayacaktır (içinde sadece meta-inf dizini yoktur). APK-Signer yardımcı programını kullanarak bir paket imzalamalıyız. Başladı. Arabirim iki sekmeden oluşur - ilk (anahtar jeneratör) ikinci (APK imzalayan) tuşlarını oluştururuz. Özel anahtarımızı oluşturmak için aşağıdaki alanları doldurun:

  • Hedef dosya. - Çıkış anahtarı depolama dosyası; Genellikle bir çift anahtar depolanır;
  • Parola. ve Onaylamak. - Depo için şifre;
  • Taksi. - Depodaki anahtarın adı;
  • Alias \u200b\u200bşifresi. ve Onaylamak. - Şifre Gizli Anahtarı;
  • Geçerlilik - geçerlilik süresi (yıllardır). Varsayılan değer optimaldir.

Kalan alanlar, genel olarak isteğe bağlıdır - ancak en az bir tane doldurmak gerekir.


Uyarı

Uygulamayı APK-Signer kullanarak imzalamak için, Android SDK'yı yüklemelisiniz ve uygulama ayarlarında tam yolunu belirlemelisiniz.

Tüm bilgiler yalnızca bilgilendirme amaçlıdır. Ne editörler ne de yazar, bu maddenin malzemelerinin neden olduğu herhangi bir zarardan sorumludur.

Şimdi bu anahtar APK olarak imzalanabilir. APK imzalayan sekmesinde, yeni oluşturulan dosyayı seçin, bir şifre girin, bir anahtarın takma adı ve bir şifreyi girin, ardından dosyayı APK'yı bulun ve cesaretle "İşaret" düğmesine basınız. Her şey yolunda giderse, paket imzalanacaktır.

Bilgi

Kendi anahtarımıza göre bir paket imzaladığımızdan, orijinal uygulamayla çelişir, bu da, Softy'imi piyasadaki güncellemeye çalıştığınızda, bir hata alacağız.

Dijital imzanın yalnızca üçüncü taraf yazılım tarafından ihtiyaç duyulur, bu nedenle / Sistem / APP / APP / APP / APP'ye kopyalayarak kurulu olan sistem uygulamaları tarafından değiştirilirseniz, imzalamanız gerekmez.

Bundan sonra, ambalajı akıllı telefonunuzda atarız, kurulum ve çalıştırıyoruz. Voila, reklam kayboldu! Bununla birlikte, bir mesaj, internetimiz yok ya da uygun bir izin yoktu. Teoride, bu yeterli olabilirdi, ancak mesaj can sıkıcı görünüyor ve ve dürüst olmak gerekirse, sadece künt bir uygulamayla şanslıydık. Normalde yazılı yazılım, büyük olasılıkla, güçlerini netleştirir veya bir İnternet bağlantısının varlığını kontrol eder ve aksi takdirde basitçe başlatmayı reddedecektir. Bu durumda nasılsın? Tabii ki, kodu düzenleyin.

Genellikle, başvurunun yazarları, uygulamanın başlatılması sırasında veya "faaliyetlerinin" (basit konuşma, uygulama ekranları) birinin başlatılması sırasında bu sınıfların reklamları için özel sınıflar oluşturur. Bu dersleri bulmaya çalışalım. SMALI dizinine gidiyoruz, sonra COM (yalnızca Açık Cocos2d Grafik Kütüphanesi), ardından Kauf (orada, çünkü bu, geliştiricinin adı ve tüm kodu var) - ve burada, Pazarlama Kataloğu. İçeride, Smali'nin genişlemesiyle bir sürü dosyayı buluyoruz. Bunlar sınıflar ve en dikkat çekici sınıf AD.Smali, reklam getirdiklerini tahmin etmenin zor olmadığı adıyla en dikkat çeken.

Çalışmalarının mantığını değiştirebiliriz, ancak daha kolay uygulamanın kendisinden herhangi bir yöntemin zorluklarını aptalca kaldıracak. Bu nedenle, pazarlama dizininden ayrılıyoruz ve yakındaki parçacık dizinine gidiyoruz ve ardından VirtualTorch. Buradaki özel dikkat, ana etkinlik haklarını hak ediyor.Smali dosyası. Bu, Android SDK tarafından oluşturulan Android sınıfı için bir standarttır ve uygulamanın bir giriş noktası olarak yüklenir (C'deki ana fonksiyonun analogu). Düzenlemek için dosyayı açın.

İçinde SMALI kodu (yerel montajcı). Düşük seviye niteliğinin erdemiyle okunması oldukça karışık ve zor, bu yüzden çalışmayacağız, ancak yalnızca Koddaki Sınıf Reklamına referansları bulup yorumlar. "Reklam" dizesini aramada sürün ve satırda 25:

Alan Özel İlan: LCOM / Kauf / Pazarlama / Reklam;

AD alanı, sınıf reklam nesnesini saklamak için burada oluşturulur. Dizeden önce ayarlanan ### işaretini kullanarak yorum yapalım. Aramaya devam ediyoruz. Satır 423:

Yeni örneğin V3, LCOM / Kauf / Pazarlama / Reklam;

İşte bir nesnenin oluşturulması. Yorum Yap. 433, 435, 466, 468, 738, 740, 800 ve 802 satırlarında arama yapmaya devam ediyoruz. Yorum Yap. Böyle görün. Kurtarırız. Şimdi paket geri alınmalı ve reklamın performansını ve kullanılabilirliğini kontrol edilmelidir. Deneyin saflığı için, uzaktan kumandayı Androidmanifest.xml dizesinden iade ediyoruz, paketi topluyoruz, abone ol ve kur.

Deneysel tavşanımız. Görülen reklam

OP-PA! Reklam sadece uygulama sırasında kayboldu, ancak yumuşak çalıştığımızda gördüğümüz ana menüde kaldı. Öyleyse, bekleyin, ancak sonuçta, giriş noktası ana etkinlik sınıfıdır ve reklam uygulaması sırasında kayboldu, ancak ana menüde kaldı, sonra giriş noktası farklı mı? Gerçek giriş noktasını ortaya çıkarmak için, Androidmanifest.xml dosyasını açın. Ve evet, aşağıdaki satırlara sahiptir:

Bize (ve daha da önemlisi, Android), ADI STACK'IN (Olaylar) Android.Intent.Action.Action.And.Ind.Int.Category.Launcher kategorisine göre adlandırın (Etkinlikler) android.intent.Action.main'e yanıt olarak çalışması gerektiğini söylüyorlar. Bu olay, döndürücüdeki uygulama simgesine dokunulduğunda üretilir, bu nedenle giriş noktasını, yani başlangıç \u200b\u200bsınıfını belirler. Büyük olasılıkla, programcı ilk önce uygulamayı büyük bir menü olmadan yazdı, standart ana etkinlik sınıfı olan giriş noktası, ardından menüyü içeren ve başlangıç \u200b\u200bsınıfında açıklanan ve manuel olarak giriş noktasını elle yapılan yeni bir pencere (etkinlik) ekledi. .

Start.smali dosyasını açın ve tekrar reklam dizesini arayın, Prime 153 ve 155 numaralı sıralarda bulduk. Ayrıca kaynağındadır ve ada göre yargılamak, ana ekranda reklamları görüntülemekten sorumludur. Ayrıca, bu örneğe ve ardından Cond_10 etiketinin, doğruluğunun oluşturulmadan önce yapıldığı şartsal geçişin bir örneğine göre, birinci sınıf sınıfının ve niyetin bir örneğinin bir örneği vardır. Sınıf örneği:

IF-NE P1, V0 ,: CON_10 .LINE 74 Yeni Örnek V0, Landroid / İçerik / Niyet; ...: cond_10

Büyük olasılıkla, program bir şekilde ana ekranda reklamın gösterilip gösterilmeyeceğini ve eğer değilse, derhal cond_10'a atlamayı hesaplar. Tamam, görevi basitçe basitleştirir ve koşullu geçişi koşulsuzluğa değiştiriyoruz:

# IF-NE P1, V0,: COND_10 GOTO: CON_10

Kodda daha fazla ilk referans yok, bu yüzden dosyayı kapatıp tekrar ApkTool kullanarak sanal meşalemizi topluyoruz. Akıllı telefonunuzda kopyalayın, çalıştırın, çalıştırın. Voila, tüm reklamlar, hepsini tebrik ediyoruz.

SONUÇLAR

Bu makale, Android uygulamalarını açma ve değiştirme yöntemlerine yalnızca kısa bir tanıtımdır. Sahneler için, korumayı kaldırma, obfused kodun analizi, çeviri ve uygulama kaynaklarının değiştirilmesi ve Android NDK kullanılarak yazılan uygulamaların değiştirilmesi gibi birçok soru kaldı. Bununla birlikte, temel bilgiye sahip olmak, tüm bunları anlar - sadece zaman meselesi.