加载中…

加载中...

[初学者版]反编译apk方法

转载 2017-08-14 22:23:38

今天有个反编译apk的小需求(想要检查一下java代码中是否包含敏感信息),因为不太了解Android相关的东西,所以上网搜索了一下解决方法,然后记录下来。

环境:macOS 10.12,其实Windows也可以用​

第一步,拿到apk文件,修改后缀名为zip然后解压。​macOS下系统自带解压功能会解压失败,这时候用一些第三方的工具例如The Unarchiver就可以了。

解压后拿到里面的classes.dex文件,这个文件里包含了编译后的java class。

第二步,下载dex2jar工具(Github: https://github.com/pxb1988/dex2jar)解压到一个文件夹中​,里面有一大堆脚本。

第三步,打开terminal或是命令提示符,定位到dex2jar所在文件夹

macOS命令为:bash d2j-dex2jar.sh classes.dex

Windows命令为:d2j-dex2jar classes.dex

这时如果macOS terminal中提示​ d2j-dex2jar.sh: line 36: ./d2j_invoke.sh: Permission denied错误,那么需要先给一个权限,首先运行一次:

 

sudo chmod +x d2j_invoke.sh

再重新执行上面的转换命令​


第四步,这时候应该已经由classes.dex反编译成了classes-dex2jar.jar​。我们需要一个工具来查看jar里面的java代码。下载JD-GUI工具 (Github: https://github.com/java-decompiler/jd-gui/releases)解压,能看到里面有个JD-GUI程序。


最后一步,执行JD-GUI程序。点击工具栏上的打开按钮,选择刚才从dex转换出来的classes-dex2jar.jar文件,就能看到反编译出来的java源代码了。

 


阅读(0) 评论(0) 收藏(0) 转载(0) 举报
分享

评论

重要提示:警惕虚假中奖信息
0条评论展开
相关阅读
加载中,请稍后
Kaedei
  • 博客等级:
  • 博客积分:0
  • 博客访问:833,236
  • 关注人气:0
  • 荣誉徽章:

相关博文

新浪BLOG意见反馈留言板 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

新浪公司 版权所有