Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
FlowName — 下一代 JavaScript 标识符恢复,借助 LLMs。 | Kitploit
工具/GitHubGitHub/123wwwa/flowname
静态分析代码分析逆向工程机器学习AI 辅助逆向AI 安全
GitHub123wwwa/flowname

FlowName

下一代 JavaScript 标识符恢复,借助 LLMs。

查看仓库
9967天前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站

FlowName

FlowName 字标,相连的标识符变为有意义的名称

FlowName 与 Humanify 在 API 调用次数、总 token 数和变量名质量上的对比,基于两项实测比较

名称质量显示的是仅被自动化、未校准的 Jev 评估所偏好的名称比例。动态图表 → · 精确计数、方法与局限性 →

在浏览器中试用 FlowName → — 输入你的 JavaScript、API 密钥和模型;无需安装。

CLI: npx --yes --package=flowname@latest flowname input.js(请先设置 GEMINI_API_KEY)。

FlowName 是面向混淆 JavaScript 的下一代语义标识符恢复器。通过基于 AST 的静态分析将逻辑相关的变量分组到预算受限的 LLM 请求中,FlowName 消除了朴素文本窗口方法中常见的上下文丢失幻觉。

在针对 Cigar 和 GrobPaint 上领先的基于符号的工具(Humanify)的两项直接基准测试中,FlowName 取得了以下平均相对结果:

  • ⚡ 执行速度提升 82%,得益于关系引导的请求批处理。
  • 💰 Token 成本降低 33%,通过消除重叠的上下文膨胀。
  • 🎯 更高的语义精度,原始名称精确匹配率提高 85%,证明有保证的 AST 上下文可防止 LLM 幻觉。

在针对 GrobPaint 的 1,786 个匿名绑定的第二项比较中,FlowName 使用了 408 次对 1,786 次 API 调用,总 token 数减少 29.36%;原始源码感知的 Jev 给出了 512 对 274 的独占偏好。

浏览基准测试摘要和两份可搜索的名称报告。 Jev 的判断是自动化且未校准的。Humanify 的提示词省略了部分绑定的目标拼写,而防冲突后缀可能影响应用名称得分。有关上下文拆分和局限性,请参阅摘要。

运行

在当前目录的环境变量或 .env 文件中设置 GEMINI_API_KEY(或 FLOWNAME_API_KEY),然后运行:

npx --yes --package=flowname@latest flowname input.js

要使用另一个兼容 OpenAI 的端点,或跳过环境变量,请将所有内容作为标志传递:

npx --yes --package=flowname@latest flowname input.js --base-url https://api.openai.com/v1 --model MODEL --api-key YOUR_API_KEY

标志优先,其次是环境变量,最后是 .env;当它们不一致时,CLI 会发出警告。通过标志传入的密钥可能会在 shell 历史和进程列表中可见。

在花费任何费用之前先检查成本,或者先尝试大文件的一小部分:

flowname input.js --dry-run              # planned API calls and prompt bytes; no key needed
flowname input.js --sample-requests 3    # send only the first 3 planned requests
flowname - -o - < input.js > output.js   # standard input to standard output

CLI 会将恢复后的代码写入新的 flowname-output-TIMESTAMP-ID/output.js 目录。添加 --report 可在实时 HTML 报告中查看每个请求和建议的名称。默认 Gemini 模型无需任何标志。需要 Node.js 22.8+。

在浏览器中,打开 playground,粘贴 JavaScript,提供你自己的 API 密钥并开始恢复。请求会直接从你的浏览器发送到所选提供商;Stop 会中断运行。

适用场景

FlowName 负责为标识符命名;它不会解包 bundle 或撤销结构性混淆。对于受支持的混淆模式,请使用 webcrack;对于受支持的 bundle,请使用 Wakaru,然后将生成的 JavaScript 交给 FlowName。它会解析词法绑定,使用轻量关系和同作用域回退来对目标进行分组,并在每次请求中向 LLM 询问多个名称。查看分组工作原理。

作为库使用

npm install flowname
import { readFile } from 'node:fs/promises';
import { recoverNames, createProvider } from 'flowname';

const sourceCode = await readFile('./input.js', 'utf8');
const provider = createProvider({
  provider: 'gemini',
  model: 'gemini-3.5-flash-lite',
  apiKey: process.env.GEMINI_API_KEY,
});
const result = await recoverNames(sourceCode, { provider });
console.log(result.code);

有关选项、CLI 报告和完整库示例,请参阅使用指南。文档索引涵盖了方法、架构、局限性、先前工作以及Humanify 对比。

依据 MIT 许可发布。请参阅发布说明。

下载工具