Android反编译流程

反编译用于学习目的,尊重他人成果

朱红喜 2020-11-18
持续更新中…

1. 准备工具

ApkTool用于反编译apk或者分析apk的工具,可反编译出真实的资源文件和smali文件,也可用于重新打包,建议使用最新版,可以减少出现问题,同时记得window平台需要下载apktool.bat
下载地址:https://bitbucket.org/iBotPeaches/apktool/downloads/

dex2jar 从字面意思就知道,这是将dex文件转化成jar的工具,转化为jar便于我们直观的看见java源码,找到问题的关键。但是这个java代码是自读的。
下载地址:https://github.com/pxb1988/dex2jar

jd-gui是将dex2jar生成的jar包解析,可视化浏览java代码的工具,辅助我们分析源码(只读),根据平台下载对应的版本。
下载地址:http://java-decompiler.github.io/#jd-gui-download

除了jd-gui之外还有一个可以用来作为分析java代码的可视化工具(java只读,smali可编辑),这个工具实际上是将前面的工具集成了。但是这个工具反编译出来的资源文件并不是一定准确,可以说比不上ApkTool反编译出来的资源文件。而且作者不在维护了。记得下自己平台版本
下载地址:https://github.com/skylot/jadx

除此之外还有国内开发者开发的工具,基本都是集成上面三个工具,比较优秀有:Android KillerAndroid 逆向助手等,百度下载即可,记得将他们集成的三个工具,手动换成最新的,不然无法使用,因为他们作者不再维护了。

2. 使用
  • 反编译apk获取资源文件、smali文件、dex文件、manifest文件等
第一步:将apktool.jar和apktool.bat复制到C:\Windows的目录下
第二步:将apk拷贝到你放置上面文件的地方
第三步:打开cmd命令行,进入apktool.jar的目录下: apktool d apk_name
  • dex文件转化为jar文件
第一步:将apk的后缀名改名为zip,并解压
第二步:将上面解压出来的中的classes.dex复制dex2jar文件夹中
第三步:在cmd命令行进入dex2jar文件中输入: d2j-dex2jar.bat classes.dex
  • 使用jd-gui打开上述的jar包就可以看到java源码
没啥可说的,直接open
  • 重新打包
cmd进入在apktool.jar文件下,输入:  apktool b 源文件夹名
  • 重新签名
第一步:复制签名文件到auto-sign文件夹下,cmd进入auto-sign文件夹下
第二步:cmd输入:jarsigner -verbose -keystore [your_key_store_path] -signedjar 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

坂田民工

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值