一、需求:想要修改一个apk里面一串字符串
环境:
apktool----https://ibotpeaches.github.io/Apktool/install/
dex2jar----https://github.com/pxb1988/dex2jar/
JD-GUI----http://jd.benow.ca/jdk1.8.0环境
二、先反编译解包分析:
(明确要修改哪里的话可以跳过这步,我做这一步是为了看到部分java源代码来分析他的逻辑流程,以及需要修改哪一块)
首先解压APK、把classes.dex捣鼓出来
然后用./d2j-dex2jar.sh classes.dex (注意先给定本目录下所有脚本执行权限 chmod +x * )
把dex反编译成*.jar文件
用JD-GUI打开之后分析一波
得出结论:我要修改的字符串包在ShowActivity.class里面
三、修改内容:
首先命令行下:apktool d 我的软件.apk
得到一个包文件夹,去并找到同名的.smali 文件,因为.smali文件中文本采用unicode编码。需使用sublime打开,搜索文本unicode编码替换成要修改文本的unicode即可。
注:unicode<>中文转换工具:http://tool.chinaz.com/tools/unicode.aspx