初识:
首先,将我们待反编译的APK文件逆向生成classes.dex+res文件夹+AndroidManifest.xml 这三个东西,想必大家已经懂得了其中的内涵,没错,这就是我们的项目根目录,而dex即就是由jar打包而成的Android可执行文件。
接下来将上步中生成的classes.dex(即就是android下的可执行文件,由一簇一簇的.class文件jar包生成)通过相应的工具生成.jar包。我们到时候所看见的源码,其实就是运行.jar包所看见的源码。
接下来,就开始进行实战练习了。网上各大论坛的方法层出不穷,我亲身测试过后发现有的方法并不好使,我这里介绍一个简单有效的工具-----Jadx(一款反编译工具)。我这里就介绍Mac下的方法,Windows原理一样。在命令行里切换到你个人目录下,新建一个文件夹: mkdir jadx,然后git clone https://github.com/skylot/jadx.git,cd jadx,接下来执行./gradlew dist #(然后等着就行,没连VPN速度可能会有点慢!)
这时在jadx文件夹下会多出一个build文件,里面的目录中会有jadx.gui文件,
会出现这个窗口,选择你想反编译的APK,接下来就可以看见对应的源代码。