AI-Driven Code Reconstruction
Restore Original Logic & Structure
jsunpack is a premier online JavaScript deobfuscator. Leveraging an AI-driven AST engine, it provides one-click restoration of Webpack, Vue, and React bundles. Automatically recover variable semantics and infer TypeScript types, transforming unreadable minified code into clean, auditable source.
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));/**
* Array manipulation utility function
* @param array Array to manipulate
* @param index Operation index
* @returns Processed array
*/
function arrayManipulator<T>(
array: T[],
index: number
): T[] {
// Check array length
if (array.length === 0) {
return array;
}
// Execute array operation
if (index > 0) {
array.push(array.shift()!);
} else {
array.unshift(array.pop()!);
}
return array.slice(0);
}Code Transformation Showcase
See how our AI deobfuscator transforms minified, unreadable code into clean, structured, and auditable source with complete TypeScript definitions.
JS Code Restoration
Convert compressed, obfuscated, hard-to-read JS code into clear, structured code
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;
};
}();Ready to experience powerful code deobfuscation?
Try our AI deobfuscator now—completely free!
Long File Decompilation - Professional Grade
Beyond simple decompilation, our multi-Agent collaboration reconstructs obfuscated code into production-ready project architecture
Complete project engineering structure
Output Project Example
Reconstruct obfuscated code into complete project engineering
Project Structure
Click files to view code preview
Supported File Types
Choose Decompilation Mode
Select the appropriate decompilation mode based on your needs
Short Code Mode
Long File Mode
Long File Decompilation Workbench
Professional ModeUpload files for multi-Agent collaborative processing and complete project reconstruction
Long File Decompilation Console
Drag file here
Or click to select file
