This goal of this project is to provide tools to work with various java related bytecode formats, mainly JVM and dalvik bytecode.
The following modules are currently available
- classfile: reads and writes class files
- dexfile: reads and writes dex files
- dexdump: prints the contents of dex files in the same format as the dexdump tool
- smali: assembler/disassembler for dex files
- commands: convenient command line tools for the different modules
- In the root directory run: ./gradlew distZip
- cd commands/build/distributions
- Unzip the file 'bat-tools-${VERSION}.zip'
- Run bat-${toolname}.sh from the unzipped directory
- baksmali tool
Usage: bat-baksmali [-v] [-o=<outputFile>] inputfile
disassembles dex files.
Parameters:
inputfile input file to process (*.dex)
Options:
-o=<outputFile> output directory
-v verbose output
bat-baksmali.sh -v -o out classes.dex
The generated smali files will be created in the out directory in a directory structure resembling the package name of the disassembled classes.