Android

What are smali and baksmali?

Tools for inspecting packages, source code and binaries.

Analysis tools1 min readEditorial methods

smali and baksmali support inspection at the DEX level. Focus on how a critical control is used within a workflow, beyond the readability of the representation.

Evaluation approach

Examine instructions left ambiguous by a higher-level decompiler. Check the project version and supported DEX features.

Application example

Inspect how a condition in your application becomes compiled instructions to clarify a security assessment.

Limits and considerations

Bytecode changes affect packaging and signatures. Keep modified test artifacts separate from originals.

When to move to bytecode

DEX instructions can clarify a condition or call that remains ambiguous in higher-level output. Do not infer a business outcome from one instruction without understanding registers and branches. Method inputs and calling context matter too.

For authorized modifications, retain separate identities for original and changed files. Include repackaging and signature differences in the report, or the cause of changed application behavior may remain unclear.

Checks and decisions

  • Retain original files
  • Read instruction context
  • Verify version compatibility

These tools support detailed analysis; they do not add production protection.

Sources

The primary references above provide the technical basis. Example workflows and evaluation suggestions are this publication’s explanations, not independent test results for a particular product.