反编译apk,webview拦截url,替换图片资源,重新签名打包apk
接到一个需求:
对游戏中的一个图片logo进行拦截替换
问题点:
项目工程丢失,只有apk包
解决前准备工具:
1.apktool:反编译apk,apk重新打包;
2.Java2smail (android studio插件):将修改的Java代码编译成smail格式;
3.dex2jar:将classes.dex文件,反编译出源码(如果apk未加固),反编译出jar包
下载和安装 dex2jar
github下载地址:https://github.com/pxb1988/dex2jar
官方网站:https://sourceforge.net/projects/dex2jar/
4.jd-gui:可将jar包转化为java格式查看;
下载和安装 JD-GUI
github下载地址:https://github.com/java-decompiler/jd-gui
官网下载地址:http://java-decompiler.github.io/
5.jarsigner :将重新打包的apk进行签名,如果不签名,无法安装使用(jarsigner是JDK提供的针对jar包签名的通用工具,位于JDK/bin/jarsigner.exe)
解决步骤:
一.反编译apk,定位修改代码:
开始前,可把apktool路径加入环境变量path中,方便使用,在包含apk的目录下开命令窗口:
执行命令: