关于android的反编译工具,相信大家并不陌生

如APK-TOOL,dex2jar

APK-TOOL 用于反编译出布局文件

下载地址http://code.google.com/p/android-apktool/downloads/list

dex2jar 用于将dex反编译成.jar包

下载地址:http://code.google.com/p/dex2jar/downloads/list

生成的jar包可用jd-gui来查看(前提是代码未被混淆)

可是假设我们从rom里面提取出的apk是不能反编译出源代码

由于android系统为了加快内置应用的启动时间,会将dex从apk中提取出来优化成odex(二者都是可运行文件)

所以这就须要我们先将odex转化为dex再进行反编译

这就须要用到下面四个文件:

下载地址:http://code.google.com/p/smali/downloads/list

只是在反编译odex的时候光有源文件还不够,还须要依赖rom里面framework下的odex。详细依赖程度视情况而定,最简单的方式就是将framework下的odex所有copy过来就可以

以下以红米rom为例,反编译Phone资源

如图示:

system\framework下放置好所依赖的odex文件

输入java -jar baksmali-2.0.3.jar -d ./system/framework -x Phone.dex

正常会生成out目录

再输入java -jar smali-2.0.3.jar out/ -o classes.dex

打包生成的class.dex就是我们要的东西了

以下附上測试用的资源文件

http://download.csdn.net/detail/geniuseoe2012/7352757

心动不如行动,赶紧来尝试一把吧!

android反编译odex文件的更多相关文章

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

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

  2. android 反编译(dex 和 odex),非脑残转帖,绝对可靠

    Android 反编译 反编译odex文件(比如framework.odex),若是反编译dex,直接第4步 1.因为反编译odex的工具在D:\Develop tools\android反编译工具\ ...

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

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

  4. Xamarin android如何反编译apk文件

    Xamarin android 如何反编译 apk文件 这里推荐一款XamarinAndroid开发的小游戏,撸棍英雄,游戏很简单,的确的是有点大.等一下我们来翻翻译这个Xamarin Android ...

  5. Android开发学习之反编译APK文件

    反编译的目的在于学习一些优秀的Android应用程序代码. 在进行反编译之前,需要准备好下面的软件工具(这些文件都放在同一文件下): 这些工具的下载地址:http://down.51cto.com/d ...

  6. Android 反编译Apk提取XML文件

    Apktool https://ibotpeaches.github.io/Apktool/install/ 下载地址:Apktool https://bitbucket.org/iBotPeache ...

  7. Android apktool反编译资源文件为空解决办法(测试天猫、淘宝等apk成功)

    1 Exception in thread main brut.androlib.androlibexception multiple resources 解决办法:下载最新的apktool,在goo ...

  8. Android 反编译技术流程

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

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

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

随机推荐

  1. QtWebkit里RenderLayer树的绘制具体流程分析

           更新:RenderLayer树的绘制对RenderObject的绘制.同一时候补足绘制阶段的描写叙述.        QtWebkit里,QWebView,QWebPage和QWebFr ...

  2. iPad iOS8.0升级和Xcode 6.0.1公布了,附Xcode 6.0.1下载地址

    今天上午把iPad mini升级到了iOS 8.0,升级提示须要6.7G空间,无奈仅仅好把一些大的App删掉腾冲空间,然后開始升级,3小时后最终升级成功了. 下午试着把我们的App通过xcode 5 ...

  3. 搭建Mysql双机热备 (主从同步)

    准备两台centos7主机:10.0.18.132 master 10.0.18.136  slave 先把selinux关闭,iptables关闭  或者添加端口 132 master安装好Mysq ...

  4. [-] Failed to load plugin from /usr/share/metasploit-framework/plugins/db_autopwn: No classes were loaded from /usr/share/metasploit-framework/plugins/db_autopwn in the Msf::Plugin namespace.

    问题详情 然后,执行,出现如下问题,则说明大家的这个文件,下载不是完整的或者你上传不完整. msf > load db_autopwn [-] Failed to load plugin fro ...

  5. Android框架-Volley(四)

    经过前三篇文章的学习,Volley的用法我们已经掌握的差不多了,但是对于Volley的工作原理,恐怕有很多朋友还不是很清楚.因此,本篇文章中我们就来一起阅读一下Volley的源码,将它的工作流程整体地 ...

  6. Debian9.5 系统Samba配置说明

    Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件.SMB(Server Messages Block,信息服务块)通信协议是微软(Microsoft)和英特尔(Intel)在198 ...

  7. iOS开发—— Couldn't add the Keychain Item

    报错:*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Couldn ...

  8. 为什么使用Nginx & Nginx的使用

    Nginx在Windows平台的配置: 什么是Nginx? 根据前面的对比,我们可以了解到Nginx是一个http服务器.是一个使用c语言开发的高性能的http服务器及反向代理服务器.Nginx是一款 ...

  9. ubuntu -redis

    ubentu 布置redis,基本操作和CentO感觉相差不多,主要是使用命令有所差异 mark如下: ① download ② tar -zxvf xxx.tar.gz ③ cd redis-xxx ...

  10. js 异步加载的方式

    js 异步加载的方式 渲染引擎遇到 script 标签会停下来,等到执行完脚本,继续向下渲染 defer 是“渲染完再执行”,async 是“下载完就执行”,defer 如果有多个脚本,会按照在页面中 ...