Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/lolcaken/javascript-deobfuscator
التحليل الثابتتحليل الكودتحليل الشفرة الديناميكي (DAST)الهندسة العكسيةالبرمجة النصية والأتمتةتحليل البرمجيات الخبيثةالأدوات والمكونات
GitHub

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
lolcaken/javascript-deobfuscator

javascript-deobfuscator

مزيل التشويش لمخرجات javascript-obfuscator 5.x (مصفوفات النصوص، تسطيح تدفق التحكم، الحماية الذاتية، RC4/base64)

عرض المستودع
24منذ 12س 41دلم تتم المراجعة بعد
مشاركة

javascript-deobfuscator

أداة إزالة التشويش لمخرجات javascript-obfuscator 5.x. أعطها JavaScript مشوّشًا، واحصل على JavaScript مقروء يعمل بنفس الطريقة.

الإعداد

يتطلب Node 18+.

git clone https://github.com/lolcaken/javascript-deobfuscator.git
cd javascript-deobfuscator
npm install
npm run build

الاستخدام

إزالة التشويش عن ملف (يكتب <name>.deob.js بجانب المدخل ما لم يتم تحديد -o):

node dist/src/cli.js input.ob.js -o output.js --stats

الخيارات:

الخيارالتأثير
-o <file>مسار الإخراج (افتراضي: <input>.deob.js)
--no-renameالإبقاء على معرّفات _0x… بدلًا من إعادة تسميتها
--statsطباعة ما غيّرته كل مرحلة
-hالاستخدام

أو بعد npm link، من أي مكان:

deobfuscate input.ob.js -o output.js

استخدمها كمكتبة:

import { deobfuscate } from 'javascript-deobfuscator';

const { code, stats } = deobfuscate(obfuscatedSource, { rename: true });
console.log(code);

التثبيت من npm بعد النشر:

npm install javascript-deobfuscator

مثال

المدخل — test/fixtures/source.js مشوّش باستخدام javascript-obfuscator (مصفوفات نصية + تدوير، نصوص مقسّمة، تسطيح تدفق التحكم، حقن كود ميت، تحويلات مفاتيح الكائنات، تعبيرات رقمية)، 3690 بايت من هذا:

function _0x54b6(_0xb7919b,_0x500140){_0xb7919b=_0xb7919b-(0x1f8d+-0x1*-0xb9d+0x2a06*-0x1);const _0x229d59=_0x1598();let _0x3ccc27=_0x229d59[_0xb7919b];return _0x3ccc27;}const _0x822f89=_0x54b6;function _0x1598(){const _0x23b861=['com/','http','ies','log','join','uiXo','alic','fqAn','oint','bob','2zqCUix','PJTj','3161739tTCvqO','?r=','5dPKAUt','727970ZDbPoX','ple.','caro','neg','s://',…];_0x1598=function(){return _0x23b861;};return _0x1598();}(function(_0x5e6e6e,_0x257dcb){const _0x5ed3d4=_0x54b6,_0x860095=_0x5e6e6e();while(!![]){try{const _0x44a344=-parseInt(_0x5ed3d4(0x138))/(0xb*-0x281+0x1c08+0x2*-0x3e)+…;if(_0x44a344===_0x257dcb)break;else _0x860095['push'](https://github.com/lolcaken/javascript-deobfuscator/blob/main/_0x860095%5B%27shift%27%5D%28));}catch(_0x1f2aee){_0x860095['push'](https://github.com/lolcaken/javascript-deobfuscator/blob/main/_0x860095%5B%27shift%27%5D%28));}}}(_0x1598,…));const greeting=_0x822f89(0x12e)+'o';function greet(_0x35652d){…}const users=[_0x822f89(0x12c)+'e',_0x822f89(0x12d),_0x822f89(0x138)+'l'];

(الملف المشوّش الكامل موجود في test/fixtures/demo.ob.js.)

المخرج — 2359 بايت، يعمل بشكل مطابق:

const greeting = "Hello";
function greet(p) {
  const q = f,
    r = {};
  r[q(0x12b) + 'i'] = function (u, v) {
    return u + v;
  }, r[q(0x140) + 'X'] = function (w, x) {
    return w + x;
  };
  const s = r,
    t = s[q(0x12b) + 'i'](https://github.com/lolcaken/javascript-deobfuscator/blob/main/s%5Bq%280x12b) + 'i'](s[q(0x140) + 'X'](https://github.com/lolcaken/javascript-deobfuscator/blob/main/greeting%2C ",\x20"), p), '!');
  return t;
}
const users = ["alice", "bob", "carol"];
let total = 0;
for (let i = 0; i < users.length; i++) {
  total += users[i].length, console.log(greet(users[i]));
}

(المخرج الكامل: test/fixtures/demo.deob.js.)

كلاهما يطبع:

Hello, alice!
Hello, bob!
Hello, carol!
https://api.example.com/v1?r=3 13 zero|pos|pos

ما الذي تتعامل معه

  • مصفوفات نصية (عادية، base64، RC4) مع حلقات تدوير، أغلفة فك التشفير، تحويل الاستدعاءات، النصوص المقسّمة
  • تسطيح تدفق التحكم (while(true){switch…})، حقن الكود الميت
  • دوال/كائنات وسيطة، تحويلات مفاتيح الكائنات، تعبيرات رقمية
  • الحماية الذاتية / حماية التصحيح / تعطيل مخرجات وحدة التحكم (تتم إزالتها)
  • إعادة تسمية _0x… الواعية بالنطاق

الاختبارات

يقوم npm test بتشويش برامج عيّنة باستخدام javascript-obfuscator 5.9.0 ضمن ثلاثة إعدادات مسبقة (افتراضي، متوسط، ثقيل) ويتحقق من أن الكود بعد إزالة التشويش يطبع مخرجات مطابقة ويعاد تحليله بشكل سليم. حاليًا 9/9.

الترخيص

ISC — انظر LICENSE.

تنزيل الأداة