博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
优化apk的odex处理
阅读量:4486 次
发布时间:2019-06-08

本文共 627 字,大约阅读时间需要 2 分钟。

 

前文讲到了apk的反编译流程,但在有的情况下会出现apk的资源文件和代码文件分开的情况,这种情况会出现如下目录结构,并且在apk文件里面并没有dex文件。

结构图

 

所需工具

  • 平台相关的framework文件夹,主要是core.jar(平台不同略有差异)

合并流程

  1. 将xxx.odex放在与framework同级目录下,有的平台不需要framework文件夹,例如我实验的平台只需要framework/arm/boot.oat文件,将其放在与xxx.odex同级目录,此时不需要framework文件夹。
  2. 输入以下命令,将odex转化为smali文件
    java -jar baksmali-2.2.2.jar x xxx.odex -d framework\
    此时会生成一个out目录,此目录就是生成的smali目录。
  3. 输入以下命令,将smali转化为dex文件
    java -jar smali-2.2.2.jar a out\ -o classes.dex
    此时会生成一个classes.dex的文件。
  4. 经过以上步骤 odex就已经转化为dex,将其添加到apk中(apk实际上是个压缩包)。

后续步骤

  • 如果要反编译,从这里开始参考。
  • 也可以签名安装,关于apk的重签名,一搜一大堆。

以上属于个人体验心得总结,若有不足之处,还望不吝赐教,欢迎批评指正,共同进步

 

转载于:https://www.cnblogs.com/cj5785/p/9892977.html

你可能感兴趣的文章
Angular
查看>>
如何使用maven 打包源代码呢?
查看>>
python使用mysql数据库
查看>>
Linux下切换python版本
查看>>
snmptrap、snmpinform和snmptrapd的详细介绍及其用法
查看>>
JavaScript初阶(三)--------函数、闭包、立即执行函数
查看>>
linux的系统调优
查看>>
mysql之pymsql的使用
查看>>
博客园小技巧
查看>>
Java基础07 包
查看>>
ulua/tolua中timer.lua和event.lua的使用(Luaframework)
查看>>
面试的时候,如何自我介绍?
查看>>
解决json不能解析换行问题
查看>>
opencv + ffmpeg
查看>>
关于范数
查看>>
第一篇随文。
查看>>
UIWebView加载ANSI格式的txt文件出现乱码问题解决
查看>>
HDU 1452 Happy 2004(因子和的积性函数)
查看>>
Python的类
查看>>
安装vmware tool时出错
查看>>