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

配置apktool环境:

Android反编译,重新打包

反编译apk包

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

Android反编译,重新打包

2、反编译后文件

Android反编译,重新打包

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效果如下:

Android反编译,重新打包

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

Android反编译,重新打包

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

Android反编译,重新打包

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

Android反编译,重新打包

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

重新签名打包

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

Android反编译,重新打包

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

Android反编译,重新打包

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

**成功!!!

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

相关文章:

  • 2021-10-22
  • 2021-08-11
  • 2021-12-04
  • 2021-12-14
  • 2021-12-14
  • 2021-12-10
  • 2021-08-05
  • 2021-11-21
猜你喜欢
  • 2021-11-16
  • 2021-04-25
  • 2021-12-01
  • 2021-08-03
  • 2021-12-09
  • 2021-07-12
  • 2021-04-17
相关资源
相似解决方案