1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > jadx反编译工具的使用

jadx反编译工具的使用

时间:2021-01-12 02:20:35

相关推荐

jadx反编译工具的使用

目录

jadx工具介绍

jadx工具的安装

jadx工具的使用

jadx遇到的问题

jdk和jre的区别

jadx工具介绍

decompile Dalvik bytecode to java classes from APK, dex, aar, aab and zip files将Dalvik 字节码从APK,dex,aar,aab,zip文件里反编译为java类decodeAndroidManifest.xmland other resources fromresources.arsc解码AndroidManifest.xml和其他资源文件从resources.arsc

下载地址:

GitHub - skylot/jadx: Dex to Java decompiler

jadx工具的安装

JDK 11 or higher must be installed:

git clone /skylot/jadx.gitcd jadx./gradlew dist

(on Windows, usegradlew.batinstead of./gradlew)

jadx工具的使用

通过gradlew.bat命令后,会生成exe执行程序,将aar或jar或者apk文件 移到exe即可

jadx遇到的问题

This application requires a Java Runtime Environment 11(64-bit)

有一次,将本机的JDK版本从8改为了Android Studio里的jre11,发现jadx无法使用,提示错误:

缘由是高版本的gradle(7.3.3)需要jdk11才能编译

开始,我以为之前用jdk8 生成的jadx.exe不能用于jdk11,于是我用Android Studio 的jre11想重新生成jadx.exe,又报了如下错

ERROR: JAVA_HOME is set to an invalid directory: F:\Android Studio

Please set the JAVA_HOME variable in your environment to match the

location of your Java installation.

经过查找资料,这个错误提示的源码定位在gradlew.bat

大概分析就是找不到JAVA_HOME/bin/java.exe

于是我回过头再去分析环境变量

当JAVA_HOME从C:\Program Files\Java\jdk1.8.0_281 改为F:\Android Studio\jre后

%JAVA_HOME%\bin\java.exe是可以找到的。

但是%JAVA_HOME%\jre\bin\java.exe在F:\Android Studio\jre是找不到的。

于是,我把%JAVA_HOME%\jre\bin这个删除掉,就可以正常gradlew.bat了,生成jadx.exe后。

再次反编译apk,验证成功。

jdk和jre的区别

jdk是java development kit 包含编译环境(javac)和运行环境(jvm)以及依赖包(jar),也就是jdk\bin\目录下包含 javac

而jre是java runenvironment 只有运行环境,最明显的区别是jre\bin\目录下是没有javac的

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。