Android 反编译


反编译odex文件(比如framework.odex),若是反编译dex,直接第4步

1.因为反编译odex的工具在D:\Develop tools\android反编译工具\odex中,因此为了运行命令方便一点在odex目录里面,将system的目录结构给新建一下,将反编译的odex中所引用的全部包都放到相应的目录下
system-----
     |-------app
     |-------framework

2.java -jar baksmali-2.0.3.jar -d ./system/framework -x ./system/framework/framework.odex
-d      指定bootclasspath dir
-x      deodex the given odex file. This option is ignored if the input file is not an odex file
-a      --api-level <API_LEVEL>,The numeric api-level of the file being disassembled. If not specified, it defaults to 15 (ICS).
         网上非常多人转那个帖子都写的是-a 12, 不是必需

3.运行完上面的命令后就会在odex目录下生成一个out目录,里面就是层次结构了,注意:在运行上面命令之前看一下之前有木有out目录,有旧的out目录的话,可能导致以下要运行的命令抛出异常,因此要将旧的out目录删除,异常例如以下:
UNEXPECTED TOP-LEVEL EXCEPTION:

org.jf.util.ExceptionWithContext: Unsigned short value out of range: 78281

at org.jf.dexlib2.writer.DexDataWriter.writeUshort(DexDataWriter.java:11

6)

at org.jf.dexlib2.writer.InstructionWriter.write(InstructionWriter.java:

312)

at org.jf.dexlib2.writer.DexWriter.writeCodeItem(DexWriter.java:980)

at org.jf.dexlib2.writer.DexWriter.writeDebugAndCodeItems(DexWriter.java

:759)

at org.jf.dexlib2.writer.DexWriter.writeTo(DexWriter.java:214)

at org.jf.dexlib2.writer.DexWriter.writeTo(DexWriter.java:192)

at org.jf.smali.main.main(main.java:229)

最后将转为classes.dex的命令:java -Xmx512M -jar smali-2.0.3.jar out -o classes.dex

4.最后一步就是讲classes.dex反编译为jar文件了,用d2j-dex2jar命令:d2j-dex2jar -f classes.dex

android 反编译(dex 和 odex),非脑残转帖,绝对可靠的更多相关文章

  1. Android反编译odex然后重新打包

    #Android反编译odex然后重新打包 最近不知道怎么回事,突然把我那刷了氧OS的root了,然后就开始好奇起来氢OS所带有的那些本地化的东西,比如通话录音就是典型的一个之一.其中也做了很多的尝试 ...

  2. Android 反编译

    Android 反编译 步骤:1.下载apktool 工具,这一步 主要是反编译 xml 文件. 步骤:2 把xx.smali 文件转为java 工具 (单个) 图形界面 下载dex2jar  和xj ...

  3. Android 反编译技术流程

    为何需要反编译 作为一名Android开发者,很多的时候需要去学习别人优秀的代码,原本在GitHub上就有很多开源的项目代码,但有的时候在使用软件时候遇到自己想要的功能时,想要学习实现的代码时,这时候 ...

  4. Android反编译(三)之重签名

    Android反编译(三) 之重签名 [目录] 1.原理 2.工具与准备工作 3.操作步骤 4.装X技巧 5.问题 1.原理 1).APK签名的要点 a.所有的应用程序都必须有数字证书 ,Androi ...

  5. Android反编译(二)之反编译XML资源文件

    Android反编译(二) 之反编译XML资源文件 [目录] 1.工具 2.反编译步骤 3.重新编译APK 4.实例 5.装X技巧 6.学习总结 1.工具 1).反编译工具  apktool http ...

  6. Android反编译(一)之反编译JAVA源码

    Android反编译(一) 之反编译JAVA源码 [目录] 1.工具 2.反编译步骤 3.实例 4.装X技巧 1.工具 1).dex反编译JAR工具  dex2jar   http://code.go ...

  7. 转 谈谈android反编译和防止反编译的方法

    谈谈android反编译和防止反编译的方法   android基于java的,而java反编译工具很强悍,所以对正常apk应用程序基本上可以做到100%反编译还原. 因此开发人员如果不准备开源自己的项 ...

  8. Android 反编译apk 详解

    测试环境: win 7 使用工具: CSDN上下载地址: apktool (资源文件获取)  下载          dex2jar(源码文件获取) 下载        jd-gui  (源码查看)  ...

  9. Android 反编译工具简介

    Android 反编译工具: 所需工具:1 apktool : 用于获取资源文件 2 dex2Jar : 用于将classes.dex转化成jar文件 2 jd-gui: 将jar文件转化成java文 ...

随机推荐

  1. 轻量级跨平台消息传递协议XML-RPC深度解析

    一.引言 实现跨平台通信的协议主要有简单对象訪问协议(Simple Object Access Protocol,SOAP).代表性状态传输(Representational State Transf ...

  2. Sublime Text 3 搭建Go开发环境(Windows)

    一.安装GO 如果已经环境已经配置好,这一步省略.... 1.下载并安装go sdk 2.配置环境变量 (1). 新建 变量名:GOBIN 变量值 :F:\Go\bin (2). 新建 变量名:GOA ...

  3. css javascript 自动化压缩(保存后即自动生成压缩文件)

    先上图:

  4. QlikView一年计算,以最新的销售数据

    总销量的新财年后年初今天是非常需要的学生经常会遇到,有两种思路: 1. 能Load当数据是生成一个称为场YTDFlag.这是本财年的时刻,本场会1,除此以外,0.因此,在报告中可使用非常方便Sum(S ...

  5. angularJS socket

    工程Controller加载文件Service层socket.js.controller所在页面时连接socket(也可一进入项目就连接,看需求).细节还需继续优化,写下来以防忘了~ Service层 ...

  6. java科学和艺术语言 第六章 课后编程

    家转载,为保留作者成果.转载请注明出处,http://blog.csdn.net/netluoriver,有些文件在资源中也能够下载!假设你没有积分,能够联系我索要. 1. package Sixth ...

  7. windows cmd命令行下创建文件和文件夹

    在window下无法通过 右键=>新建 命令来创建以点开头的文件和文件夹 比如 .log ,会提示必须输入文件名. 可以通过命令行来创建 新建文件夹 mkdir .vs 新建文件 type NU ...

  8. Big ball of Mud

    Big ball of Mud 第一种死法:Big ball of Mud 架构里最常用的反面案例是 big ball of mud.很大程度上可以说打格子,把复杂的系统拆解成小格子是架构师最重要的工 ...

  9. 第一次QQ群视频教育有感

    标题:第一次QQ群视频教育有感 作者:丁又专, 时间:2014.08.16     教育的目的:启示学生心智,发现个人优势,激发探索欲望.     今天早上看到 中国大学MOOC<文献管理与信息 ...

  10. 分布式中使用Redis实现Session共享(转)

    上一篇介绍了如何使用nginx+iis部署一个简单的分布式系统,文章结尾留下了几个问题,其中一个是"如何解决多站点下Session共享".这篇文章将会介绍如何使用Redis,下一篇 ...