如何在Android平台上反编译APK或DEX文件?[关闭]


137

是否可以在Android平台上反编译APK包或DEX文件?有没有可以反编译APK文件的工具?


您是指程式化吗?
路西法2014年

该链接包含您需要的每个答案。 stackoverflow.com/questions/12732882/...
Mandar Kakade

有很多在Play商店有人可以搜索它..
MarmiK

Answers:


163

您需要三个工具来decompile an APK归档。

  1. Dex2jar-用于android .dex和java .class文件的工具

  2. ApkTool-用于逆向工程Android apk文件的工具

  3. JD-GUI -Java Decompiler是用于反编译和分析Java 5“字节码”及更高版本的工具。

有关更多如何使用dextojar的信息。希望这对您和所有人有帮助!:)


我认为所有这些工具都可以在Windows平台上运行。我可以将这些jar文件导入到我的android项目中,然后在android平台中运行

Rupesh Yadav @在此过程中,某些行代码与原始代码不匹配。从该网站www.decompileandroid.com/我可以反编译我的代码,但是两个代码为何不同?
Shailendr singh 2014年

1
@Shailendrsingh以上是反编译APK的标准过程,如果在应用中启用了混淆功能,则反编译的类代码可能会有所不同。
Rupesh Yadav 2014年

好的,如果在app中启用了混淆功能,如何获取用app编写的原始代码?
Shailendr singh 2014年

2
@Shailendrsingh仅在具有反向映射文件的情况下才有可能,否则无法从APK文件中获得100%的收益。
Rupesh Yadav 2014年

32

在线APK Decompiler http://www.decompileandroid.com/
http://www.javadecompilers.com/
适用于Windows的APK Decompiler应用程序 http://forum.xda-developers.com/showthread.php?t=2493107

更新2015/12/04
ClassyShark,您可以打开APK / Zip / Class / Jar文件并分析其内容。 https://github.com/google/android-classyshark


3
不幸的是,DecompileAndroid无法正确反编译
string.xml

ProGuard会完全删除R $ string.class,但Android反编译器可以从resources.arsc重构所有信息。我觉得这DecompileAndroid没有执行这种复杂功能的又
张学友



5

您可以使用以下命令在Android设备上反编译apk:https//play.google.com/store/apps/details? id = com.njlabs.showjava

有关更多信息,请参见此处:http : //forum.xda-developers.com/showthread.php?t=2601315

编辑:28-02-2015

要反编译apk,可以使用此工具:https : //apkstudio.codeplex.com/license

如果那没有帮助请检查此链接


该应用程序从未为我工作。它无限尝试执行“反编译为Java”和他们通常会崩溃..
芡实

那么您应该遵循此答案stackoverflow.com/a/23924665/2736039这些解决方案效果很好
Ultimo_m 2015年

该解决方案还有另一个问题-在那儿查看我的评论;)
goRGon 2015年

我知道这个问题,并解决了使用Apk工具的问题。据我所知,您找不到能够完成所有工作的工具。您必须全部使用它们:)
Ultimo_m 2015年

检查我编辑的答案,我发现了一个新工具
Ultimo_m 2015年

5

http://www.decompileandroid.com/

该网站将反编译APK文件中嵌入的代码,并提取文件中的所有其他资产。


2
非常好的网站!我用了一年。还有一种选择:javadecompilers.com/apk,它使用不同的方法(用Jadx代替Dex2jar + Jad)
Andrew

@JqueryNinja检查此为备用- stackoverflow.com/a/27981520/3879847
兰芝斯库马尔

@RanjithKumar javadecompilers.com/apk在等待了很长时间后,网站确实反编译了我的apk。但是,缺少一些Java类。没有其他选择吗?
iOSAndroidWindowsMo​​bileAppsDev

@JqueryNinja使用showjava apk。这比别人好。但是广告更多。.play.google.com
store/

@RanjithKumar showjava使用javadecompilers.com/apk或jadx,它们不会反编译所有Java类
iOSAndroidWindowsMo​​bileAppsDev 2016年

3

您还可以使用apktool:http : //ibotpeaches.github.io/Apktool/,它也将为您提供xml res文件。除此之外,您还可以使用dex2jar系统,该系统会将apk中的dex文件输出到jar文件,该文件可以使用JD-GUI打开并导出到标准Java文件。


0

您也可以使用Android Multitool。您可以在应用程序中进行小的更改,例如隐藏GUI元素或修改Logic的一小部分并重建apk。它易于使用和反编译/重新编译apk和jar文件。这是您可以签出的链接

干杯

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.