前世
之前反编译项目,一直走apktool + dex2jar + jd-gui,情况如下:
- 非混淆项目,没有问题;混淆/加固的,这个就不要想了......
- 操作繁琐;
- 反编译质量低,可以读懂代码结构,有海量语法错误;一般要2-3个工作日才能手工修正完毕;
- 需要花大量时间导入lib,尤其是老版本的兼容问题;
- 资源文件去重.....
今生:Jadx
- https://github.com/skylot/jadx
- 可以很好解决反编译代码的语法错误,只用少量修正即可
- 常量兼容好,对if、switch而言,极大增强代码的可读性;√√√
- 匿名内部类可以很好解析 √√√
- utf8编码需要手工处理;找dex2jar
其它
- 混淆/加固,可以尝试在分发渠道/内测平台上找老版本。如果运气好,可以找到原始版本
- 核心代码相对稳定;
- 千里之堤毁于蚁穴……
网友评论