提取系统应用(将odex文件合并到apk中)

访客 214 0
最近我需要提取某ROM的系统应用,特此记录一下整个过程。主要参考了 http://www.tttabc.com/android/odextodex.htm,不过发现该文章有些内容已经过时。
  1. 在系统root后,您可以查看/system/app目录,找到所需的应用程序。然而,在检查apk文件时发现没有包含dex文件,但是在与apk同级的oat文件夹中有一个odex文件。接下来需要进行odex->smali->dex的转换,并将新生成的dex文件添加到apk中。为此,只需解压缩apk文件,并删除meta-inf文件(以便进行后续重签名)。然后将classes.dex添加进去,并将其重新压缩成zip格式并更改后缀为apk即可。对于签名工具,为了简便起见,我使用了帮帮加固页面提供的签名软件。

  2. 工具使用的是smali.jar和baksmali.jar, 下载地址:
    https://bitbucket.org/JesusFreke/smali/downloads/
    使用方法可以用java -jar smali.jar看到,2.2.1版本和上面参考文章里提供的版本所支持的命令不一样了,所以需要自己重新查看一下命令和用法
    先用barsmali.jar把odex ->smali 在用smali.jar把smali打包成dex
    打包时遇到类找不到的错误提示,解决办法是把/system/framework文件pull出来,放到odex同级目录

标签: 文件 系统 命令 版本

发表评论 (已有0条评论)

还木有评论哦,快来抢沙发吧~