Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
jadx-magic-strings — 一款 JADX 插件,可从 DEX 文件和反编译的 Android 代码中的字符串常量里提取方法名、类引用和源文件路径。 | Kitploit
工具/GitHubGitHub/0rshemesh/jadx-magic-strings
Android安全静态分析代码分析逆向工程信息收集恶意软件分析移动安全二进制分析
GitHub0rshemesh/jadx-magic-strings

jadx-magic-strings

一款 JADX 插件,可从 DEX 文件和反编译的 Android 代码中的字符串常量里提取方法名、类引用和源文件路径。

查看仓库
399个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

JADX Magic Strings 插件

一个从字符串常量中提取信息的 JADX 插件。

功能

该插件从反编译代码中提取并分析字符串常量,以发现:

  1. 源文件引用:检测字符串常量中对 Java/Kotlin 源文件(.java、.kt、.kts、.scala、.groovy)的引用
  2. 方法名候选:使用正则表达式模式从字符串中识别潜在的方法名
  3. 字符串分析:收集所有字符串常量及其关联的方法和类

安装

选项 1:从 GitHub 安装(推荐)

如果此插件已发布到 GitHub,你可以直接安装:

root@kitploit:~
jadx plugins --install "github:0rshemesh:jadx-magic-strings"

选项 2:从源码构建并安装

  1. 克隆仓库:

    root@kitploit:~
    git clone https://github.com/0rshemesh/jadx-magic-strings.git
    cd jadx-magic-strings
    
  2. 构建插件:

    root@kitploit:~
    ./gradlew build
    
  3. 安装插件:

    root@kitploit:~
    jadx plugins --install-jar build/libs/jadx-magic-strings-1.0.1.jar
    

    或者手动将 JAR 复制到 JADX 插件目录:

    • Linux/Mac:~/.local/share/jadx/plugins/dropins/
    • Windows:%APPDATA%\jadx\plugins\dropins\

构建插件

插件可以独立构建:

root@kitploit:~
./gradlew build

插件 JAR 将生成于:

root@kitploit:~
build/libs/jadx-magic-strings-1.0.1.jar

要求:

  • Java 11 或更高版本
  • Gradle(或使用随附的 Gradle wrapper:./gradlew)

使用方法

在 JADX GUI 中

  1. 安装插件(参见上方「安装」部分)

  2. 运行 JADX GUI:

    root@kitploit:~
    jadx-gui
    
  3. 在 JADX GUI 中打开你的 APK/DEX 文件

  4. 等待反编译完成(插件会在反编译后自动运行)

  5. 访问插件:

    • 在菜单栏中转到**「插件」(Plugins)**菜单
    • 点击 "Magic Strings: Show Results"
    • 将打开一个包含多个选项卡的对话框窗口:
      • 源文件(Source Files):树状视图,显示检测到的源文件路径及其引用
      • 顶级候选 + 源文件(Top Candidates + Source Files):按源文件分组的高分方法候选组合视图
      • 方法候选(已过滤)(Method Candidates (Filtered)):表格,显示过滤后的方法名候选
      • 全部字符串(All Strings):表格,显示所有提取的字符串常量

Magic Strings 插件示例

在 JADX CLI 中

插件会在反编译期间自动运行,但没有用于查看结果的 CLI 界面。请使用 GUI 查看提取的信息。

工作原理

  1. 反编译完成后,插件会扫描所有类中的所有方法
  2. 提取字符串常量:从指令节点(CONST_STR 指令)中提取
  3. 分析字符串,使用以下正则表达式模式:
    • 源文件:匹配以 .java、.kt 等结尾的文件路径
    • 方法名:匹配类似方法名的驼峰式命名模式
  4. 将结果存储到可通过 GUI 访问的数据结构中

示例用例

  • 逆向工程:查找可能揭示项目结构的原始源文件名
  • 反混淆:从调试字符串或错误消息中识别方法名
  • 代码分析:理解字符串与方法之间的关系
  • 恶意软件分析:提取可能指示功能的有趣字符串

局限性

  • 插件仅在反编译完成后才会运行
  • 字符串提取取决于被反编译的代码(某些混淆代码可能没有可访问的字符串)
  • 方法名检测使用启发式规则,可能产生误报
  • 源文件检测依赖于包含文件路径的字符串(并非始终存在)

故障排查

插件未出现在菜单中:

  • 确保插件已正确安装
  • 检查插件 JAR 是否在插件目录中
  • 验证服务文件是否存在:META-INF/services/jadx.api.plugins.JadxPlugin
  • 确保你使用的是兼容的 JADX 版本(1.5.2 及以上)

未显示结果:

  • 代码可能不包含相关字符串
  • 尝试反编译其他 APK/DEX 文件
  • 某些混淆代码可能没有可提取的字符串

构建错误:

  • 确保你使用的是 Java 11 或更高版本
  • 运行 ./gradlew clean build 重新构建所有内容
  • 检查 build.gradle.kts 中的 JADX 版本是否与 Maven Central 上可用的版本匹配

作者

由 0rshemesh 创建并维护。

  • GitHub:@0rshemesh
  • 仓库:jadx-magic-strings
  • 邮箱:[email protected]

许可证

本插件采用 Apache License 2.0 许可证。详情请参阅 LICENSE 文件。

下载工具