🎉限时福利
注册即送188积分
1月31日截止
专业 JavaScript 逆向工程与 JS解密 平台

智能解析 混淆代码,
完美还原 代码结构

jsunpack 是一款 在线JS解密工具。 通过 AI 驱动的 AST 引擎,一键还原 Webpack、Vue、React 混淆代码,智能恢复变量语义并推导 TypeScript 类型,让源码阅读更清晰、更易读。

⭐ 按 Ctrl+DCmd+D 收藏本站|
https://avatars.githubusercontent.com/u/50286783?v=4
https://avatars.githubusercontent.com/u/2120155?s=64&v=4
https://avatars.githubusercontent.com/u/25892025?u=eb198d464586e68abd5e6778ee581a475bbc5259&v=4&size=64
https://avatars.githubusercontent.com/u/23046078?v=4
https://avatars.githubusercontent.com/u/32786500?s=48&v=4
3,000+ 开发者正在使用
代码转换示例
// 混淆后的代码
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反编译器如何将混淆、难以理解的代码转换为清晰、结构化且带有完整类型定义的高质量代码。

混淆JS代码还原

将压缩混淆后难以阅读的JS代码转换为清晰、结构化的代码

混淆前的代码
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();
反编译后的代码
优化完成
/**
 * 创建一个只执行一次的函数
 * @param context 函数上下文
 * @param callback 回调函数
 * @returns 处理后的结果
 */
const createOnceFunction = function() {
  // 标记是否是第一次执行
  let isFirstTime = true;
  
  return function(context, callback) {
    // 如果是第一次执行,则调用回调函数
    const onceExecutor = isFirstTime 
      ? function() {
          if (callback) {
            const result = callback.apply(context, arguments);
            // 清除引用,帮助垃圾回收
            callback = null;
            return result;
          }
        } 
      : function() {};
      
    // 设置为非第一次
    isFirstTime = false;
    return onceExecutor;
  };
}();

准备好体验强大的代码反编译了吗?

立即尝试我们的AI代码反编译工具,完全免费!

长文件反编译 - 专业级能力

超越简单代码解析,通过Agent协同技术,将混淆代码重构为完整项目工程

完整项目工程结构

产出项目示例

将混淆代码重构为完整项目工程

项目结构

decompiled-project(5)
src(4)
components(2)
utils(2)
main.js
App.vue
package.json
README.md
vite.config.js
.gitignore

点击文件查看代码预览

支持的文件类型

JavaScript
多文件
TypeScript
类型完整
Vue.js
组件化
React
Hooks支持
HTML/CSS
样式分离
配置文件
自动生成

选择反编译模式

根据您的需求选择合适的反编译模式

免费使用

短代码模式

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

长文件模式

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

长文件反编译工作台

专业模式

上传您的代码文件,享受多Agent协同处理和完整项目重构服务

长文件反编译控制台

拖拽文件到这里

或者点击选择文件

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