awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
CalebFenton avatar

CalebFenton/simplify

0
View on GitHub↗
4,644 stars·454 forks·Java·9 vues

Simplify

Simplify est une machine virtuelle Android sandbox, un traceur d'exécution de bytecode et un framework d'analyse statique. Il sert de désassembleur de bytecode Dalvik conçu pour récupérer du code lisible à partir de binaires en simulant le comportement du programme sans appareil physique.

Le projet se distingue par l'utilisation de l'analyse de graphes d'exécution pour résoudre les appels par réflexion et simplifier le code obfusqué via la propagation de constantes et la suppression de code mort. Il utilise la simulation d'exécution multi-chemins pour suivre tous les résultats possibles des branches conditionnelles et mappe le flux d'instructions pour identifier les valeurs constantes.

Le système couvre un large éventail de capacités d'analyse, notamment le traçage de la propagation des exceptions, la catégorisation des effets de bord des méthodes et la simulation d'appels d'API Java. Il fournit également des mécanismes pour intercepter les exécutions de méthodes via des hooks personnalisés afin de surveiller ou de remplacer les états de la machine virtuelle.

Features

  • Android VM Sandboxes - Implements a virtual machine environment that emulates Dalvik instructions to analyze program behavior without a physical device.
  • Android Application Reverse Engineering - Analyzes the structure and flow of Android applications by resolving reflected calls and mapping execution paths.
  • Diagnostic Execution Tracers - Tracks variable values and instruction flow to resolve reflected calls and constant values during execution.
  • Dalvik Bytecode Execution - Executes Dalvik bytecode within a virtual machine sandbox to generate execution graphs of register and class values.
  • Execution Flow Tracing - Generates a graph of instructions that tracks register states and ancestry to define the execution order.
  • Reflection Call Resolution - Identifies targets of reflected method and field lookups and replaces them with direct invocations.
  • Bytecode Emulators - Executes Android instructions in a controlled environment to analyze program behavior without a physical device.
  • Virtual Machine State Simulators - Runs specific pieces of Android code in a controlled environment to determine the values of registers and classes.
  • Deobfuscation Tools - Removes confusing or hidden code patterns from Android binaries to make the underlying logic readable.
  • Obfuscated Code Analysis - Analyzes execution graphs to perform constant propagation and dead code removal to improve bytecode readability.
  • Java Bytecode Deobfuscators - Simplifies obfuscated Android bytecode using execution graph analysis and dead code removal.
  • Multi-Path Execution Simulation - Tracks all possible outcomes of conditional branches when input arguments are unknown to produce a path graph.
  • Path-Based State Tracking - Simulates all possible conditional branch outcomes to generate a comprehensive graph of potential program execution paths.
  • Execution Graph Analysis - Maps instruction flow and register ancestry to identify constant values and remove unreachable dead code.
  • Static Analysis Frameworks - Provides a framework for simulating Java API calls and exception propagation to recover readable code from binaries.
  • Configurable Execution Sandboxes - Runs bytecode with configurable limits on call depth and instruction counts to prevent infinite loops.
  • Dynamic Class Generation - Creates realistic class objects for input bytecode files to support methods that operate on custom classes.
  • Exception Propagation Tracing - Simulates the throwing and bubbling of exceptions through the call stack to identify error handling paths.
  • Java Runtime Emulations - Executes safe Java methods using reflection to increase performance and ensure correct standard library behavior.
  • Reflection-Based API Bridging - Executes standard Java library methods via reflection to ensure behavioral correctness during virtual machine analysis.
  • Side-Effect Analysis - Categorizes instructions based on their impact on external state to determine if code can be safely removed or inlined.
  • Android - Simulates the execution of Android bytecode in a sandbox to understand malicious app behavior.
  • Loop Detection - Prevents infinite execution during simulation by applying configurable limits on instruction counts, call depth, and time.
  • Side-Effect Categorization - Classifies instructions by their impact on external state to determine if code can be safely inlined or deleted.
  • Android Obfuscation - Generic deobfuscator for Android applications.
  • Android Static Analysis Tools - Tool for de-obfuscating Android packages into dex files.
  • Reverse Engineering Tools - Generic Android deobfuscator for simplifying code.

Historique des stars

Graphique de l'historique des stars pour calebfenton/simplifyGraphique de l'historique des stars pour calebfenton/simplify

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Alternatives open source à Simplify

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Simplify.
  • charles2gan/gda-android-reversing-toolAvatar de charles2gan

    charles2gan/GDA-android-reversing-Tool

    4,778Voir sur 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
    Voir sur GitHub↗4,778
  • androguard/androguardAvatar de androguard

    androguard/androguard

    6,116Voir sur GitHub↗

    Reverse engineering and pentesting for Android applications

    Python
    Voir sur GitHub↗6,116
  • jesusfreke/smaliAvatar de JesusFreke

    JesusFreke/smali

    6,627Voir sur GitHub↗

    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 a

    Java
    Voir sur GitHub↗6,627
  • skylot/jadxAvatar de skylot

    skylot/jadx

    49,088Voir sur GitHub↗

    Jadx is a comprehensive Java decompilation suite designed to transform compiled binary application files into readable source code. It functions as a static analysis workbench, providing a graphical interface for navigating, searching, and inspecting the internal logic of complex software packages. By utilizing a bytecode-to-Java pipeline, the project reconstructs high-level logical structures from low-level binary instructions, making it a primary tool for Android application reverse engineering. The project distinguishes itself through a sophisticated control flow reconstruction engine and

    Javaandroiddecompilerdex
    Voir sur GitHub↗49,088
Voir les 30 alternatives à Simplify→

Questions fréquentes

Que fait calebfenton/simplify ?

Simplify est une machine virtuelle Android sandbox, un traceur d'exécution de bytecode et un framework d'analyse statique. Il sert de désassembleur de bytecode Dalvik conçu pour récupérer du code lisible à partir de binaires en simulant le comportement du programme sans appareil physique.

Quelles sont les fonctionnalités principales de calebfenton/simplify ?

Les fonctionnalités principales de calebfenton/simplify sont : Android VM Sandboxes, Android Application Reverse Engineering, Diagnostic Execution Tracers, Dalvik Bytecode Execution, Execution Flow Tracing, Reflection Call Resolution, Bytecode Emulators, Virtual Machine State Simulators.

Quelles sont les alternatives open-source à calebfenton/simplify ?

Les alternatives open-source à calebfenton/simplify incluent : charles2gan/gda-android-reversing-tool — This project is a comprehensive Android reverse engineering suite that functions as a decompiler, bytecode… androguard/androguard — Reverse engineering and pentesting for Android applications. jesusfreke/smali — Smali is a two-way binary translation toolset designed to convert Dalvik bytecode to human-readable assembly and back… skylot/jadx — Jadx is a comprehensive Java decompilation suite designed to transform compiled binary application files into readable… col-e/recaf — Recaf is a suite of specialized tools for assembling, editing, deobfuscating, decompiling, and instrumenting Java… apklab/apklab — APKLab is an integrated security analysis platform and reverse engineering IDE for Android applications. It provides a…