awesome-repositories.com
博客
MCP
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目MCP 服务器关于排名机制媒体报道
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
JesusFreke avatar

JesusFreke/smali

0
View on GitHub↗
6,627 星标·1,111 分支·Java·10 次浏览

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 历史

jesusfreke/smali 的 Star 历史图表jesusfreke/smali 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

常见问题解答

jesusfreke/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.

jesusfreke/smali 的主要功能有哪些?

jesusfreke/smali 的主要功能包括:Binary-to-Markup Translation, Bytecode Analysis, Bytecode Disassemblers, Opcode Mappings, Android App Modifications, Binary Assembly, Binary Signature Resolution, Symbolic Type Translation。

jesusfreke/smali 有哪些开源替代品?

jesusfreke/smali 的开源替代品包括: 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…

Smali 的开源替代方案

相似的开源项目,按与 Smali 的功能重合度排序。
  • androguard/androguardandroguard 的头像

    androguard/androguard

    6,116在 GitHub 上查看↗

    Reverse engineering and pentesting for Android applications

    Python
    在 GitHub 上查看↗6,116
  • calebfenton/simplifyCalebFenton 的头像

    CalebFenton/simplify

    4,644在 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
    在 GitHub 上查看↗4,644
  • revanced/revanced-patcherReVanced 的头像

    ReVanced/revanced-patcher

    3,397在 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
    在 GitHub 上查看↗3,397
  • charles2gan/gda-android-reversing-toolcharles2gan 的头像

    charles2gan/GDA-android-reversing-Tool

    4,778在 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
    在 GitHub 上查看↗4,778
  • 查看 Smali 的所有 30 个替代方案→