Skip to content

keulraesik/SmaliEx

 
 

Repository files navigation

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.)

Downloads are at https://bitbucket.org/JesusFreke/smali/downloads. If you are interested in submitting a patch, feel free to send me a pull request here.

Support

  • github 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.

Some useful links for getting started with smali

About

Deoptimize odex from oat.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 49.7%
  • Smali 48.0%
  • GAP 1.5%
  • Lex 0.3%
  • Other 0.3%
  • Shell 0.1%
  • Other 0.1%