awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
JesusFreke avatar

JesusFreke/smali

0
View on GitHub↗
6,627 stars·1,111 forks·Java·22 views

Smali

Smali is a two-way binary translation toolset designed to convert Dalvik bytecode to human-readable assembly and back again. It provides a mechanism for the disassembly and assembly of executable files used in virtual machine environments.

The project enables the modification of compiled Android application logic by transforming binary files into editable assembly and rebuilding them. It is used for reverse engineering, malware analysis, and the study of low-level instructions to identify program behavior or security flaws.

The toolkit covers binary construction through smali code assembly and detailed Dalvik analysis. This includes the translation of binary fields, method signatures, and type descriptors into text, as well as register allocation and the preservation of annotations and debug information during disassembly.

Features

  • Binary-to-Markup Translation - Provides a two-way translation between Dalvik binary bytecode and human-readable assembly representations.
  • Bytecode Analysis - Examines low-level Dalvik instructions to understand program behavior or identify security flaws.
  • Bytecode Disassemblers - Disassembles Dalvik bytecode into human-readable assembly while preserving annotations and debug information.
  • Opcode Mappings - Implements translation tables that map assembly mnemonics to specific Dalvik binary opcodes.
  • Android App Modifications - Enables the modification of compiled Android application logic by transforming binaries to editable assembly.
  • Binary Assembly - Transforms human-readable assembly instructions back into executable Dalvik binary files.
  • Binary Signature Resolution - Maps binary method signatures and field definitions into structured text for analysis and editing.
  • Symbolic Type Translation - Translates binary type descriptors into readable strings for classes, arrays, and primitive types.
  • Virtual Register Allocation - Assigns virtual registers to handle local variables and method parameters during bytecode assembly.
  • Android Application Reverse Engineering - Converts Dalvik bytecode into readable assembly to analyze the internal functioning of Android applications.
  • Manual Register Allocation - Assigns specific numbers of registers to methods to manage variables and incoming parameters.
  • Binary Field Textualization - Converts binary field definitions into text strings specifying the containing class and field type.
  • Binary Method Textualization - Translates binary method signatures and return values into verbose text to facilitate static analysis.
  • Binary Type Textualization - Maps primitive types, objects, and multi-dimensional arrays from binary formats into human-readable text.
  • Annotation Preservation - Preserves critical metadata and debug information during the disassembly of Dalvik bytecode.
  • Android - Decompiles suspicious Android binaries into a human-readable format to identify malicious code patterns.
  • Reverse Engineering Projects - Assembler and disassembler for Dalvik bytecode.
  • Reverse Engineering Tools - Tools for assembling and disassembling Dalvik bytecode.
  • Static Analysis Tools - Assembler and disassembler for the dex format.

Star history

Star history chart for jesusfreke/smaliStar history chart for jesusfreke/smali

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Smali

These projects share indexed features with Smali. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • androguard/androguardandroguard avatar

    androguard/androguard

    6,116View on GitHub↗

    Reverse engineering and pentesting for Android applications

    Python
    View on GitHub↗6,116
  • calebfenton/simplifyCalebFenton avatar

    CalebFenton/simplify

    4,644View on GitHub↗

    Simplify is an Android virtual machine sandbox, bytecode execution tracer, and static analysis framework. It serves as a Dalvik bytecode deobfuscator designed to recover readable code from binaries by simulating program behavior without a physical device. The project distinguishes itself by using execution graph analysis to resolve reflection calls and simplify obfuscated code through constant propagation and dead code removal. It employs multi-path execution simulation to track all possible conditional branch outcomes and maps instruction flow to identify constant values. The system covers

    Java
    View on GitHub↗4,644
  • revanced/revanced-patcherReVanced avatar

    ReVanced/revanced-patcher

    3,397View on GitHub↗

    The ReVanced Patcher is a framework designed for modifying compiled Android application binaries. It functions as an engine for injecting custom code, altering bytecode, and updating resources directly within package files without requiring access to the original source code. The project distinguishes itself through a modular system that organizes modifications into independent, reusable units. These patches are managed through a dependency-aware execution process that ensures modifications are applied in the correct order, allowing for consistent behavior changes across different application

    Kotlinaaptandroidandroid-runtime
    View on GitHub↗3,397
  • charles2gan/gda-android-reversing-toolcharles2gan avatar

    charles2gan/GDA-android-reversing-Tool

    4,778View on GitHub↗

    This project is a comprehensive Android reverse engineering suite that functions as a decompiler, bytecode deobfuscator, and malware analysis tool. It is designed to convert APK, DEX, and OAT binaries into human-readable source code using a native implementation that does not require a Java Virtual Machine. The platform is distinguished by its integration with Frida for dynamic analysis, allowing users to hook methods, inject custom JavaScript, and dump device memory in real time. It also features specialized security engines, including a taint propagation engine and a stack-state machine, to

    Pythondecompilermalware-analysismobile-security
    View on GitHub↗4,778
Compare all 30 related projects→

Frequently asked questions

What does jesusfreke/smali do?

Smali is a two-way binary translation toolset designed to convert Dalvik bytecode to human-readable assembly and back again. It provides a mechanism for the disassembly and assembly of executable files used in virtual machine environments.

What are the main features of jesusfreke/smali?

The main features of jesusfreke/smali are: Binary-to-Markup Translation, Bytecode Analysis, Bytecode Disassemblers, Opcode Mappings, Android App Modifications, Binary Assembly, Binary Signature Resolution, Symbolic Type Translation.

Which projects share features with jesusfreke/smali?

Projects with overlapping indexed features include: androguard/androguard — Reverse engineering and pentesting for Android applications. calebfenton/simplify — Simplify is an Android virtual machine sandbox, bytecode execution tracer, and static analysis framework. It serves as… revanced/revanced-patcher — The ReVanced Patcher is a framework designed for modifying compiled Android application binaries. It functions as an… charles2gan/gda-android-reversing-tool — This project is a comprehensive Android reverse engineering suite that functions as a decompiler, bytecode… pkivolowitz/asm_book — This project is an ARMv8 assembly programming guide and tutorial designed to teach the translation of high-level logic… google/android-classyshark — Android Classyshark is a binary analysis toolset designed to extract structural data from Android executable files. It…