Android反编译,重新打包


公司之前买了一套系统,由于商务原因其中一个广告的app,卖家不提供源码。上面的广告、logo和语音播报信息都是卖家的(不更改相当于变是给卖家做宣传了)。虽然app的功能比较简单,但是因为里面涉及一些后台的接口。自己写一个稍微有点麻烦。而且要改的内容也不多,只是替换掉一些图片和文本。所以采用的方案是:反编译>重新打包(不推荐我这种行为)。这里姑且当成总结写下来。

配置apktool环境:

反编译apk包

1、将要反编译的apk,移动到apktool.bat 同一目录,cd到这个目录,执行命令:apktool.bat d -f  test.apk


2、反编译后文件

3、Ⅰ. 替换图片、logo,在res文件中找到相应资源覆盖即可;

      Ⅱ. 修改文本信息,如果是写在string.xml直接修改,如果是写在代码里面需进行如下步骤:

         ⑴ 下载dex2jar和jd-gui

          dex2jar:  https://github.com/pxb1988/dex2jar
          jd-gui: http://jd.benow.ca/

      ⑵ 将要反编译的APK后缀名改为.rar或则 .zip,并解压,得到其中的额classes.dex文件,将获取到的classes.dex放到之前解压出 来的工具dex2jar 文件夹内,在命令行下定位到dex2jar.bat所在目录,输入dex2jar.bat   classes.dex效果如下:


      ⑶ 使用下载好的jd-gui工具,打开classes_dex2jar.jar,效果如下:


      ⑷ 搜索找到要修改的文本的.class文件和所在的方法


      ⑸ 并找到同名的.smali 文件,因为.smali文件中文本采用unicode编码。需使用sublime打开,搜索文本unicode编码替换成要修改文本的unicode即可:

注:unicode<>中文转换工具:http://tool.chinaz.com/tools/unicode.aspx

重新签名打包

1.回编译apkapktool b filename -o test.apk


2、重新打包的apk,是没有签名的,找个工具进行签名:

或者使用命令签名: http://blog.csdn.net/gold_brick/article/details/52850169

破解成功!!!

参考文献:https://www.jianshu.com/p/eb766d2bb837

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值