{
  "added_at": "2026-10-19",
  "additional_evidence_urls": [
    "https://github.com/CalebFenton/simplify/blob/29fb25d624aecf0b075dea5c6029b2541474ddfe/LICENSE.GPL",
    "https://github.com/CalebFenton/simplify/blob/29fb25d624aecf0b075dea5c6029b2541474ddfe/LICENSE.COMMERCIAL",
    "https://github.com/CalebFenton/simplify/blob/29fb25d624aecf0b075dea5c6029b2541474ddfe/.gitmodules",
    "https://github.com/CalebFenton/simplify/blob/29fb25d624aecf0b075dea5c6029b2541474ddfe/.travis.yml",
    "https://github.com/CalebFenton/simplify/blob/29fb25d624aecf0b075dea5c6029b2541474ddfe/smalivm/build.gradle",
    "https://github.com/CalebFenton/simplify/releases/tag/v1.3.0"
  ],
  "category": "android",
  "description_en": "Generic Android deobfuscator built on smalivm, a sandboxed Dalvik virtual machine that executes each method and records every possible register and class value along all execution paths, taking both branches when a value such as file or network input is unknown. Simplify then repeatedly applies constant propagation, dead-code removal, unreflection and peephole optimizations to the APK or DEX, which can decrypt strings and remove reflection while keeping behaviour the same; it does not rename classes or methods. smalivm can also be used as a library, and the last release adds sdbg, a step-through Smali debugger built on it.",
  "description_zh": "基于 smalivm 的通用 Android 反混淆工具。smalivm 是一个沙箱化的 Dalvik 虚拟机，会逐个执行方法并记录所有执行路径上可能的寄存器与类取值；遇到文件或网络输入等未知值时，两个分支都会执行。Simplify 随后对 APK 或 DEX 反复进行常量传播、死代码删除、反射还原和窥孔优化，可在保持行为不变的前提下解密字符串、去除反射；它不会重命名类或方法。smalivm 也可作为库使用，最新发布版还附带基于它的单步 Smali 调试器 sdbg。",
  "entry_url": "https://awesomerea.org/resources/simplify-android-deobfuscator/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/simplify-android-deobfuscator/",
  "evidence_url": "https://github.com/CalebFenton/simplify/blob/29fb25d624aecf0b075dea5c6029b2541474ddfe/README.md",
  "group": "tools",
  "id": "simplify-android-deobfuscator",
  "json_url": "https://awesomerea.org/resources/simplify-android-deobfuscator/record.json",
  "kind": "tool",
  "markdown_url": "https://awesomerea.org/resources/simplify-android-deobfuscator/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/simplify-android-deobfuscator/index.md",
  "name": "Simplify",
  "name_zh": "Simplify Android 反混淆工具",
  "record_type": "resource",
  "relationship": "foundation",
  "requirements": [
    "Development is inactive: the latest release, v1.3.0 of 2020-03-30, ships simplify, smalivm and sdbg jars, and the reviewed master commit dates from 2021-05-23. The project pins smali/dexlib2 2.4.0 and, by default, builds its Android framework reference from android-25 classes, so check results on apps that use newer DEX or API features.",
    "Run it as java -jar simplify.jar on a user-supplied APK or DEX. Building needs JDK 8, a recursive clone for the AndroidFrameworkSmali submodule of reference framework classes, and the Gradle fatjar task. Execution limits on visits, call depth and time apply per method; the README advises narrowing large apps with include and exclude patterns, and output DEX defaults to API level 15.",
    "--remove-weak, on by default, removes code even when it has weak side effects, and --ignore-errors may lead to unexpected behaviour, so compare output with the original code. The repository includes a project-provided obfuscated example app for testing; tests ran through a Travis CI configuration using Oracle JDK 8, the repository has no GitHub Actions workflow.",
    "Dual-licensed: GPL-3.0 for open-source use, or a commercial license that permits binary distribution without source redistribution. Android framework classes and dependencies keep their own terms."
  ],
  "requirements_zh": [
    "项目已不再活跃：最新发布版 v1.3.0 于 2020-03-30 发布，提供 simplify、smalivm 和 sdbg 三个 jar；所审阅的 master 分支提交日期为 2021-05-23。项目固定使用 smali/dexlib2 2.4.0，默认以 android-25 的类构建 Android 框架参考，因此分析使用较新 DEX 或 API 特性的应用时应核对结果。",
    "使用方式是对使用者自备的 APK 或 DEX 运行 java -jar simplify.jar。构建需要 JDK 8，需递归克隆 AndroidFrameworkSmali 子模块以获取参考框架类，并执行 Gradle 的 fatjar 任务。每个方法的执行受访问次数、调用深度和时间限制；README 建议对大型应用用包含与排除模式缩小范围，输出 DEX 默认 API 级别为 15。",
    "--remove-weak 默认开启，即使代码存在弱副作用也会删除；--ignore-errors 可能导致意外结果，因此应将输出与原始代码对照。仓库附带项目提供的混淆示例应用用于测试；测试曾通过使用 Oracle JDK 8 的 Travis CI 配置运行，仓库没有 GitHub Actions 工作流。",
    "采用双重许可：开源用途适用 GPL-3.0，或选择允许分发二进制但禁止再分发源码的商业许可。Android 框架类和各依赖保留各自条款。"
  ],
  "targets": [
    "app"
  ],
  "url": "https://github.com/CalebFenton/simplify",
  "verification": "source-reviewed",
  "verified_at": "2026-10-19"
}
