🎉限时福利
注册即送88积分
⏰截止 7月31日
专业 JavaScript 代码可读性还原平台

智能解析 代码分析
结构还原 可读还原

jsunpack 是一款 在线代码可读性还原工具。通过 AI 辅助的 AST 引擎,帮助开发者理解 Webpack、Vue、React 等框架的构建产物,恢复语义并推导 TypeScript 类型,提高代码可读性。

⭐ 按 Ctrl+D / Cmd+D 收藏本站|
代码分析示例
// 待分析的代码
function a(b,c){return d(b-371,c)}function d(a,b){var c=e();return d=function(f,g){f=f-125;var h=c[f];return h},d(a,b)}var e=function(){var f=["shift","1780730MHUkXj","2911410RJxLsf","push","1642FxhJRJ","4uQbILO","length","2114965nzBvJF","8723208ibdPnP","splice","slice","7198824QUFSxS","9qXSdRG","1337643UWRnXL","unshift","3132900AcxLsm"];return e=function(){return f},e()}(function(b,c){var f=a,g=b();while(!![]){try{var h=-parseInt(f(384))/1+parseInt(f(382))/2*(parseInt(f(376))/3)+parseInt(f(383))/4+-parseInt(f(377))/5+parseInt(f(380))/6+parseInt(f(379))/7*(-parseInt(f(378))/8)+parseInt(f(381))/9;if(h===c)break;else g[f(385)](g[f(382)]())}catch(i){g[f(385)](g[f(382)]())}}}(e,983952));
// 可读性还原后的代码
/**
 * 数组操作工具函数
 * @param array 要操作的数组
 * @param index 操作的索引
 * @returns 处理后的数组
 */
function arrayManipulator<T>(
  array: T[],
  index: number
): T[] {
  // 检查数组长度
  if (array.length === 0) {
    return array;
  }

  // 执行数组操作
  if (index > 0) {
    array.push(array.shift()!);
  } else {
    array.unshift(array.pop()!);
  }

  return array.slice(0);
}

代码可读性还原效果展示

查看我们的智能分析引擎如何将混淆压缩后难以理解的代码还原为清晰、结构化且带有完整类型定义的高质量代码。

AI 辅助变量命名恢复

自动识别混淆后的变量名,恢复语义化命名,大幅提升代码可读性

原始代码
const a=function(){let b=!0;return function(c,d){const e=b?function(){if(d){const f=d.apply(c,arguments);return d=null,f}}:function(){};return b=!1,e}}(),c=a(this,function(){return c.toString().search("(((.+)+)+)+$").toString().constructor(c).search("(((.+)+)+)+$")});c();
可读性还原后的代码
分析完成
/**
 * Create a function that executes only once
 * @param context Function context
 * @param callback Callback function
 * @returns Processed result
 */
const createOnceFunction = function() {
  // Mark if it's the first execution
  let isFirstTime = true;

  return function(context, callback) {
    // If it's the first execution, call the callback function
    const onceExecutor = isFirstTime
      ? function() {
          if (callback) {
            const result = callback.apply(context, arguments);
            // Clear reference to help garbage collection
            callback = null;
            return result;
          }
        }
      : function() {};

    // Set to not first time
    isFirstTime = false;
    return onceExecutor;
  };
}();

准备好体验代码可读性还原了吗?

立即尝试我们的代码可读性还原工具,完全免费!

长文件可读性还原 - 专业级能力

超越简单代码解析,通过 Agent 协同技术,将构建产物还原为可分析的工程结构

常见问题解答

QA问答

关于长文件可读性还原的常见问题解答

我可以分析哪些类型的代码?

支持对常见 JavaScript 构建产物进行可读性还原,包括单文件或打包后的 JS,兼容 Webpack、Vite、Rollup 等主流构建工具生成的代码。

分析一份项目文件能生成什么?

可将打包后的代码还原为完整的项目工程结构,自动识别并拆分第三方依赖与业务代码,输出可读、可分析、可继续研究的工程结构。

还原后的项目质量如何?能直接运行吗?

生成的项目不可直接运行,但已尽可能还原出清晰、可读、可分析的工程结构。在当前技术条件下最大程度拆分模块、识别第三方依赖与业务逻辑,分析结果更接近真实项目形态,适合代码阅读、逻辑研究与学习参考。

支持多大的文件进行分析?

单个文件当前支持最大 5MB。更大的文件或完整项目可通过定制方式处理,请联系作者。

代码分析是免费的吗?

注册后提供一定的免费使用额度,小体积文件可在额度内完整分析。超出免费额度或较大文件通常需要付费。

分析结果可以用于二次开发吗?

可读性还原结果主要用于学习、分析与研究。本工具仅对浏览器公开的前端代码进行可读性还原,产出不可直接运行。如您已获得授权,可以按照如下方式参考使用:1)先阅读分析产物,快速理解项目整体架构与业务实现逻辑; 2)基于自身技术栈重新创建新项目; 3)将还原出的业务组件或核心逻辑进行学习参考、或适配性迁移,在此基础上进行开发,通常比从零搭建效率更高。

大约多久可以完成分析?

处理时间与文件体积和复杂度相关。一般情况下:1MB 以下约 30 分钟–1 小时,2MB 约 2–4 小时,3–5MB 约 5–20 小时。高峰时段可能需要排队,整体耗时会相应延长。

选择分析模式

根据您的需求选择合适的分析模式

免费使用

短代码模式

适合处理小于10KB的代码片段,快速获得清晰的分析结果
专业版

长文件模式

支持最大5MB文件,通过多Agent协同技术重构为完整项目

长文件分析工作台

专业模式

上传您的代码文件,享受多 Agent 协同处理和完整工程结构还原服务查看示例产出

长文件分析控制台

拖拽文件到这里

或者点击选择文件

支持格式: .js, .jsx, .ts, .tsx
文件大小限制: 1KB - 5MB