chenxiaolong / SmaliEx

Deoptimize odex from oat.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

About

This is forked from https://code.google.com/p/smali/
The additional modification is to support convert oat file to dex.

Function concept:
boot.oat -> extract optimized boot class dex files -> deoptimize to dex files
app.odex(oat) -> reference boot dex files to deoptimize

Download latest version:
https://github.com/testwhat/SmaliEx/blob/master/smaliex-bin/oat2dex.jar?raw=true

Usage:
Deoptimize boot classes (The output will be in "odex" and "dex" folders):
  java -jar oat2dex.jar boot <boot.oat file>
Deoptimize application:
  java -jar oat2dex.jar <app.odex> <boot-class-folder output from above>
Get odex from oat:
  java -jar oat2dex.jar odex <oat file>
Get odex smali (with optimized opcode) from oat/odex:
  java -jar oat2dex.jar smali <oat/odex file>
Deodex /system/framework/ from device (need to connect with adb):
  java -jar oat2dex.jar devfw

Used by:
JoelDroid
SVADeodexerForArt
PUMa - Patch Utility Manager

Original Readme

### About

smali/baksmali is an assembler/disassembler for the dex format used by dalvik, Android's Java VM implementation. The syntax is loosely based on Jasmin's/dedexer's syntax, and supports the full functionality of the dex format (annotations, debug info, line info, etc.)

The primary webpage is http://smali.googlecode.com, and the source is also mirrored at https://github.com/jesusfreke/smali. If you are interested in submitting a patch, feel free to send me a pull request on either site.

Support

  • googlecode Issue tracker - For any bugs/issues/feature requests
  • #smali on freenode - Free free to drop by and ask a question. Don't expect an instant response, but if you hang around someone will respond. Think of it more in terms of.. multi-player notepad.

Some useful links for getting started with smali

About

Deoptimize odex from oat.


Languages

Language:Java 49.7%Language:Smali 48.0%Language:GAP 1.5%Language:Lex 0.3%Language:Ragel in Ruby Host 0.3%Language:Shell 0.1%Language:C 0.1%Language:Makefile 0.0%