反编译
使用jadx进行反编译
下载好jadx项目到本地;
把.apk文件改为.zip文件;
解压.zip文件获取classes.dex文件;
将classes.dex文件放到jadx目录下;
然后在终端中对应的路径下执行一下操作:
//切换到放置classes.dex的路径下;
cd build/jadx
//反编译,并且使用gui打开;
bin/jadx-gui classes.dex
或者执行下面这条命令:
//反编译并将反编译后的数据放入out文件夹下;
bin/jadx -d out classes.dex
使用了代码混淆以后,即使反编译过来,代码中还是用a、b、c等代替了一些变量和方法;
如果使用了加固软件对安装包加固,我反编译了使用了乐固加固的安装包,只能看到com.tencent文件夹下的两个文件夹:StubShell和bugly.legu,需要再进行破壳反编译。
混淆只是增加了阅读源代码的难度,隐藏了部分代码,而加固相当于阻止了我们查看源代码的一切信息。
防止抓包
在网络请求相关的文章中,我有写如何判断当前手机是否挂了代理以及如何防止被抓包;