apk反编译与回编译初探

最近研究反编译与回编译的东西,因为以前也很少接触,只是会用dex2jar和jd-gui工具,但是无法查看AndroidManifest.xml等文件,他们解压之后是乱码显示的。然后就自己研究,各种百度,用到了AXMLPrinter2.S.jar,此工具能解析AndroidManifest.xml文件,但是不能够回编译, 最后用到了 apktool.jar。我这里是最新的版本 apktool_2.2.4.jar

各个工具的作用:

dex2jar
作用:将apk反编译成java源码(classes.dex转化成jar文件)
jd-gui
作用:查看APK中classes.dex转化成出的jar文件,即源码文件
apktool  
作用:资源文件获取,可以提取出图片文件和布局文件进行使用查看,可回编译
AXMLPrinter2.S.jar
作用:能解析AndroidManifest.xml文件,但是不能够回编译

一:dex2jar和jd-gui的操作请自行百度


二:下面先说AXMLPrinter2.S.jar
直接把需要反编译xml的app后缀改为zip并解压,复制xml到AXMLPrinter2.S.jar目录下

如果想简单的到处全部数据,可执行下面的命令Java -jar AXMLPrinter2.S.jar 文件所在路径\指定文件名.xml > 指定路径\文件名.txt(或XML),则该XML数据将全部写入该文件中;

点击回车执行完,发现多了个文本文件


打开里边就是可读的内容。好了这个工具就介绍到这



三:再说下apktool反编译回编译xml文件

打开cmd.exe 进入到apktool(apktool_2.2.4)工具所在的目录下执行apktool d +apk所在位置 。


apktool d test.apk  存放地址(不写也可以默认在本目录下)  

apkname.apk 表示要进行反编译的APK文件

如图

执行后多个文件夹


打开可修改xml文件


修改完成后就要重新打包成APK文件了:

  apktool b 文件名称       

执行成功后会在该目录的dist目录下有一个重新打包后的apk文件。


好的,回编译成功了,最后一步给新的apk签名就可以安装运行了



附工具下载地址:

全部工具包下载地址

dex2jar和jd-gui下载地址

apktool(apktool_2.2.4)下载地址

AXMLPrinter2.S.jar下载地址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值