请选择 进入手机版 | 继续访问电脑版
虚位以待    招租QQ:244594752    尺寸:960x60
终身VIP需技术指导请加(官方QQ :244594752 )
加入我们,终身VIP只需159元,全站下载(老客户请联系我补差价即可升级)
查看: 188|回复: 2

常用的Android反编译工具

[复制链接]

该用户从未签到

2217

主题

2249

帖子

7697

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
7697
发表于 2018-6-1 22:27:51 | 显示全部楼层 |阅读模式

对于Android来说,反编译就是将一个apk转换成相应的资源文件(可能被混淆了)和java代码(可能被混淆了)。这一过程可能是apk->dex->jar->查看代码,也可能是apk->资源文件+smali,也可能直接是apk->查看代码。这个过程就就需要对具体的反编译工具而言了。

反编译工具有什么用?

一个新的强大的库想知道哪些大厂在使用,可以反编译大厂的apk,看看有没有相应的包。

apk发布以后发现有问题,可能某些功能漏了,反编译看看相应的代码是否存在就知道了。

看着别人apk的动画效果好厉害,反编译别人的apk,然后查找相应的代码模仿(很大可能也找不到)。

了解例如apt生成代码的效果,反编译代码就可以看到生成的代码(当然在build/generated/source/apt目录下也可以看到)。

反编译工具有哪些?

dex2jarjd-guijadxenjarifyApktool

上面的5种反编译相关的工具都是开源的。

  • 最开始反编译工具是dex2jar可以将dex转化成jar包,然后可以将jar通过jd-gui来转换。
  • 发现这个过程需要两步才能完成,后来直接使用jadx将apk反编译查看代码。
  • 使用jd-gui/jadx查看代码的时候,跳转以及查找都比较的慢。就使用enjarify(号称可以反编译出来的类最多)将apk反编译成dex,然后使用jadx将dex反编译成java代码,使用Android Studio查看代码。
  • 使用apktool可以反编译出资源文件。

所以现在我的习惯,对于直接给的jar(其它部门的SDK)使用jd-gui。对于不需要去具体看代码的apk使用jadx直接查看。对于可能需要研究的代码,使用enjarify + jadx + Andorid Studio。需要查看资源文件就使用apktool。

一个小的tips,使用adb命令快速的找到当前在那个界面。

adb shell dumpsys window windows | grep -E ‘mCurrentFocus'
  • 1

更多的adb命令还可以查考awesome-adb

最后反编译不是我们学习的全部,但是了解一点还是对开发有帮助的。


回复

使用道具 举报

该用户从未签到

0

主题

180

帖子

366

积分

禁止发言

积分
366
发表于 2018-8-23 09:14:12 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

3

帖子

12

积分

禁止发言

积分
12
发表于 2018-11-7 20:59:19 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|妙想源码社区 积分提现

GMT+8, 2018-11-19 02:29 , Processed in 1.086692 second(s), 24 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2020 Comsenz Inc.

快速回复 返回顶部 返回列表
 
FDGDF
客服QQ 妙想科技 244594752
【旺旺】 点击这里给我发消息
【邮箱】
244594752@qq.com
【地址】 湖南省常德市武陵区三姑巷77
【妙想科技】 【9188qhl.com】