我想反编译一个apk到它的源代码的正确形式,在那里我们可以编辑代码,并可以在android工作室作为一个项目打开我尝试使用Apk工具和其他,但没有用
m1m5dgzv1#
完全反编译一个Android APK,以便您可以修改它,然后重新编译几乎是不可能的。这只适用于不使用复杂代码和库的非常小的Android应用。Jadx可以将APK文件反编译为您可以在Android Studio中打开的gradle项目,但常见的应用程序非常庞大和复杂,总是有许多方法无法反编译,或者反编译的代码与DEX字节码不完全匹配。因此,它可以用来反编译一个项目,你已经失去了源代码,以恢复代码的某些重要部分,然后将这些部分复制到一个新的Android Studio项目。如果你想修改现有APK文件的代码,唯一的方法是使用apktool。注意,apktool会将应用反编译为smali代码,类似于Android dex汇编代码。阅读和修改它非常困难,需要大量关于smali代码和Java/DEX内部工作原理的知识。但是使用apktool进行反编译和重新编译可以最大限度地提高重新编译后的应用程序最终真正工作的可能性。
1条答案
按热度按时间m1m5dgzv1#
完全反编译一个Android APK,以便您可以修改它,然后重新编译几乎是不可能的。这只适用于不使用复杂代码和库的非常小的Android应用。
Jadx可以将APK文件反编译为您可以在Android Studio中打开的gradle项目,但常见的应用程序非常庞大和复杂,总是有许多方法无法反编译,或者反编译的代码与DEX字节码不完全匹配。因此,它可以用来反编译一个项目,你已经失去了源代码,以恢复代码的某些重要部分,然后将这些部分复制到一个新的Android Studio项目。
如果你想修改现有APK文件的代码,唯一的方法是使用apktool。注意,apktool会将应用反编译为smali代码,类似于Android dex汇编代码。阅读和修改它非常困难,需要大量关于smali代码和Java/DEX内部工作原理的知识。但是使用apktool进行反编译和重新编译可以最大限度地提高重新编译后的应用程序最终真正工作的可能性。