• 使用baksmali及smali修改apk并打包


    使用baksmali及smali修改apk并打包

    工具的下载,请自行google。

    有时候使用apktool反编译apk修改Smali文件之后再进行build会出现错误,这种情况下可以换一个更高版本的apktool试试。

    如果更高版本的apktool还是不能成功的话,就有点麻烦了,可以修改apktool,不过这种大神级的技术,我现在还是不会。

    遇到这种情况可以选择使用baksmali+smali来进行apk的修改及重新打包。

    1.首先解压apk文件,获得classes.dex文件 
    pic1

    2.使用baksmali反编译classes.dex 
    命令为: java -jar baksmali.jar -o classout/ classes.dex 
    pic2

    3.反编译的smali文件存在./classout之中。 
    pic3

    4.此时对classout目录下的smali文件就可以进行修改了 
    修改过之后需要使用smali.jar将smali目录重新编译为classes.dex 
    pic4

    5.使用压缩工具将新生成的classes.dex塞入apk包替换原有的classes.dex

    这里需要说明的就是使用baksmali.jar反编译的生成的smali文件使用的是baksmali语法,和apktool反编译生成的smali语法有些许的区别

    6.替换apk包中的classes.dex文件之后,需要对apk重新签名才能安装 
    pic5

  • 相关阅读:
    bzoj4105: [Thu Summer Camp 2015]平方运算
    bzoj4035: [HAOI2015]数组游戏
    bzoj1022: [SHOI2008]小约翰的游戏John
    bzoj4665: 小w的喜糖
    CodeChef:Little Elephant and Colored Coins
    bzoj4664: Count
    bzoj4498: 魔法的碰撞
    bzoj4230: 倒计时
    bzoj4532: [BeiJing2014 WinterCamp] 珠链
    python 画正态曲线
  • 原文地址:https://www.cnblogs.com/shaoge/p/5434542.html
Copyright © 2020-2023  润新知