Soru:
Android uygulamasının derlemesini çözme
Mellowcandle
2013-03-20 14:02:41 UTC
view on stackexchange narkive permalink

Android java kodu, oldukça okunabilir olan Dalvik bayt kodunda derlenmiştir. Dalvik bayt kodu için bir kod çözme yazılımı yazmak teoride ve pratikte mümkün mü acaba?

Altı yanıtlar:
#1
+35
Igor Skochinsky
2013-03-20 14:41:43 UTC
view on stackexchange narkive permalink

Bu sadece mümkün değil, zaten yapıldı ve bir kez değil. İşte bildiğim üç şey ve daha fazlası olabilir.

  1. Kivlad, Cody Brocious

    http://www.matasano.com/research / kivlad /

  2. DAD, Zost (Androguard projesi):

    http://code.google.com/p / androguard / wiki / Decompiler

  3. JEB, Nicolas Falliere (ticari)

    http: //www.android-decompiler .com /

Sonra dex2jar kullandıktan sonra kullanılabilecek tüm Java kod çözücüleri var veya Dalvik ikili programında Dare.

Teoride, tüm Java kod çözücüleri çalışır ve Dalvik sınıf dosyaları Java sınıfı dosyalarına dönüştürülebilir (geri). Yukarıdaki bağlantılara ek olarak, yakın zamanda Dalvik desteğini ekleyen [Soot] 'a (http://www.bodden.de/2013/01/08/soot-android-instrumentation/) bakmak isteyebilirsiniz.
#2
+6
Anton Kochkov
2013-03-20 14:26:35 UTC
view on stackexchange narkive permalink

Bence mevcut Java kod çözücüleriyle bile kodlarına yama uygulayarak bu mümkün olmalı. En az bir büyük farkları var - JVM yığın tabanlı iken, Dalvik kayıt tabanlıdır. Bu fark çok fazla kodla çözülebilir. İkinci fark - bayt kodu biçimi. Bu nedenle Dalvik bayt kodu biçimini parçalarına ayırabilen kodu kullanmanız gerekir.

#3
+4
samuirai
2013-04-10 15:17:00 UTC
view on stackexchange narkive permalink

http://dexter.dexlabs.org/ - Dexter, statik bir android uygulama analiz aracıdır.

#4
+2
JayXon
2015-01-25 03:06:29 UTC
view on stackexchange narkive permalink

jadx hem CLI hem de GUI'ye sahiptir ve açık kaynaklıdır.

#5
+1
Nik NexAndrX
2015-02-23 15:35:19 UTC
view on stackexchange narkive permalink

Diğer bir araç ise Bytecode Viewer 'dır:

https://github.com/Konloch/bytecode-viewer

Bytecode Viewer, Advanced Lightweight Java Bytecode Viewer, GUI Java Decompiler, GUI Bytecode Editor, GUI Smali, GUI Baksmali, GUI APK Editor, GUI Dex Editor, GUI APK Decompiler, GUI DEX Decompiler, GUI Procyon Java Decompiler, GUI Krakatau'dur , GUI CFR Java Decompiler, GUI FernFlower Java Decompiler, GUI DEX2Jar, GUI Jar2DEX, GUI Jar-Jar, Hex Viewer, Code Searcher, Debugger ve daha fazlası. Tamamen Java ile yazılmıştır ve açık kaynaklıdır. Şu anda Konloch tarafından bakımı ve geliştirilmesi yapılmaktadır.

Bir kullanım örneği memnuniyetle karşılanacaktır! :-)
#6
  0
user1677
2013-04-10 06:58:28 UTC
view on stackexchange narkive permalink

Igor tarafından listelenen yazılıma ek olarak, kodu çözmek için kullanılabilecek apktool gibi araçlar da vardır: dalvik bayt kodunu dalvik sanal makinesine özgü bir dil olan smali'ye dönüştürür (bkz. talimatlar / işlem kodları burada örneğin).

Ayrıca uygulamadaki kaynakları düzenleyebilir ve uygulamayı yeniden oluşturabilirsiniz (ancak orijinal imzayı kırmanız gerekeceğinden -kendi anahtarınızla imzalayın)

Maalesef açıkladığınız şey * disassembly *, kod çözme değil. Smali, Dalvik bayt kodunu temsil etmenin bir yoludur, Java gibi yüksek seviyeli bir dil değildir.


Bu Soru-Cevap, otomatik olarak İngilizce dilinden çevrilmiştir.Orijinal içerik, dağıtıldığı cc by-sa 3.0 lisansı için teşekkür ettiğimiz stackexchange'ta mevcuttur.
Loading...