Utilities
Inspect DEX instructions as smali files
baksmali-disassemble is an offline adapter for a selected google/smali operation.
overview
What baksmali-disassemble does
Supply a raw DEX file to obtain a native smali class tree. The adapter selects API level 28 and one native worker; it does not execute the code.
A FOLDER containing native .smali files. The adapter requires a nonempty native tree with smali entries and refuses native symlinks. This is bytecode disassembly, not reconstructed Java source.
Native execution has a 120-second timeout and JVM -Xmx256m. The adapter checks a 4 MiB artifact limit after execution; this is not peak process-memory or temporary-disk containment. The supplied file is limited to 20 MiB; symlink input is refused. The output tree is limited to 2000 files and 4 MiB after execution. An existing output directory must be empty.
Pinned native source 3.0.7 at 878d37fe960945e1b2eec430f1649d43910a4fd0. Final-image native positive and negative fixtures passed. The private platform fixture-tool-verifier run passed. The exact image and source/notices bundle are publicly downloadable; the exact public Library identity was verified. This is a source-built fatJAR; native version output has an upstream -dev suffix and the image uses tag 3.0.7-source1. It is not claimed to be an official release binary.
source github.com/google/smali/tree/878d37fe960945e1b2eec430f1649d43910a4fd0
use cases
Where baksmali-disassemble fits
Inspect DEX instructions as smali files
Supply a raw DEX file to obtain a native smali class tree. The adapter selects API level 28 and one native worker; it does not execute the code.
Retain the native artifact
A FOLDER containing native .smali files. The adapter requires a nonempty native tree with smali entries and refuses native symlinks. This is bytecode disassembly, not reconstructed Java source.
reference
baksmali-disassemble inputs and flags
| Name | Type | Flag | Description |
|---|---|---|---|
| dex | FILE | --dex | Raw DEX bytecode file. |
Showing key inputs. baksmali-disassemble exposes 1 inputs in total.
example
Run baksmali-disassemble
python3 /app/run.py --dex ./classes.dex ./smali-output.class public Lorg/trickest/fixture/Fixture;
.super Ljava/lang/Object;
# direct methods
.method public static answer()I
.registers 1
const/16 v0, 0x2a
return v0
.end method
.method public static endpoint()Ljava/lang/String;
.registers 1
const-string v0, "https://fixture.invalid/api/v1"
return-object v0
.end methodguidance
Choosing baksmali-disassemble
Choose baksmali for bytecode-level instructions. JADX reconstructs Java, Apktool handles package resources and smali, and smali assembly produces DEX from source files. This node accepts a raw DEX, not every upstream input format.
faq
baksmali-disassemble questions
related
More Utilities tools
browser-fetch
Headless Chromium render: requested URL, final URL, status, and title next to the page.
cewl
Spider a URL and return a wordlist for password crackers.
csvkit
SQL on one CSV. The table name is the file stem.
dnsgen
Wordlist and mined-word subdomain permutation.
duckdb
In-process SQL on CSV, JSON, and Parquet. No server.
edge-tts
Microsoft Edge neural speech from text or a script file. No API key.
Run baksmali-disassemble yourself
Complete native Fixture.smali file from disassembling a self-owned DEX fixture. The node returns a folder; this is one file within that tree. Truncated DEX fails adapter header/checksum preflight; a checksum-consistent bad-map fixture reaches native code and fails separately.
Facts on this page come from the live Trickest tool library.