🎉限时福利
注册即送188积分⏰1月31日截止
专业 JavaScript 逆向工程与 JS解密 平台
智能解析 混淆代码,
完美还原 代码结构
jsunpack 是一款 在线JS解密工具。 通过 AI 驱动的 AST 引擎,一键还原 Webpack、Vue、React 混淆代码,智能恢复变量语义并推导 TypeScript 类型,让源码阅读更清晰、更易读。
⭐ 按 Ctrl+D 或Cmd+D 收藏本站|
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
