Android反编译小结

前世
之前反编译项目,一直走apktool + dex2jar + jd-gui,情况如下:

  • 非混淆项目,没有问题;混淆/加固的,这个就不要想了......
  • 操作繁琐;
  • 反编译质量低,可以读懂代码结构,有海量语法错误;一般要2-3个工作日才能手工修正完毕;
  • 需要花大量时间导入lib,尤其是老版本的兼容问题;
  • 资源文件去重.....

今生:Jadx

  • https://github.com/skylot/jadx
  • 可以很好解决反编译代码的语法错误,只用少量修正即可
  • 常量兼容好,对if、switch而言,极大增强代码的可读性;√√√
  • 匿名内部类可以很好解析 √√√
  • utf8编码需要手工处理;找dex2jar

其它

  • 混淆/加固,可以尝试在分发渠道/内测平台上找老版本。如果运气好,可以找到原始版本
  • 核心代码相对稳定;
  • 千里之堤毁于蚁穴……

你可能感兴趣的:(Android反编译小结)