whatisgithub

What is dalvik-baksmali?

tylertreat/dalvik-baksmali — explained in plain English

Analysis updated 2026-07-25 · repo last pushed 2013-01-06

7JavaAudience · researcherComplexity · 3/5DormantSetup · moderate

In one sentence

A tool that takes apart Android app files and converts them into a readable format so you can inspect how the app works. It runs directly on Android devices, not just on a desktop computer.

Mindmap

mindmap
  root((repo))
    What it does
      Decodes Android app files
      Converts DEX to smali
      Runs on Android devices
    Tech stack
      Java
      Android
    Use cases
      Security analysis
      Reverse engineering
      Debugging app builds
    Audience
      Security researchers
      Curious developers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Inspect an Android app to see if it is secretly sending user data to an unknown server.

USE CASE 2

Take apart your own app build to debug or analyze its compiled code.

USE CASE 3

Reverse engineer an Android app to understand how it works under the hood.

What is it built with?

JavaAndroid

How does it compare?

tylertreat/dalvik-baksmaliandroid-hacker/xposedwechathelperfiberjw/chat.cool
Stars777
LanguageJavaJavaJava
Last pushed2013-01-062018-03-132017-04-17
MaintenanceDormantDormantDormant
Setup difficultymoderatehardmoderate
Complexity3/53/53/5
Audienceresearcherdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires setting up an Android project and integrating the library to run on a device or emulator.

No license information is provided, so assume all rights are reserved by the author.

So what is it?

Dalvik-Baksmali is a tool that takes apart Android app files so you can see what's inside them. When developers build an Android app, their code gets compiled into a compact format called DEX, which is optimized to run on phones but is nearly impossible for a human to read. This library reverses that process, converting the compiled DEX file back into a more readable, assembly-like language called smali. To picture what this means, imagine you have a finished book that's been printed in tiny, encrypted text. This tool is like a decoder that translates that text back into something a person can actually sit down and study. It doesn't perfectly reconstruct the original source code the developer wrote, but it produces a detailed breakdown of the app's instructions that someone with the right skills can follow. This would be useful for security researchers, reverse engineers, or curious developers who want to understand how an Android app works under the hood. For example, if a security analyst needs to check whether an app is doing something suspicious, like secretly sending user data to an unknown server, they could use this to take the app apart and inspect its behavior. App developers might also use it to debug or analyze their own builds. What makes this project a bit unusual is that it packages the disassembly process as an Android library, meaning it's designed to run within Android apps themselves. Most tools like this are used on a desktop computer, but this one is built to work directly on a phone or tablet. Beyond that high-level summary, the README doesn't go into detail about specific features, setup instructions, or tradeoffs.

Copy-paste prompts

Prompt 1
How do I use the dalvik-baksmali library to disassemble a DEX file into smali code inside my Android app?
Prompt 2
Write example code showing how to call dalvik-baksmali from an Android activity to convert a DEX file to readable smali.
Prompt 3
What is the difference between dalvik-baksmali running on-device versus using baksmali on a desktop, and when should I choose on-device disassembly?

Frequently asked questions

What is dalvik-baksmali?

A tool that takes apart Android app files and converts them into a readable format so you can inspect how the app works. It runs directly on Android devices, not just on a desktop computer.

What language is dalvik-baksmali written in?

Mainly Java. The stack also includes Java, Android.

Is dalvik-baksmali actively maintained?

Dormant — no commits in 2+ years (last push 2013-01-06).

What license does dalvik-baksmali use?

No license information is provided, so assume all rights are reserved by the author.

How hard is dalvik-baksmali to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is dalvik-baksmali for?

Mainly researcher.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.