首页 >> android >> android APK提取内置软件odex转dex

 

 

android APK提取内置软件odex转dex

 

  细心的网友可能发现android的ROM中有很多odex文件,相对于APK中的dex文件而言这个odex有什么作

用呢? android123提示大家,如果你仔细观察会发现文件名时一一对应的,同时那些对应的apk文件中

没有dex文件。这样做可以使其厂商保证一定的反盗版,因为没有没有dex文件的apk是无法正常安装的

,而厂商直接将odex和不完整的apk文件放到手机rom固化到/system/bin中可以让一般用户无法正常导

出使用。

很多网友可能想到的是合并odex和apk变成apk中包含dex文件的,这样合并后最终apk文件安装

在/data/中,而rom存放时在 /system/bin中,所以最终导致了用户可装在android手机中的软件会变

少,占用系统空间。

用android手机会遇到如何将APK制作成内置软件,即将APK软件分解xxx.apk和xxx.odex并放到/system/app,看教程:android 制作内置软件制作odex方法

当你看到手机内置软件有好的软件想提取出来,就要将xxx.odex转为classes.dex,压缩到xxx.apk里,再签名apk。

apk实际是一个zip文件,可用压缩工具直接打开或解压,也可以更改后缀名为 .zip。

该教程基于 XP SP3  32位的系统下试验制作!

准备软件和文件:

odex转dex要在Java环境下制作,下载软件java jdk

下载并安装java jdk 甲骨文官网下载最新版 地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html

官网下载提示:点击链接按钮 Java Platform (JDK) 8u5 或按钮 JDK(Download)都可进入jdk下载页面

进入JDK下载页面后要点选 Accept License Agreement 才能下载,不知道电脑是多少位系统的都可下32位的

32位系统下载:Windows x86 151.71 MB jdk-8u5-windows-i586.exe

64位系统下载:Windows x64 155.18 MB jdk-8u5-windows-x64.exe

网盘下载:Java Jdk 7

 

下载baksmali.jar和smali.jar,版本是1.2.8

点此下载 

如果你的电脑安装了360,可能会出现提示,点选允许所有操作和不在提示,或把它卸载了安装完再装回去。

将手机/system/下的framework整个文件夹复制到电脑上,应为到时需要/system/framework下的某些文件。

 

安装好Java jdk7后在D盘下建一个文件abc,把baksmali.jar和smali.jar放到文件夹下,把framework里的所有文件也放到abc下,把需要提取的内置软件xxx.odex放到abc下,

 

唤出CMD: 开始—运行—输入CMD后点确定或按ENTER回车键,唤出CMD后输入下面命令后按回车键:

d:                                  进入D盘

cd abc                            进入abc文件夹

 首先通过odex生成class文件,命令如下:

java -jar baksmali.jar -x calculator.odex

为了输入方便也可将odex命名为a.odex

java -jar baksmali.jar -x a.odex

执行完上面这行命令后,会生成一个out 文件夹里面是calculator.odex的class文件。

 

 通过class生成classes.dex 文件,命令如下:

java -Xmx512M -jar smali.jar out -o classes.dex

注意输入命令区分大小写:Xmx512M, 和转下一个odex文件前要删除out文件夹

成功的命令图如下:

 

 

输入代码麻烦则可下载批处理:Odex转class转dex.zip ,将解压得到的批处理放到abc文件夹下,将要处理的xxx.odex拖到odex转class转dex.bat文件的图标就会自动生成classes.dex了。使用该批处理“abc”可放到任意盘和位置都可

 

odex转dex成功后将class.dex放回apk压缩包里不能使用,apk要签名才可使用.下载 auto-sign.zip ,运行需安装JAVA jdk,auto-sign解压到如E盘下,将需要签名的APK或ZIP放到 auto-sign签名工具同目录下,运行auto-sign签名批处理工具即可自动签名。

 

ODEX转dex教程二:

下载并安装java jdk

 

下载 全自动odex2dex

安装好Java jdk 7 ,将 全自动odex2dex解压到任意盘任意目录,将要处理的所有xxx.apk和xxx.odex放到全自动odex2dex解压出的file文件夹里,将手机里/system/framework下的所有文件复制出来放到全自动odex2dex解压的make文件夹下,双击打开 开始.bat ,生成的对应程序在OK文件夹下,将Ok文件夹下的APK用放到Auto-sign-tt-v1.1文件夹里面用批处理一键自动签名。

 

 

重要的问题:当你将一个apk用压缩软件解压后会看到某些APK有一个 lib 文件夹,这个就是驱动文件,官方rom是放在 /system/lib 下 的 .so 文件就是apk的驱动。官方ODEX化的apk把驱动全部都放到了/system/lib 里,所以想知道哪些 .so文件是哪个apk的很难,没有驱动apk不能正常运行的。 不带lib 的apk就没有问题!

 

本文地址:http://www.tttabc.com/android/odextodex.htm