工具
dalvikus Android 逆向与 smali 编辑工具
基于 Kotlin Compose Multiplatform 的桌面端 Android 逆向与修改工作台。它可打开 APK 和 DEX 文件,无需手动解包即可将 APK 内的 DEX 类作为 smali 编辑,提供语法高亮和代码补全,并可显示由 JADX、CFR 或 Vineflower 反编译出的 Java 代码。它还能通过 apktool 浏览资源和 XML 文件,在类树、字符串常量以及方法和字段引用中搜索,用 apksig 和 zipalign 为修改后的 APK 重新签名,并通过 ADB 将其安装到已连接的设备上运行。
- 目标
- 应用
- 类别
- Android 工具
- 关联
- 基础工具
- 来源复核于
使用条件与局限
- 审阅时最新版本为 v1.0.13,发布于 2025-10-16,提供 macOS dmg、Windows exe 与 msi 安装包以及 Linux amd64 deb 包。所审阅的 master 提交(2026-02-16)比该版本多一个提交,修改了文件树的拖放功能;README 提醒截图可能随项目演进而变化。
- README 要求在 Windows、Linux 或 macOS 上使用 JDK 11 或更高版本;发布工作流用 Java 17 打包,从源码运行则执行 ./gradlew :composeApp:run。ADB 部署和 APK 签名需要包含 platform-tools 与 build-tools 的 Android SDK,可通过 ANDROID_HOME 或 ANDROID_SDK_ROOT 定位,也可在应用设置中指定;签名使用使用者自备的密钥库。
- 输入为使用者自备的 APK 或 DEX 文件。固定版本的依赖库包括 smali/baksmali 3.0.9、JADX 1.5.2、CFR 0.152、Vineflower 1.11.1、dex2jar 2.4.32、apktool 2.12.0、apksig 和 ddmlib;代码树中提交了 Gradle wrapper JAR、由 ANTLR 生成的 Java 词法与语法分析器源码以及 Monaspace Neon Frozen 字体文件,界面提供英语、德语、中文和印地语。
- 采用 GPL-3.0 许可;README 称该工具仅用于合乎道德的用途。未发现测试套件,CI 只负责打包发布。本次未构建或运行该应用,也未反编译、修改或部署任何 APK。
关于此条目
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。
一手来源
- README.MD GitHub · loerting/dalvikus · 修订 931cbf3
- gradle/libs.versions.toml GitHub · loerting/dalvikus · 修订 931cbf3
- composeApp/build.gradle.kts GitHub · loerting/dalvikus · 修订 931cbf3
- composeApp/src/commonMain/kotlin/me/lkl/dalvikus/decompiler GitHub · loerting/dalvikus · 修订 931cbf3
- composeApp/src/commonMain/kotlin/me/lkl/dalvikus/tools/ApkSigner.kt GitHub · loerting/dalvikus · 修订 931cbf3
- composeApp/src/commonMain/kotlin/me/lkl/dalvikus/tools/SdkLocator.kt GitHub · loerting/dalvikus · 修订 931cbf3
- composeApp/src/commonMain/kotlin/me/lkl/dalvikus/tools/AdbDeployer.kt GitHub · loerting/dalvikus · 修订 931cbf3
- .github/workflows/release.yml GitHub · loerting/dalvikus · 修订 931cbf3
- LICENSE GitHub · loerting/dalvikus · 修订 931cbf3
- https://github.com/loerting/dalvikus/releases/tag/v1.0.13