Projemi Eclipse'den yanlışlıkla sildim ve kalan tek şey telefonuma aktardığım APK dosyası. Bir uygulamayı .apk dosyasına verme işlemini tersine çevirmenin bir yolu var mı, bu yüzden projemi geri alabilir miyim?
Projemi Eclipse'den yanlışlıkla sildim ve kalan tek şey telefonuma aktardığım APK dosyası. Bir uygulamayı .apk dosyasına verme işlemini tersine çevirmenin bir yolu var mı, bu yüzden projemi geri alabilir miyim?
Yanıtlar:
Bilinmeyen bir APK dosyasından Java kodu (kaba ama yeterince iyi) oluşturacak iki yararlı araç vardır.
APK dosyasını JAR'a dönüştürmek için aracı kullanın :
$ d2j-dex2jar.bat demo.apk
dex2jar demo.apk -> ./demo-dex2jar.jar
JAR dosyası oluşturulduktan sonra, JAR dosyasını açmak için JD-GUI kullanın. Java dosyalarını göreceksiniz.
Çıktı şuna benzer olacaktır:
d2j-dex2jar
bunun yerine kullanın (v0.0.9.15).
res
klasördeki kaynak dosyalara sahip olacaksınız
res
okunamayan xml dosyaları olan bir klasöre sahip
Mac
sen dex2jar kullanılamaz eğer: permission denied
o zaman bunu $sudo chmod +x d2j-dex2jar.sh
Her şeyden önce this
videoyu tavsiye ederim bu tüm şüphelerinizi temizler
Değilse lütfen içinden geçin
Procedure for decoding .apk files, step-by-step method:
Step 1:
Yeni bir klasör oluşturun ve içine .apk dosyasını (kodunu çözmek istediğiniz) koyun. Şimdi bu .apk
dosyanın uzantısını yeniden adlandırın .zip
(örn. Rename yerine filename.apk yerine filename.zip) ve kaydedin.
.Zip biçimine dönüştürmede sorunlar varsa lütfen link
.Zip aldıktan sonra şimdi classes.dex dosyaları, vb olsun. Bu aşamada xml ve java dosyalarını çekilebilir ancak göremezsiniz, bu yüzden devam edin. Uzantıların geçtiğini görmüyorsanız yapılandırmayı kontrol edin
Step 2:
Şimdi bu zip apk dosyasını aynı klasörde çıkarın. Şimdi dex2jar'ı buradan indirinlink
ve aynı klasöre ayıklayın. Şimdi komut istemini açın ve dizini bu klasöre değiştirin.
Sonra yazın dex2jar classes.dex
ve enter tuşuna basın. Şimdi classes.dex.dex2jar
aynı klasöre dosya alıyorsunuz .
Sonra java decompiler indirin
Ve şimdi jd-gui'ye çift tıklayın ve açık dosyaya tıklayın. Ardından classes.dex.dex2jar
dosyayı bu klasörden açın. Şimdi sınıf dosyalarını alıyorsunuz ve tüm bu sınıf dosyalarını kaydediyorsunuz (dosyaya tıklayın, sonra jd-gui'deki "tüm kaynakları kaydet" e tıklayın) src name. Bu zip dosyasını ayıklayın (classes_dex2jar.src.zip)
ve uygulamanın tüm java dosyalarını alacaksınız.
Bu aşamada java kaynağı alırsınız, ancak xml dosyaları hala okunamıyor, bu yüzden devam edin.
Step 3:
Şimdi yeni bir klasör açın ve bu dosyaları yerleştirin
kodunu çözmek istediğiniz .apk dosyasını koy
Apktool for windows v1.x
And indirApktool
google'ı kullanarak pencereyi yükle ve aynı klasöre koy
google kullanarak framework-res.apk dosyasını indirin ve aynı klasöre koyun (Tüm apk dosyaları framework-res.apk dosyasına ihtiyaç duymaz)
Bir komut penceresi açın
APKtool kök dizinine gidin ve aşağıdaki komutu yazın:
apktool if framework-res.apk.
Yukarıdaki komut ile sonuçlanmalıdır Framework installed ...
.
Step 4:
Sonunda res/
başlangıçta hedefimiz olan java proje kodunu aldık .
P.S.
Yukarıdaki adımları izleyerek res klasörü alamıyorsanız, lütfen yeni yükleyinapktool
- Java 1.7 yüklü mü? Apktool 2.x'i yükleyin
- Java 1.6 veya daha üstü yüklü mü? Apktool 1.x'i yükleyin
Enjoy and happy coding
apktool.jar
aynı pakette değil, eski bir paketten aldım ve aynı direkte yapıştırdım apktool
.
Yazılım yok ve çok fazla adım yok ..
APK'nızı yükleyin ve tüm kaynaklarınızı bu siteden alın.
https://www.apkdecompilers.com/
Bu web sitesi APK dosyalarına gömülü kodu çözecek ve dosyadaki diğer tüm varlıkları çıkaracaktır.
not: APK dosyamı koda ediyorum ve kodu bu web sitesinden bir dakika içinde alıyorum
Güncelleme 1 :
Başka bir çevrimiçi decompiler sitesi buldum,
http://www.javadecompilers.com/apk/ - Pop-up engelleme için sürekli çalışmıyor
Güncelleme 2:
Oyun mağazasında apk decompiler uygulamasını buldum,
https://play.google.com/store/apps/details?id=com.njlabs.showjava
Android telefonumuzdaki apk dosyalarını kodabiliriz. ve ayrıca bu uygulamada java ve xml dosyalarını görüntüleyebiliyoruz
Güncelleme 3:
Android stüdyosu 2.2 sürümünden APK seçeneğini analiz etmek için başka bir seçenek kullanabiliriz
Oluştur -> APK'yi Analiz Et -> APK'nızı Seçin -> sonuç verir
Bunu yapmanın yeni bir yolu var.
Android Studio 2.2, apk hakkında çok fazla bilgi verecek APK Analyzer'a sahiptir, buradan kontrol edin: - http://android-developers.blogspot.in/2016/05/android-studio-22-preview-new-ui.html
Pek sayılmaz. Bir dizi vardır dex / disassembler Decompiler suit orada böyle olarak ufak olduğu veya dex2jar dex2jar durumunda yarı insanlar tarafından okunabilir çıkışı (üreteceği, gibi bir şey kullanmak suretiyle java kodunu alabilirsiniz JD-GUI ama süreçtir mükemmel değil ve kaynak kodunuzu% 100 yeniden oluşturabilirsiniz, ancak kaynak ağacınızı yeniden oluşturmaya başlamak için size bir yer verebilir.
Evet, projenizi geri alabilirsiniz. Sadece yourproject.apk
dosyayı yeniden adlandırın ve yourproject.zip
bu ZIP dosyasının içindeki tüm dosyaları alacaksınız. Dosya uzantısını .apk yerine .zip olarak değiştiriyoruz. Bu ZIP dosyasından, dosyayı ayıklayın classes.dex
ve aşağıdaki şekilde eşleştirin.
İlk olarak, DEX üzerindeki tüm (derlenmiş) sınıfları bir JAR'a çıkarmak için bir araca ihtiyacınız vardır. Çinli bir öğrenci tarafından yapılan dex2jar adlı bir tane var .
Ardından, JAR'daki sınıfları kaynak koduna dönüştürmek için JD-GUI'yi kullanabilirsiniz . Dex2jar bazı optimizasyonlar uyguladığından, sonuçtaki kaynak kodu oldukça okunabilir olmalıdır.
Android platformu için Play Store'da bulunan ShowJava'yı deneyebilirsiniz .
Oluşturulan koda uygulama arabirimi üzerinden başvurabilirsiniz ve oluşturulan java dosya ve klasörleri yapısı , dönüşümden elde edilen dosyanın yanında yer alan ShowJava
klasörde saklanır ./sdcard
.jar
Uygulama, ana görünümün alt kısmında bir reklam banner ile ücretsizdir, ancak kaldırmak için bir uygulama içi satın alma seçeneği (3,99 $) vardır. Uygulama içi satın alma, reklam banner'ını kaldırmanın yanı sıra herhangi bir işlev eklemez.
Açıklama: Uygulamanın geliştiricisi değilim, ne de ona bağlıyım.
Bunu yapmak için aşağıdaki adımları izleyin veya bu işlem için apkToJava gem'i kullanın , çalışması için gerekli araçları yüklemeye bile özen gösterir.
Profesyonel bir alternatif arıyorsanız, JEB Decompiler'a bir göz atın , PNF Software'den .
Çoğu kodu koda etmenizi sağlayacak bir demo sürümü var.
Bir APK dosyasından kaynak koduna tersine mühendislik uygulamak için kullanabileceğiniz araçlardan bazıları şunlardır:
Android Studio 3.5'te, bir dakika içinde başarabilmeniz çok kolay. aşağıdaki adım adım bir süreçtir.
1: Android Studio'yu açın, pencere düğmesine basın -> Android Studio yazın -> böyle görünecek android studio açılış ekranını açmak için simgeye tıklayın.
2: Burada "Profil veya APK hata ayıklama" seçeneğine tıklayın ve apk dosyanızı seçin ve Tamam'a basın.
3: Tüm manifest ve java sınıflarınızı apk boyutuna bağlı olarak bir dakika içinde açacaktır.
Bu kadar.
Bu aracı deneyin: https://decompile.io , iPhone / iPad / Mac'te çalışır