# smali2java
**Repository Path**: frontcold/smali2java
## Basic Information
- **Project Name**: smali2java
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-06-15
- **Last Updated**: 2025-06-15
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Smali2Java
[](https://travis-ci.org/AlexeySoshin/smali2java)
[](https://codecov.io/gh/AlexeySoshin/smali2java)
This project attempts to create a valid Java source code from disassembled code used by Dalvik
Main goal of this project is to validate how well your obfuscation strategy works, and what the attacker would be able to gather from your source.
Read the specification here: https://source.android.com/devices/tech/dalvik/dalvik-bytecode.html
Why would you need it if there are tools like https://bytecodeviewer.com/?
* You can recreate an entire application with a single command
* Allows you to use other command line tools on the output
## Prerequisites
* Go 1.18+
## Building
```
go build
```
## Usage
First, you'll need an APK that you want to decompile
### OSX
```
brew install apktool
apktool d ./
```
## Output
You'll get a directory, which contains among others a directory called `smali`
Now you can run Smali2Java on this directory:
```
smali2java -path_to_smali=
```
The resulting Java files will be put beside the Smali ones.
The tool doesn't distinguish between Java and Kotlin. Decompile results will always be Java files.
## License
MIT