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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
disrobe — مجموعة أدوات Rust CLI تقوم بفك الترجمة الساكن، وإزالة التشويش، وفك حزم الكود الأصلي، والبايت كود، والسكريبتات، والبرامج الثابتة، وحزم التطبيقات عبر أكثر من 15 نظاماً بيئياً من خلال خط أنابيب تلقائي واحد. | Kitploit
أدوات/GitHubGitHub/1-3-7/disrobe
أمان أندرويدالتحليل الثابتالهندسة العكسيةتحليل البرمجيات الخبيثةأمن الجوالتحليل الملفات الثنائيةتحليل البرامج الثابتة
GitHub1-3-7/disrobe

disrobe

مجموعة أدوات Rust CLI تقوم بفك الترجمة الساكن، وإزالة التشويش، وفك حزم الكود الأصلي، والبايت كود، والسكريبتات، والبرامج الثابتة، وحزم التطبيقات عبر أكثر من 15 نظاماً بيئياً من خلال خط أنابيب تلقائي واحد.

عرض المستودع
11362منذ 5 أيامتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
الموقع الإلكتروني
disrobe: استعادة المصدر والبنية والبايتات من البرمجيات المُجمَّعة

ابدأ الآن · المدخلات المدعومة · الاستعادة التلقائية · مقارنات الأدوات · الأدلة · التوثيق

انظر إلى البرمجيات من الداخل

Disrobe هي مجموعة أدوات سطر أوامر مكتوبة بلغة Rust لفك التجميع وإزالة التشويش وفك تغليف البرمجيات. استخدمها لفرز ملف غير معروف، أو استعادة الشيفرة الهندسة العكسية، أو استخراج المؤشرات لتحقيق، أو تجهيز القطع الأثرية لفك المُجمِّع.

استعد Python من البايت كود والتطبيقات المُجمَّدة، وJava من ملفات classfiles وDEX، وC# من CIL، وJavaScript من الحزم، وLua من الأجهزة الافتراضية المخصصة، وC أو Rust من الشيفرة الأصلية. استخرج الملفات من المُثبِّتات والبرامج الثابتة وحزم الجوال وتطبيقات Electron وTauri أو Wails. احتفظ بالمصدر المُستعاد والرموز والسلاسل والأنواع والمصدر معًا لمزيد من التحليل.

يصنّف البناء الكامل 170 عائلة عبر 15 نظامًا بيئيًا ويكتشف 103 صيغة حاوية. يحدد disrobe auto كل طبقة، ويشغّل تمريرة مطابقة، ويتابع العناصر الفرعية المُستعادة إلى مسارات الاستعادة الخاصة بها. تكشف الأوامر المخصصة عن ضوابط أدق وتقارير تحليل وخلفيات اختيارية. تعمل الاستعادة بشكل ثابت افتراضيًا؛ ويبقى المصدر والبنية والمخرجات الجزئية وحدود المفاتيح المفقودة قابلة للتمييز في النتيجة.

إذا كان Disrobe مفيدًا لك، فكّر في إضافة نجمة إلى المستودع.

شاهده أثناء العمل

Disrobe CLI: فك التغليف والاستعادة والفحص للبرمجيات

شاهد الفيديو الكامل · اقرأ النص المكتوب

عشرون أمرًا في سطر الأوامر في دقيقتين و12 ثانية: فك تغليف ملف تنفيذي أصلي، واستعد Python وLua، وقسّم وحدات JavaScript، واستعد خرائط المصدر، وافحص WebAssembly وموارد Android، واستخرج المؤشرات، واحفظ التقارير وتجزئات القطع الأثرية. يعرض الفصل الأخير إعدادات المشروع وإعداد IDE وتعليقات المحلل وإكمالات الصدفة. يتضمن النص المكتوب جرد الأوامر الكامل للبناء المُسجَّل؛ وتشرح خريطة القدرات حدود دعمه.

ابدأ الآن

نزّل الأرشيف الخاص بمنصتك من إصدارات GitHub، وتحقق منه مقابل SHA256SUMS الخاص بالإصدار، وضع disrobe على PATH الخاص بك. تتضمن أرشيفات الإصدار حزم توقيع؛ ويشرح دليل التحقق كيفية فحصها.

المنصةأهداف الإصدار
Windowsx86-64، ARM64
macOSx86-64، ARM64
Linuxx86-64 وARM64 مع glibc؛ x86-64 مع musl

تحقق من الملف التنفيذي الذي ثبّته:```sh disrobe --version disrobe --help

root@kitploit:~
للبناء من سطر الأوامر (CLI) من نسخة مستنسخة، قم بتثبيت سلسلة أدوات Rust الخاصة بالمستودع و[متطلبات البناء الأصلية](https://github.com/1-3-7/disrobe/blob/main/docs/src/installation.md)، ثم شغّل:```sh
cargo build --locked --release -p disrobe-cli --bin disrobe

الملف التنفيذي هو target/release/disrobe، أو target/release/disrobe.exe على Windows. راجع دليل التثبيت للاطلاع على أعلام الميزات والبنيات المخففة.

استرداد تطبيق

ابدأ بتطبيق أو مكتبة أو حزمة. تعرّف عليه، ثم استرد طبقاته المعروفة، ثم افحص ملخص الاسترداد:```sh disrobe identify path/to/application disrobe auto path/to/application --out recovered/ --capture-stages disrobe context --out recovered/

root@kitploit:~
`identify` يبلّغ عن التنسيق والإشارات المتاحة. `auto` يستخرج ويستعيد الطبقات المتعرَّف عليها. `context` يلخّص الممرات الناتجة، ودرجة الثقة، والمصدر. مع `--capture-stages`، افحص كل مرحلة تحت `recovered/01-*/`، و`recovered/02-*/`، و`recovered/final/`؛ يسجّل `chain.json` البنية الطوبولوجية والتجزئات (hashes)، ويسجّل `recovery.json` النتائج والتوقيتات.

استخدم أمرًا مخصّصًا عندما تعرف المخرجات التي تحتاجها:```sh
disrobe py decompile module.pyc --out python-source/
disrobe js deob bundle.js --full --out readable.js
disrobe native decompile application.exe --out native-source/
disrobe native export packed.exe --format ghidra --out ghidra-input/
disrobe webview desktop.exe --out frontend/

يُصدر المُفكِّك الأصلي كود C افتراضيًا على x86-64؛ ويحدد --format rust لغة Rust. أما AArch64 وARM32 وMIPS32 فتُصدر pseudo-C. تعيد native export بناء صور PE المحزومة المدعومة لأداة تحليل خارجية؛ وتكتب webview شجرة أصول الواجهة الأمامية المستردة دون تشغيل التطبيق.

جرّب قطعة أثرية صغيرة قابلة للفحص

يتضمن المستودع وحدة WebAssembly صغيرة لملعب المتصفح. من نسخة مستنسخة، مع وجود واجهة CLI الكاملة على PATH الخاص بك:```sh disrobe wasm decompile playground/public/samples/add.wasm --target json --out add.summary.json disrobe wasm decompile playground/public/samples/add.wasm --target wat --out add.lifted.wat disrobe auto playground/public/samples/add.wasm --out recovered/ --capture-stages

root@kitploit:~
يكتب الأمر الأول `add.summary.json`؛ ويكتب الثاني نص WebAssembly إلى `add.lifted.wat`. يختار الاسترداد التلقائي سلسلة متاحة ويكتب مخرجاتها تحت `recovered/`؛ ويحتفظ `--capture-stages` بالنتائج الوسيطة. تفحص هذه العمليات الوحدة دون تشغيل دالتها المُصدَّرة.

افحص الملفات المستردة جنبًا إلى جنب مع التقرير: التحديد وحده لا يثبت الاسترداد. تظهر البُنى غير المدعومة، والمواد المفتاحية الغائبة، والسلاسل غير المتاحة في النتيجة. يشرح [دليل النتائج](https://github.com/1-3-7/disrobe/blob/main/docs/src/reading-a-result.md) المخرجات، والتشخيصات، والنتائج الجزئية، والمصدر.

[افتح ساحة التجربة في المتصفح](https://1-3-7.github.io/disrobe/playground/) · [اتبع دليل البدء السريع](https://github.com/1-3-7/disrobe/blob/main/docs/src/quickstart.md)

## اعثر على مدخلك

**الاسترداد** يعني أن مسارًا قابلًا للوصول يُخرج مصدرًا أو بايتات أو بنية. **الجزئي** يعني أنه يسترد جزءًا فقط من تلك المعلومات. **الكشف فقط** يعني أنه يحدد العائلة دون استرداد جسمها المحمي. تصف هذه المستويات عمليات على مدخلات مدعومة؛ واسم العائلة وحده ليس ضمانًا بأن كل إصدار أو إعداد يُسترد. تتضمن القوائم أدناه كتالوج العائلات الكامل والصيغ الإضافية التي تكشفها الأوامر والمستخرجات المخصصة.

| المدخل | الاسترداد والمخرجات | الأوامر والدليل |
|---|---|---|
| Python | بايت كود CPython 1.0 إلى 3.15 وmarshal إلى المصدر؛ تفكيك PyPy وMicroPython `.mpy` v0 إلى v6 وJython وIronPython وBrython؛ استخراج الحمولات المجمّدة؛ أسماء Cython `.pyd`/`.so` وتوقيعاتها والاحتياط البنيوي | `py`، `pyinstaller`، `pyarmor`، `pyfreeze`، `nuitka` · [Python](https://github.com/1-3-7/disrobe/blob/main/docs/src/languages/python.md) |
| JavaScript / TypeScript | إزالة تشويش المصدر، وعكس التصغير، وتقسيم الوحدات، وخرائط المصدر، وفحص بيانات V8 المخزّنة مؤقتًا وبيئات التشغيل المحزّمة | `js` · [JavaScript](https://github.com/1-3-7/disrobe/blob/main/docs/src/languages/javascript.md) |
| WebAssembly | `.wasm` إلى WAT أو Rust أو TypeScript أو شبه مصدر C أو JSON؛ فحص Component Model ومخطط أنواع GC؛ عكس التشويش المدعوم | `wasm` · [WebAssembly](https://github.com/1-3-7/disrobe/blob/main/docs/src/languages/wasm.md) |
| JVM / Android | `.class`، JAR، DEX، APK، AAB؛ مصدر Java، وصيغ Kotlin/Scala، ومعلومات البيان والتوقيع، وتقارير الحماة وملفات التعيين المرافقة | `jvm`، `apk` · [JVM وAndroid](https://github.com/1-3-7/disrobe/blob/main/docs/src/languages/jvm-android.md) |
| .NET | بيانات PE/CLR الوصفية وCIL إلى شبه مصدر C# أو F# أو VB؛ فحص ReadyToRun وNative AOT؛ استخراج حزمة الملف الواحد | `dotnet` · [.NET](https://github.com/1-3-7/disrobe/blob/main/docs/src/languages/dotnet.md) |
| Native | تحديد أو تحليل PE32/PE64، EFI PE، ELF32/ELF64، وحدات النواة، Mach-O الرقيق/السميك، COFF، MZ، NE، LE، LX، والكود الخام؛ إخراج المصدر على المسارات الخاصة بالمعمارية أعلاه | `native`، `macho`، `semdiff` · [Native](https://github.com/1-3-7/disrobe/blob/main/docs/src/languages/native.md)، [decompile](https://github.com/1-3-7/disrobe/blob/main/docs/src/languages/native-decompile.md) |
| Go | بيانات وقت تشغيل PE/ELF/Mach-O الوصفية، وأسماء الدوال والأنواع المجرّدة، وملفات `embed.FS`، وتقارير garble والقيم الحرفية القابلة للاسترداد | `go` · [Go](https://github.com/1-3-7/disrobe/blob/main/docs/src/languages/go.md) |
| Swift / Objective-C | أصناف وبروتوكولات وحقول ومحددات Mach-O، والرموز المُفكَّكة؛ الشرائح الشاملة؛ مكتبات dyld المشتركة المخزّنة مؤقتًا | `swift`، `macho` · [Swift](https://github.com/1-3-7/disrobe/blob/main/docs/src/languages/swift.md) |
| Lua | Lua 5.1 إلى 5.4، وLuaJIT 2.0/2.1، وبايت كود Luau، وGarry's Mod Lua (GLua)؛ المصدر وتقارير الدقة لكل مدخل؛ استرداد الآلة الافتراضية والنصوص المدعوم | `lua` · [Lua](https://github.com/1-3-7/disrobe/blob/main/docs/src/languages/lua.md) |
| PHP | تقشير المصدر/سلسلة eval، وحلقات فك التشفير بالمفاتيح الحرفية وطبقات AES، واستخراج Phar، واسترداد `op_array` المتسلسل؛ تبقى أغلفة المُشفِّرات التجارية محدودة بالمفاتيح | `php` · [PHP](https://github.com/1-3-7/disrobe/blob/main/docs/src/languages/php.md) |
| Ruby | ملفات MRI/YARV 2.6 إلى 3.4 InstructionSequence الثنائية وmruby RITE bytecode إلى Ruby؛ تصنيف المُجمِّد وAOT | `ruby` · [Ruby](https://github.com/1-3-7/disrobe/blob/main/docs/src/languages/ruby.md) |
| Erlang / Elixir | وحدات BEAM وأرشيفات EZ؛ الكود المجرّد الباقي أو `Dbgi` إلى المصدر، والاحتياط إلى Core Erlang، وسرد التعليمات | `beam` · [BEAM](https://github.com/1-3-7/disrobe/blob/main/docs/src/languages/beam.md) |
| ActionScript 3 | كتل `DoABC` في SWF FWS/CWS/ZWS وبايت كود ABC الخام إلى التفكيك وشبه كود AS3 | `as3` · [ActionScript](https://github.com/1-3-7/disrobe/blob/main/docs/src/languages/as3.md) |
| بيئات تشغيل الجوال | تحليل ترويسة Hermes v60 إلى v96، ورفع شبه JavaScript لـ v62/v71/v74/v76/v83/v84/v89/v96؛ أجسام مصدر Flutter Dart kernel؛ تعريفات ARM64 AOT والنصوص والتفكيك | `hermes`، `flutter`، `mobile` · [Mobile](https://github.com/1-3-7/disrobe/blob/main/docs/src/languages/mobile.md) |
| Shell / المستندات | PowerShell، Bash، Batch، VBScript، WSH؛ p-code لـ VBA3/5/6/7 والطمس؛ مصدر ماكرو Office، وصيغ BIFF8/BIFF12 XLM، والنصوص/الإجراءات المضمّنة في PDF | `shell` · [Shell والمستندات](https://github.com/1-3-7/disrobe/blob/main/docs/src/languages/shell.md) |
| مصنوعات لغات أخرى | أشجار عمليات/بايت كود Perl، وبيانات R RDS وRcpp الوصفية، وTcl starkits، ومخرجات Haxe JS/SWF/HashLink/Neko؛ بصمات Nim وZig وCrystal وD ورموزها وبناها الجزئية | `auto`، واجهات المكتبة · [لغات البرمجة النصية](https://github.com/1-3-7/disrobe/blob/main/docs/src/languages/shell.md)، [native](https://github.com/1-3-7/disrobe/blob/main/docs/src/languages/native.md) |
| Python pickle | تفكيك البروتوكول، والتتبع الرمزي، وإعادة البناء، والتصنيف دون استدعاء مخفِّضات pickle | `pickle` · [Pickle](https://github.com/1-3-7/disrobe/blob/main/docs/src/languages/pickle.md) |
| الأرشيفات / البرامج الثابتة / الواجهات الأمامية | قائمة الحاويات الكاملة أدناه؛ Electron ASAR، وخرائط Tauri v1/v2 المضمّنة، وأشجار `embed.FS` في Wails v2 | `extract`، `webview`، `auto` · [الحاويات](https://github.com/1-3-7/disrobe/blob/main/docs/src/languages/containers.md)، [webview](https://github.com/1-3-7/disrobe/blob/main/docs/src/languages/webview.md) |

<details>
<summary><strong>Python: كل مُجمِّد وحامٍ ومشوِّش مصدر مُسمّى</strong></summary>

| العائلة أو الصيغة | الدعم والمتطلب المسبق |
|---|---|
| PyInstaller 2.x إلى 6.20+ | استرداد الأرشيفات وبيت الكود المضمّنة، بما في ذلك طبقات AES-CTR/CFB المدعومة |
| Nuitka onefile، standalone، module، wheel | استخراج حمولات onefile؛ استرداد الرموز والبنية المرئية لـ Python من الصيغ المُصرَّفة |
| cx_Freeze، py2exe، shiv، pex، Briefcase | استخراج الحزم عبر `pyfreeze`؛ يبقى الأمر تجريبيًا |
| PyOxidizer | استخراج تجريبي غير مُتحقَّق منه |
| SourceDefender `.pye` | فك تشفير ساكن عبر `py sourcedefender` و`sourcedefender.decrypt` |
| PyArmor v3 (DES القديم)، PyArmor v4 (المختلط القديم)، PyArmor v5 (AES القديم) | الكشف فقط: حدود المفتاح المغلف بـ RSA |
| PyArmor v6، PyArmor v7 | استرداد ساكن جزئي؛ يقيّد الوضع الخارق والمفاتيح غير المتاحة المخرجات |
| PyArmor v8، PyArmor v9 / 9-Pro | استرداد الغلاف الساكن حيث تتوفر المواد المفتاحية. نتيجة <!-- m:pyarmor_frac -->72 / 72<!-- /m --> المنشورة تحسب فك ترميز `CodeObject` الجذري الكامل فقط لأغلفة v8/v9 الافتراضية التجريبية المُسمّاة؛ وهي لا تثبت تكافؤ المصدر ولا تغطي الترخيص المسجّل/pro أو BCC أو الوضع الخارق |
| Kramer / Specter، Berserker، BlankOBF، PlusOBF، Wodx، pyobfuscate.com، pyobfuscate.com (2026 XOR/lambda)، PyObfuscator (mauricelambert)، Manglify، Oxyry، pyminifier، عائلة المشوِّشات عبر الإنترنت، Xindex، Patchwork، pyc-zipper | استرداد ساكن للمصدر/المحمّل عبر مُقيِّم AST؛ تُبلَّغ الطبقات الفردية والمتبقيات |
| Jawbreaker، ObfuXtreme | استرداد الجسم الموجود في المصنوعة؛ تبقى الحمولات المُجلَبة وقت التشغيل غائبة |
| python-obfuscator (PyPI)، pyobfus، Pypacker | تقشير جزئي للأغلفة والتصنيف |

قد يحتاج PyArmor إلى ملف وقت التشغيل المطابق بجانب الغلاف. يتطلب مسار BCC المخصص له `--allow-bcc` ويُخرج رفعات أصلية ساكنة وهياكل Python للأجسام المُنمذجة؛ ويمكن للاسترداد التلقائي المدرك للمسار نشر مخرجات BCC نفسها. فقط خطاف PyArmor v6/v7 الديناميكي ينفّذ كود العينة، خلف `--allow-dynamic` مع مراقب. يسمح `--allow-bcc` فقط بالتحليل الساكن داخل الشجرة ولا ينفّذ العينة أو يستدعي أدوات خارجية. [تفاصيل الإصدار والوضع](https://github.com/1-3-7/disrobe/blob/main/docs/src/languages/python.md#pyarmor).

</details>

<details>
<summary><strong>JavaScript وWebAssembly وتطبيقات الويب المحزّمة</strong></summary>

| العائلة أو الصيغة | الدعم والمسار |
|---|---|
| obfuscator.io / javascript-obfuscator، JS-Confuser | استرداد مصفوفات النصوص المدعومة، وتحويلات المُوزِّع/تدفق التحكم، والمحمولات غير الشفافة، وطبقات المحمّل؛ أوامر مباشرة و`js.deob` |
| Jscrambler، js-obfuscator (jsobfu) | استرداد جزئي للقوالب والتحويلات الساكنة |
| JSFuck، aaencode، jjencode، JSFiretruck، Dean Edwards Packer | فك ترميز ساكن عبر عمليات مخصصة ومسارات سلاسل معروفة |
| JSDefender، Arxan / Digital.ai | الكشف والتقشير الساكن الجزئي للتحويلات؛ تتطلب عمليات JS التجارية المحمية خيار التخويل الخاص بالأمر |
| PACE | الكشف فقط |
| webpack 4، webpack 5، Vite، Rollup، Rolldown، esbuild، Turbopack، Bun، Parcel، Browserify، SystemJS؛ وحدات AMD | فك الحزم/استرداد الوحدات مباشرة. تُوزِّع السلسلة webpack وVite؛ وعلامات الكتالوج للمُحزِّمات الأخرى لا تجعل تلك المسارات تلقائية بحد ذاتها |
| bytenode `.jsc`، Node SEA، nexe، nw.js | فحص/نحت بيانات V8 المحزّمة؛ لـ Node SEA وbytenode فروع سلسلة صريحة |
| Electron ASAR، Tauri v1/v2، Wails v2 | استرداد أشجار الواجهة الأمامية المضمّنة؛ يستخدم Electron/Tauri الأمر `webview.carve`، ويستخدم Wails الأمر `go.classify`؛ ويتعامل `webview` المباشر مع الثلاثة |
| Bun standalone، Deno eszip v2 إلى v2.3 / `deno compile` | استرداد مخططات الوحدات المضمّنة عبر قارئات الحاويات المعنية؛ ويكشف eszip أيضًا قارئ Rust مباشرًا |
| Wobfuscator، Jscrambler WASM، wasm-mixer / Wasmixer | عكس جزئي للتحويلات المدعومة عبر `wasm.deob`؛ تُقيِّم نماذج على شكل الأدوات التحويلات، دون مخرجات مُلتزَم بها من تلك المشوِّشات نفسها |
| Tigress → Emscripten، wasm-name-obfuscator | الكشف والتصنيف؛ مساعد Tigress خارج مسار تشغيل `wasm deob`، وتبقى الأسماء الأصلية المدمَّرة غير متاحة |

[مسارات JavaScript](https://github.com/1-3-7/disrobe/blob/main/docs/src/languages/javascript.md) · [حدود Wasm](https://github.com/1-3-7/disrobe/blob/main/docs/src/languages/wasm.md) · [تخطيطات الواجهة الأمامية المضمّنة](https://github.com/1-3-7/disrobe/blob/main/docs/src/languages/webview.md).

</details>

<details>
<summary><strong>عائلات الحزم والحماة والتشويش الأصلية</strong></summary>

| العائلة | الدعم والمسار |
|---|---|
| Donut، sRDI | استرداد الوحدة المضمّنة من تخطيطات محمّل shellcode المدعومة |
| UPX، ASPack، Petite، MPRESS، FSG، PECompact، Yoda's Crypter، NSPack، MEW، kkrunchy | روتينات فك الحزم المُنفَّذة، يمكن الوصول إليها عبر `native unpack` وسلسلة المُحزِّمات؛ تتفاوت الدقة حسب العائلة والعينة |
| ASProtect، Morphine، nPack، NeoLite، PolyCryptor، Warzone Crypter | `StubEvalPending`: سلوك المحاكي لديه دليل stub مبني على المواصفات؛ الاسترداد الحقيقي المحزّم من المورّد غير مُتحقَّق منه ولا يُعلَن عن إرسال فك حزم |
| Yoda's Protector، VMProtect، Themida / WinLicense | الكشف فقط عبر CLI والتلقائي. تكشف مساعدات Rust منفصلة عن النحت بمساعدة الأصل أو استرداد القسم المحمي؛ وهي لا تثبت إزالة افتراضية للبرنامج بأكمله |
| PE-Protector، PELock، Enigma Protector، Armadillo، Obsidium، WinLicense | الكشف فقط |
| DotNetPatcher، NetCryptor | تفويض الطبقة المُدارة إلى مسار .NET |
| تسطيح OLLVM، تدفق التحكم الزائف، استبدال التعليمات؛ Tigress CFF | تحويلات إزالة التشويش الساكنة المدعومة والتقارير عبر واجهات Rust الأصلية؛ يظهر التحليل المنطبق في تقارير الاسترداد الأصلية |
| Alcatraz، Emotet CFF، Mirai، Dridex، Trickbot، obfus.h، Cryptify (rust-obfuscator)، guardian-rs، obfusheader.h، obfuscxx، Amice | بصمات تشويش أصلية مُسمّاة؛ لمساعدات النصوص/تدفق التحكم الفردية استرداد أضيق من العائلة المكتشفة الكاملة |

يسترد التحليل الأصلي أيضًا رموز Rust/C++، وRTTI وvtables في C++، ونماذج كائنات Delphi/C++Builder وموارد DFM، ومعلومات DWARF/PDB/STABS، والواردات، ومخططات الاستدعاء، وبصمات التشفير، ومطابقات FLIRT. يمتد تحليل التعليمات عبر x86 وARM وRISC-V وMIPS وPowerPC وSPARC وeBPF وAVR؛ وإخراج المصدر هو مجموعة المعماريات الأصغر المذكورة أعلاه. [التحليل الأصلي](https://github.com/1-3-7/disrobe/blob/main/docs/src/languages/native.md) · [أدلة فك الحزم واسترداد البايتات](https://github.com/1-3-7/disrobe/blob/main/docs/src/languages/native-unpack.md) · [إزالة التشويش](https://github.com/1-3-7/disrobe/blob/main/docs/src/anti-analysis.md).

</details>

<details>
<summary><strong>عائلات حزم JVM وAndroid و.NET والجوال</strong></summary>

| العائلة | الدعم والمتطلب المسبق |
|---|---|
| Zelix KlassMaster، Allatori، Stringer، DashO | استرداد النصوص للأنماط المدعومة، يتبعه فك ترجمة classfile |
| DexGuard | الكشف، والتقشير البنيوي، ومحاكاة فك تشفير النصوص داخل الصنف للثوابت المفتاحية المدعومة |
| BlackObfuscator | التعرف على موزِّع DEX ووسم ترتيب الكتل |
| ProGuard / R8 | إعادة تشغيل التعيين إلى ملف جانبي لاستعادة الأسماء؛ تتطلب الأسماء الأصلية `mapping.txt` |
| yGuard، SkidSuite2، JBCO | الكشف فقط |
| Promon SHIELD، Guardsquare DexGuard RASP، Guardsquare ThreatCast، Appdome، OneSpan، Arxan / Digital.ai، Zimperium zShield، Licel DexProtector | تحديد Android RASP وتقارير بنيوية |
| ConfuserEx2 | استرداد ثوابت العينات الحقيقية وتسطيح تدفق التحكم؛ قد تحتفظ الموارد المشفّرة بحدود مفتاح وقت التشغيل |
| Eazfuscator.NET | فك تشفير النصوص المُقيَّم بالنماذج ورفع VM؛ نموذج VM يأتي من مُخَصِّص افتراضي داخل المستودع، لا من المنتج المُوزَّع |
| KoiVM (ConfuserEx VM) | رفع الأجسام الافتراضية إلى CIL على مخرجات أداة حقيقية مُلتزَم بها |
| ConfuserEx، Dotfuscator، Dotfuscator CE، SmartAssembly، Babel، DeepSea، Spices.Net، Goliath، Skater، .NET Reactor، CryptoObfuscator، ArmDot، Agile.NET، Obfuscar، DotNetPatcher، NetCryptor، BitMono | الكشف واسترداد جزئي خاص بكل عائلة: أسماء أو نصوص أو موارد أو بنى دوال. BitMono موجود في كاشف الحماة خارج كتالوج سلسلة .NET ذي 22 مدخلًا |
| Themida (غلاف .NET)، ILProtector، MaxToCode | الكشف فقط للأجسام المفتاحية بمحمّل أصلي |
| React Native APK، React Native IPA؛ React Native Hermes bytecode | استخراج حمولات JS/Hermes وتوجيه بايت الكود المدعوم إلى رفع Hermes |
| Flutter Dart kernel؛ لقطة Flutter AOT (`libapp.so`) | استرداد جدول مصدر Kernel؛ تعريفات AOT والبيانات الوصفية وتفكيك ARM64. يقيّد إصدار اللقطة والأسماء المتاحة الاسترداد |
| Xamarin / .NET MAUI APK، Apache Cordova APK، Capacitor APK، NativeScript APK | تحديد وقت التشغيل واستخراج الحزم/الأعضاء المدعوم |
| Android APK (`classes.dex`)، حزمة تطبيق Android (AAB / APKM / XAPK)، IPA | فحص الحزمة واستخراج العناصر الفرعية؛ يعتمد الاسترداد اللاحق على وقت التشغيل المضمّن |

تُقيَّم مفككات نصوص .NET الخاصة بـ SmartAssembly وSpices.Net وSkater و.NET Reactor وEazfuscator.NET وCryptoObfuscator على خوارزميات مُنمذجة، لا على تجميعات أنتجها المورّد ومُلتزَم بها. ولدى ConfuserEx2 وObfuscar وBitMono أدلة على تجميعات محمية حقيقية. [JVM/Android](https://github.com/1-3-7/disrobe/blob/main/docs/src/languages/jvm-android.md) · [.NET](https://github.com/1-3-7/disrobe/blob/main/docs/src/languages/dotnet.md) · [Mobile](https://github.com/1-3-7/disrobe/blob/main/docs/src/languages/mobile.md).

</details>

<details>
<summary><strong>عائلات Lua وPHP وshell وRuby وBEAM وSwift وGo وActionScript</strong></summary>

| العائلة | الدعم والمتطلب المسبق |
|---|---|
| IronBrew2 | استرداد VM، مُتحقَّق منه تفاضليًا بالتنفيذ على مخرجات 2.7.0 standard وMAX الحقيقية |
| Prometheus | استرداد جزئي، بما في ذلك أشجار إرسال `Vmify` المكدّسة المدعومة |
| MoonSec V1، MoonSec V2، MoonSec V3، AztupBrew، DarkSec، Boronide، PSU، WeAreDevs LuaU، luaobfuscator.com، SLua (Unity Lua 5.3)، Hercules | استرداد Lua جزئي؛ يستخدم دليل VM على شكل MoonSec تمهيدًا اصطناعيًا |
| Luraph | الكشف فقط |
| Luau bytecode، Garry's Mod Lua (GLua) | التعرف على اللهجة؛ رفع Luau واسترداد GLua جزئي |
| ionCube، SourceGuardian، Zend Guard | كشف أغلفة PHP التجارية؛ تبقى المفاتيح المقيمة في المحمّل حدًا. يمكن لحالات المفاتيح الساكنة القديمة أن تُنتج بنية `op_array` جزئية |
| FOPO، Better PHP Obfuscator | تقشير سلسلة eval في PHP الساكنة، مع متطلبات المفاتيح الحرفية للطبقات المشفّرة |
| Invoke-Obfuscation (token)، Invoke-Obfuscation (AST)، Invoke-Obfuscation (string)، Invoke-Obfuscation (encoding)، Invoke-Obfuscation (compress)؛ Invoke-Stealth، PowerHell، Chameleon، psobf | استرداد PowerShell ساكن |
| Invoke-Obfuscation (launcher)، ISESteroids | استرداد PowerShell جزئي |
| Bashfuscator (token)، Bashfuscator (string)، Bashfuscator (obfuscate)، Bashfuscator (compress)؛ Bash indirection (IFS/eval)؛ node-bash-obfuscate (chunk-table eval) | استرداد Bash ساكن |
| تشويش Batch (`%random%`)، تشويش Batch (set indirection)؛ ماكرو VBA (فك ترجمة p-code + الطمس) | تقشير Batch واسترداد مصدر/p-code لـ VBA |
| YARV InstructionSequence (`.rb` المُصرَّف)، mruby RITE bytecode | استرداد مصدر Ruby |
| OCRA self-extracting executable، حزمة RubyScript2Exe | تصنيف/استرداد جزئي للمُجمِّد |
| JRuby compiled class، TruffleRuby native image | الكشف فقط عبر كتالوج Ruby |
| ملف BEAM (وحدة Erlang / Elixir المُصرَّفة)، أرشيف EZ (وحدات `.beam` المغلفة بـ ZIP) | استخراج الوحدات، واسترداد المصدر/كتلة التصحيح، أو الاحتياط إلى Core Erlang |
| garble | بيانات Go الوصفية والقيم الحرفية المدعومة؛ لا يمكن عكس تجزئة الأسماء الأصلية دون البذرة المفقودة |
| بيانات Mach-O الوصفية لـ Swift / Objective-C، ثنائي Mach-O fat (universal)، ذاكرة dyld المشتركة المؤقتة | بيانات وقت التشغيل الوصفية، واسترداد الشرائح والمكتبات الديناميكية |
| SwiftShield | محلل التعيين؛ يجب توفير التعيين لاسترداد الأسماء الأصلية |
| SWF (Flash، FWS/CWS/ZWS) DoABC، بايت كود ABC الخام | التفكيك وشبه كود جسم الدالة |
| secureSWF، DoSWF، Kindi، Irrfuscator، swfLock | الكشف فقط |

[كتالوج العائلات](https://github.com/1-3-7/disrobe/blob/main/docs/src/catalog.md) · [Lua](https://github.com/1-3-7/disrobe/blob/main/docs/src/languages/lua.md) · [PHP](https://github.com/1-3-7/disrobe/blob/main/docs/src/languages/php.md) · [Shell](https://github.com/1-3-7/disrobe/blob/main/docs/src/languages/shell.md) · [Ruby](https://github.com/1-3-7/disrobe/blob/main/docs/src/languages/ruby.md) · [BEAM](https://github.com/1-3-7/disrobe/blob/main/docs/src/languages/beam.md) · [Go](https://github.com/1-3-7/disrobe/blob/main/docs/src/languages/go.md) · [Swift](https://github.com/1-3-7/disrobe/blob/main/docs/src/languages/swift.md) · [AS3](https://github.com/1-3-7/disrobe/blob/main/docs/src/languages/as3.md).

</details>

<details>
<summary><strong>جميع صيغ الحاويات الـ103 المسجّلة</strong></summary>

| الفئة | الصيغ |
|---|---|
| الأرشيفات العامة | ZIP، TAR، tar.gz، tar.bz2، tar.xz، tar.zst، 7z، RAR، CAB، CPIO، ar، ARJ، ARC، LZH، LZO/lzop، uzip، Xamarin xalz، PAR2، StuffIt |
| أرشيفات التطبيقات واللغات | JAR، WAR، APK، XPI، WHL، EGG، CRX، NUPKG، VSIX، PYZ، Electron ASAR |
| المُثبِّتات وصور التطبيقات | PKG، DMG، DEB، RPM، AppImage، Snap، Flatpak، MSIX/APPX، MSI، NSIS، Squirrel، Inno Setup، InstallShield، Enigma Virtual Box |
| أنظمة الملفات وتدفقاتها | SquashFS، cramfs، ext4، romfs، MinixFS، Android sparse، btrfs-send، EROFS، JFFS2، NTFS، UBI/UBIFS، YAFFS2، QNX، partclone |
| صور الأقراص والنشر | ISO، OCI، Docker image، VHD، VHDX، WIM، GPT، MBR، FAT12/16/32 |
| تدفقات الضغط | XZ، gzip، bzip2، zstd، LZMA، lzip، LZ4، zlib، Unix compress (`.Z`) |
| بيانات التطبيقات المضمّنة | Bun standalone، UnityFS، حزمة .NET أحادية الملف |
| البرامج الثابتة | D-Link SHRS، ENCRPTED_IMG، alpha v1، alpha v2، DEAFBEAD، FPKG؛ EnGenius؛ Autel ECC؛ QNAP؛ Netgear CHK، TRX v1، TRX v2؛ Xiaomi HDR1، HDR2؛ Tesla SBFH؛ HP BDL، IPKG؛ Moxa FRM؛ INSTAR BNEG، HD؛ Airoha؛ وحدة برنامج ثابت UEFI |
| الذاكرة والأقراص المشفّرة | Windows minidump، LUKS1 |

تُعلن القائمة الكشف لكل مدخل. ومن بين تلك المسارات، تستخدم 102 المستخرج العام؛ ولدى <!-- roster-breadth:containers-exercised -->42<!-- /roster-breadth --> مدخلات مُلتزَم بها تصل إلى بايتات الأعضاء، ولدى DMG دليل مُلتزَم به للكشف فقط، و59 ليس لديها مدخل مُلتزَم به. يُقيَّم LUKS1 بشكل منفصل مقابل النص الصريح ويتطلب مفتاح وحدة خام `aes-cbc-plain` لفك التشفير؛ وبدونه يُبلِّغ عن حدود المفتاح. لطرق الضغط الفردية والأعضاء المشفّرة والأقراص المُقسَّمة وميزات أنظمة الملفات حدود أضيق. يُرجع StuffIt 5 حاليًا كتلة الأرشيف عبر الاستخراج رغم وجود مفككات فروعه. يُنحت محتوى Airoha OTP-AES حرفيًا.

تكشف قارئات Rust إضافية عن Deno eszip وApple APFS/HFS+ وطبقات ELF الملحقة وبنى Blazor WebCIL؛ وهي ليست مدخلات إضافية في عدد الصيغ الـ103. [مسارات الاستخراج وإصدارات الطرق والحدود](https://github.com/1-3-7/disrobe/blob/main/docs/src/languages/containers.md) · [سجل الحاويات](https://github.com/1-3-7/disrobe/blob/main/crates/disrobe-binfmt/src/container.rs).

</details>

## الاسترداد التلقائي`auto` يختار تمريرة من السجل المُجمَّع، ويشغّلها، ثم يعيد تعريف مخرجاتها والأبناء المستخرجين. يتوقف عند عتبة الثقة، أو تكرار تجزئة المحتوى، أو حد العمق (ثمانية افتراضيًا). تظل التقارير والملفات المصدرية الموسومة كنهائية مخرجات بدلًا من إعادة تغذيتها في الاكتشاف. يغطي الجدول التالي كل تمريرة مسجَّلة بواسطة بناء كامل؛ يمكن لبناء نحيف حذف الصفوف المقيَّدة بالميزات.

| طبقة الإدخال | معرّفات التمريرات المسجَّلة | المخرجات التلقائية | عناصر التحكم المخصصة أو المتطلبات المسبقة |
|---|---|---|---|
| الأرشيفات، المثبِّتات، البرامج الثابتة، الأقراص | `binfmt.container` | الأبناء المستخرجون، يُتابَعون تكراريًا إلى تمريرات اللغات/الأصلي | `extract` لتقارير الأعضاء وخيار مفتاح LUKS1 الخام الصريح |
| PyInstaller | `pyinstaller.extract` | الأعضاء المضمَّنة وأبناء `.pyc` | `pyinstaller extract` لخيارات خاصة بالأرشيف |
| مُجمِّدات Python | `pyfreeze.extract`, `nuitka.extract` | الحمولات المستخرجة أو بنية الحزمة المُصرَّفة المدعومة | `pyfreeze` تجريبي؛ نكهة Nuitka تحدد ما يبقى |
| Python المحمي | `pyarmor.unpack`, `sourcedefender.decrypt` | النص الصريح/البايت كود المتاح، أو البيانات الوصفية، أو تقارير حدود المفاتيح | مواد وقت التشغيل/المفتاح المطابقة؛ وضع PyArmor المخصص وخيارات الصرامة |
| مصدر Python والبايت كود | `py.deob`, `py.decompile`, `py.disasm` | المصدر المُقشَّر، أو المصدر المُفكَّك، أو تتبّع التعليمات | `py decompile --emit source,disasm,ast`؛ يلزم مفسِّر مطابق لفحوص إعادة التصريف |
| Pickle | `pickle.classify` | التحليل الرمزي والتصنيف | `pickle` لعمليات الفحص/إعادة البناء الفردية |
| JavaScript | `js.deob` | إزالة التشويش المدعومة، استرداد وحدات webpack/Vite، معالجة Node SEA/bytenode | `js unbundle` يكشف مجموعة المُجمِّعات الأوسع؛ خرائط المصدر وخيارات إعادة التسمية عناصر تحكم مباشرة |
| WebAssembly | `wasm.deob` | WAT المسترد أو المرفوع مع الاكتشاف والملخص وملفات الاسترداد الجانبية | `wasm decompile --target` يختار Rust أو TypeScript أو C أو WAT أو JSON |
| Electron / Tauri | `webview.carve` | أعضاء الواجهة الأمامية المضمَّنة | `webview` يدعم أيضًا Wails؛ استرداد Wails التلقائي يستخدم `go.classify` |
| PHP / Phar | `php.peel` | المصدر المُقشَّر، مخرجات `op_array`، أبناء الأرشيف، تقارير المفاتيح/المخلفات | يجب أن تكون المفاتيح وIVs متاحة ساكنًا للطبقات المشفَّرة |
| JVM / DEX | `jvm.classify` | مصدر Java، بيانات الحماة والاسترداد الوصفية، أبناء الفئات/الأرشيف | `jvm`/`apk` للتعيين والتوقيعات والخلفيات الخارجية الاختيارية |
| .NET | `dotnet.classify` | C# والتحليل، الثوابت/الموارد/CIL المستردة، أو بيانات Native AOT الوصفية | `dotnet` لصيغ المصدر الأخرى وخلفيات العرض المثبَّتة |
| حزم الجوال / البايت كود | `mobile.classify` | استخراج وقت التشغيل/الأعضاء، رفع Hermes، مصدر نواة Dart أو تقارير AOT | `hermes`, `flutter`, `mobile` لعناصر التحكم الخاصة بالصيغة |
| Lua | `lua.deob` | Lua المستردة وملفات اللهجة/الدقة الجانبية | `lua` لعناصر التحكم الصريحة في العائلة والمخرجات |
| Shell / Office / PDF | `shell.deob` | السكربتات المُقشَّرة، مصدر الماكرو/p-code، تقارير XLM والمستندات | `shell` للعمليات الخاصة بالمستندات |
| Ruby | `ruby.classify` | التحليل مع مصدر YARV/mruby المسترد حيثما توفر | `ruby` لتقارير النكهة المحددة؛ تصنيف JRuby/TruffleRuby ليس استردادًا لمصدر Ruby |
| BEAM / EZ | `beam.classify` | Erlang/Elixir/Core Erlang، التفكيك، أبناء الأرشيف | تحدد أجزاء التصحيح الباقية دقة المصدر |
| SWF / ABC | `as3.classify` | بنية ABC، قوائم التعليمات، شيفرة AS3 الزائفة | تبقى أدوات التشويش التجارية المسمّاة للكشف فقط |
| Go | `go.classify` | الرموز، الأنواع، تحليل garble، وأعضاء نظام الملفات المضمَّن | `go` لـ DWARF وBuildInfo وتقارير مخصصة أخرى |
| Swift / Objective-C | `swift-objc.classify` | البيانات الوصفية، الشرائح الشاملة، ومكتبات dylib للذاكرة المشتركة | قد تكون ملفات الذاكرة الفرعية/الرموز الشقيقة مطلوبة؛ عناصر تحكم `swift`/`macho` المباشرة |
| حزم أصلية | `native.packer-unpack` | الصورة المفكوكة المتاحة أو الوحدة المضمَّنة، الرموز، التوقيعات، تقارير الاسترداد | فقط توزيعات الحزم المنفَّذة تفك الحزم؛ يمكن لطبقات VM التجارية التوقف عند الكشف |
| صور أصلية | `native.image-classify` | الهوية، الرموز، التوقيعات، النتائج، وتقرير مصدر زائف محدود x86-64/AArch64 | `native decompile` يختار أمر إخراج مصدر كامل؛ مسارات مصدر ARM32/MIPS32 مباشرة |
| Windows / OS/2 NE | `native.ne-structure` | المقاطع، المدخلات، الاستيرادات، والموارد | استرداد بنيوي بدلًا من فك تصريف المصدر |
| Perl / R / Tcl / Haxe / WSH | `scriptlang.classify` | تقارير اللغة، البنى المستردة، والقطع الأثرية الفرعية المدعومة | واجهات مكتبة كل صيغة تكشف عمليات أدق |
| Nim / Zig / Crystal / D | `nativelang.classify` | بصمات اللغة، الرموز، والبنية الأصلية الجزئية | يتطلب التصنيف علامات لغوية باقية كافية |

على سبيل المثال، يمكن لتطبيق PyInstaller معروف أن يتقدم عبر `pyinstaller.extract` → `pyarmor.unpack` → `py.decompile`؛ وملف APK عبر استخراج الأعضاء → DEX → Java؛ وصورة أصلية محزومة عبر فك الحزم → تحليل اللغة أو الصورة. يعتمد كل سهم على ما تُنتجه تلك الطبقة المعينة فعليًا.```sh
disrobe passes
disrobe catalog python --json
disrobe auto input-directory/ --out recovered/ --batch-max-depth 6 --capture-stages
disrobe chain module.pyc --chain py.decompile --out python-source/

scan وfrisk وtaint وvulnmatch والاختيار الصريح للمصدر والهدف وإعادة تشغيل التعيينات والاستدعاء الاختياري للخلفيات الخارجية تبقى عمليات مخصصة. سجل التمريرات · اختيار السلسلة وتخطيط المخرجات.

تحليل النتيجة وتصديرها

تغطي خريطة القدرات مجموعات الأوامر والتكاملات. ويربط جردها القابل للقراءة آليًا المصدر والاختبارات والتوثيق وحالة الدعم والعروض التوضيحية. يغطي مرجع CLI الأوامر المتداخلة؛ وتغطي الأعلام العامة الخيارات المشتركة. استخدم disrobe <command> --help لواجهة البناء المثبّت لديك.

أوامر المشروع والخدمة مفهرسة هناك أيضًا: serve، plugin، init، config، catalog، passes، doctor، install، install-deps، self-update، completions، man، explain، وbug-report. استخدم doctor لفحص 46 إلى 51 أداة خارجية حسب المنصة وتحديد الخلفيات الاختيارية المفقودة.

استخدم نفس الاستعادة في سير عملك

مقارنة الأدوات

يربط الجدول كل مهمة استعادة بأوامر Disrobe والأدوات ذات الصلة. توفر المفككات المثبّتة والقطع الأثرية المصدّرة نقاط التكامل الموضحة أدناه.

يسمّي جرد المقارنة مقارنات المدخلات المشتركة المعلّقة. خيارات الخلفية موثّقة في التثبيت وأدلة اللغات المرتبطة أعلاه.

مقارنات الأدوات المقاسة

تستخدم القياسات المدخلات المثبّتة وإصدارات الأدوات وقواعد التقييم المرتبطة أدناه. تقيس أعداد DEX وJAR ترجمة المناطق المُصدَرة من كل أداة. تختلف هذه المجموعات، لذا لا ترتّب أعدادها جودة الاستعادة. يستخدم استدعاء أسرار APK نفس الحقيقة الأرضية المكوّنة من ثمانية رموز.

المدخلات، ونتائج الأدوات الخام، وأوامر إعادة الإنتاج.

أعطِ Ghidra الملف التنفيذي المستعاد

يرى تحليل Ghidra 12.1.2 نفسه كودًا مختلفًا بعد أن يصدّر Disrobe ملفًا تنفيذيًا معبّأ كصورة PE معاد بناؤها. تستخدم هذه اللقطات المحلية عيّنات معبّأة حميدة حقيقية وتسجّل زيادات وانخفاضات معًا. تأتي أعمدة الدوال/التعليمات/السلاسل من لقطة تحليل بتسعة مدخلات؛ وتأتي تصييرات C المكتملة من لقطة مفكك منفصلة بستة مدخلات. التصيير المكتمل هو مخرج غير فارغ، وليس تقييمًا لصحة المصدر.

تنخفض أعداد kkrunchy. المزيد من الدوال المكتشفة ليست بالضرورة دوالًا أكثر صحة، وأعداد التحليل هذه لا تحل محل مقارنة البايتات. اقرأ لقطة التحليل، ولقطة المفكك، وقياسات استعادة البايتات الأصلية المنفصلة.

افحص الأدلة

يربط فهرس الأدلة قياسات الاستعادة بعيّناتها وطرق المقارنة والأوامر والنتائج.

تميّز النتائج بين استعادة البايتات وقبول المترجم والفحوصات السلوكية. قبول المترجم وأعداد التغطية ليست درجات تكافؤ.

تفاصيل تقييم JADX/CFR وأوامر إعادة الإنتاج

الاستعادة مُتحقَّق منها مقابل مراجع مستقلة

تقيس هذه الفحوصات Disrobe مقابل قطعة أثرية أصلية أو مترجم أو مفسّر أو مجموعة بيانات موسومة. وهي متميزة عن مقارنة مفككين اثنين. تسجّل كل نتيجة مرتبطة مجموعة المدخلات والمتطلبات المسبقة وأمر إعادة الإنتاج.

أعداد التغطية ومجموعات صحتها الأصغر| السطح | العدد | ما الذي يثبته | |---|---|---| | PyArmor | 72 / 72 غلافًا مسمّى v8/v9 للتجربة الافتراضية | فك التشفير الساكن وتحليل `CodeObject` الجذري الكامل، دون مقارنة صحة خارجية | | Android، ثلاثة ملفات APK حقيقية | 83662 / 83943 دالة مُنزَّلة، محليًا | تغطية الأجسام المُبلَّغ عنها ذاتيًا. مجموعة التحقق المنفصلة هي 2988 من 2998 جسمًا مقدَّمًا في حاويات معزولة | | جرد تعليمات Wasm | 1034 من 1034 تعليمة | مقام `wasm-tools` الخارجي و WAT قابل لإعادة التجميع؛ بسط التنزيل مُحتسَب ذاتيًا | | جدول تعليمات Luau | 86 من 88 مدخلة مرفوعة | الجدول المُعلَن من Disrobe؛ يبقى `BREAK` و `NEWCLASSMEMBER` مُفكَّكين لكن غير محلولين | | رموز Swift | مجموعة الرموز المُلتزَم بها تُصيَّر إلى سلاسل مثبَّتة | اتساق الانحدار، دون مقارنة إلزامية بمُفكِّك رموز خارجي | | تسطيح OLLVM | 9 حالات مُدرَكة من أصل 9 حالات مشتقّة | تغطية حالات المُوزِّع عبر دالتين مُلتزَم بهما؛ كلا العددين مشتقّ داخل العملية | | الحساب المنطقي المختلط | 316 مدخلة؛ أجابت التشغيلة المرجعية عن 247 ورفضت 69؛ أثبت المُحلِّل الخارجي 236 إجابة ولم يدحض أيًّا منها | استرداد بميزانية ومُدخلات أصلية محجوزة؛ المدخلات غير المُجابة أو غير المُثبتة لا تصبح نتائج مُثبتة بالمُحلِّل | | الحاويات | 42 مسارًا عامًّا يكتب بايتات الأعضاء | اتساع مُمارَس ضمن 103 صيغة مكتشفة؛ LUKS1 لديه مقارنة نص صريح خاصة به |

سجلات الأدلة الكاملة تصف كل مجموعة وقاعدة تقييم.

تستخدم تسميات المخطط strong لمرجع صحة مستقل، و recompile-only لقبول المُصرِّف، و coverage-self-reported لعدّادات التغطية الخاصة بـ Disrobe. تحدد طريقة المقارنة والمجموعة نطاق كل نتيجة.

تصفّح النتائج، ومقارنات الأدوات، ومتطلبات إعادة الإنتاج للقياسات الفردية.

اعرف الحدود

  • المخرجات المُصرَّفة تفقد المعلومات. قد تكون التعليقات الأصلية والتنسيق والأسماء وبعض معلومات الأنواع غائبة.
  • التعرف على العائلة أوسع من الاسترداد. يمكن أن يتواجد تطابق في الكتالوج أو مُحلِّل ناجح جنبًا إلى جنب مع إصدار جزئي للمصدر. اقرأ فئة العائلة والنتيجة الفعلية.
  • الاسترداد الأصلي يعتمد على المعمارية ولغة المخرجات. يسرد الدليل الأصلي المسارات المدعومة واختباراتها.
  • كشف حماة الأجهزة الافتراضية التجارية ليس وعدًا عامًّا باسترداد المصدر. المساعدات الداخلية وآثار الأقسام المحمية لا تُثبت مسار استرداد كامل عبر CLI. راجع فك التغليف الأصلي.
  • المفاتيح المفقودة تبقى مفقودة. لا يمكن استنتاج المفاتيح المشتقة وقت التشغيل وبذور تجزئة الأسماء الغائبة من أثر غير مدعوم. توضح أدلة Python، وPHP، والحاويات الحدود الخاصة بكل صيغة.
  • الواجهات الخلفية الخارجية لها متطلباتها الخاصة. يمكن لبعض الأوامر اختيار أدوات مثبَّتة عبر --backend auto. راجع مساعدة الأمر ودليل التثبيت قبل اختيار واجهة خلفية.
  • التحليل افتراضيًا هو استرداد ساكن. هذا لا يجعل المدخلات غير الموثوقة غير ضارة. تُوصف حدود الموارد والعمليات الديناميكية المختارة صراحةً وحدود العمليات الخارجية في سلامة الطب الشرعي.

افهم خط المعالجة

التمثيلات الوسيطة لـ Disrobe، من البايتات عبر بنية البرنامج إلى المصدر

يربط مُشغِّل السلسلة تمريرات أحادية الغرض عبر آثار مشتركة وتمثيلات وسيطة. تُسهم كل تمريرة بالمخرجات التي يمكنها تبريرها؛ يحتفظ المستهلكون اللاحقون بالأصل ويُبلِّغون عن الحدود غير المدعومة. استكشف المعمارية، ونموذج التمريرات، وسلّم التمثيلات الوسيطة، ومُشغِّل السلسلة.

التوثيق والمساهمة

ابدأ بـالتوثيق، والبدء السريع، ودليل النتائج. استخدم disrobe explain <code> للبحث عن تشخيص. للتغييرات في المشروع، اقرأ دليل المساهمة واختبارات الميزة المعنية وأدلتها.

يصف نموذج التهديد حدود الثقة ومعالجة المدخلات. أبلغ عن المخاوف الأمنية عبر SECURITY.md. يصف LEGAL.md الاعتبارات القانونية للمشروع؛ إذ يعتمد إذن تحليل أثر على ظروفك.

الترخيص

License: Disrobe Source-Available

كل إصدار من Disrobe مملوك ومتاح المصدر بموجب ترخيص Disrobe Source-Available، الإصدار 1.1، الذي يحل محل Elastic License 2.0 والإصدار 1.0 لجميع الإصدارات ويلغي جميع المنح السابقة كما هو مذكور في إشعار إعادة الترخيص.

مشاريع الهوايات الشخصية، والتعلّم الشخصي، والبحوث الأمنية المستقلة غير المدفوعة من الأفراد، والتعليم والبحوث غير الربحية، والصحافة النزيهة مجانية، كما هو محدد في الترخيص.

أي استخدام من قِبَل شركة أو لصالحها يتطلب ترخيصًا مدفوعًا. راجع الترخيص التجاري.

الإسناد المطلوب: استخدم هذا العمل Disrobe، من إنشاء 1-3-7: https://github.com/1-3-7/disrobe

يُحظر إنشاء تفرعات غير تفرعات المساهمة، وإعادة النشر، وإعادة العلامة التجارية، وإعادة البيع، والاستضافة، والتطوير المنافس. يُقدَّم البرنامج كما هو، على مسؤولية المستخدم.

راجع الإسناد، وشروط المساهمين، والملخص، وإشعارات الأطراف الثالثة.

حقوق النشر (c) 2025-2026 1-3-7. جميع الحقوق محفوظة.

تم دمج التزامات التطوير السابقة في خط أساس واحد كجزء من تحديث التوثيق والعرض المرئي.

تنزيل الأداة
المهمةالأوامرالمخرجات أو الخطوة التالية
العثور على المؤشرات والأسرار والنتائج الساكنةscan، frisk، strings، ioc، indicators، behaviorالنتائج والإزاحات
فحص الدوال والتدفقات والسلوكquery، capabilities، taint، vulnmatchالـ IR القابل للاستعلام، تعيينات ATT&CK/MBC وتقارير المصدر إلى الحوض
الاحتفاظ بالتعليقات التوضيحية والقطع الأثرية المنظمةannot، rename، envelope، verify، yaraمغلّفات القطع الأثرية وحالة المحلل
تتبع المصدر ومقارنة التشغيلاتchain، context، status، report، diff، guard، semdiffالتقارير، والتجزئات، وفروقات الاستعادة
جمع بيانات الشبكة العامةprowlجمع الشبكة الصريح، منفصل عن الاستعادة دون اتصال
السطحنقطة الدخولالدليل
Rustأنواع النواة المشتركة وحزم التمريرات الفرديةواجهات المكتبة
Pythonارتباطات مُنمّطة عبر import disrobeارتباطات Python
HTTP وgRPC وLSPdisrobe serveالخدمة
بروتوكول سياق النموذجdisrobe-mcp أو disrobe serve --mcpتكامل MCP
المحررات وأدوات التحليلVS Code، IDA Pro، Ghidra، Binary Ninjaتكاملات المحررات
GitHub Actionsإجراء المستودع ومخرجات SARIFإجراء GitHub
فحوصات الالتزام المحليةمعرّف الخطاف disrobepre-commit
المتصفحعامل Wasm من جانب العميلساحة التجربة
سياق المشروع لأدوات البرمجةdisrobe init --ideالملف الجانبي للبيانات الوصفية
مهمة الاستعادةالأدوات المسمّاةمسار Disrobeكيفية الاختيار أو الدمج
بايت كود Python إلى مصدرpycdc، PyLingual، uncompyle6، decompyle3مفكك CPython 1.0 إلى 3.15 داخل العملية، واستعادة كائنات الكود المتداخلة، ومخرجات المصدر/التفكيك/شجرة التركيب المجردةافحص المصدر المستعاد والتفكيك وشجرة التركيب المجردة من مفكك Python المدمج
استخراج Python المجمّدpyinstxtractor-ng، pydecipherاستخراج PyInstaller وNuitka والمجمّدات متبوعًا باستعادة بايت الكوديمكن لـ auto المتابعة من العضو المستخرج عبر حامٍ إلى مفكك Python
PyArmorPyarmor-Static-Unpack-1shotاستعادة الغلاف/وقت التشغيل الساكنة، وتقارير الأوضاع، ورفع BCC الساكن الاختياريوفّر وقت التشغيل المطابق لاستعادة بيانات الغلاف وفحص النتائج الخاصة بكل وضع
فحص Picklefickling، pickletools في Pythonتتبع التعليمات، والمختزلات الرمزية، والتصنيف، وإعادة بناء القيمافحص دون تنفيذ المختزلات؛ يقيّم pickletools الفحص، ويتحقق CPython من إعادة البناء على 470 عيّنة مولّدة
إزالة تشويش JavaScriptwebcrack، synchrony، REstringerobfuscator.io، JS-Confuser، أنماط Jscrambler المدعومة، مفككات غريبة، استعادة الثوابت/تدفق التحكماستخدم js deob للخيارات الصريحة أو auto عندما تكون JS داخل حزمة
فك تجميع JS وخرائط المصدرwakaru، webcrack، sourcemapperاستخراج الوحدات، ومعالجة خرائط المصدر، وإعادة التسمية الواعية بالنطاق، وفحص V8 المعبّأيكشف js unbundle عن مسارات تجميع أكثر من الإرسال التلقائي للسلسلة
WebAssemblyWABT wasm-decompile، BinaryenWAT ومصدر شبه-كودي بـ C/Rust/TypeScript، وملخصات JSON، وعكس التشويش المدعومافحص هدف مصدر محدد؛ تتحقق تنفيذات wasmtime أدناه من السلوك المستعاد بشكل مستقل
مصدر JVMCFR، Vineflower، Procyon، Fernflowerاستعادة ملفات الفئات الأصلية مع معالجة الحماة/السلاسليكتب jvm decompile قطع Disrobe الأثرية إلى جانب مخرجات خلفية مثبّتة؛ ولـ CFR نتيجة إنتاجية ترجمة مقاسة أدناه
حزم Android وDEXJADX، apktool، androguard، dex2jarاستعادة Dalvik داخل العملية، وبيانات/توقيعات APK الوصفية، والاستخراج من وقت التشغيل، ومخرجات Javaيعود تفكيك DEX/APK افتراضيًا إلى المسار الأصلي؛ وتُختار خلفية Android صراحةً. ولـ JADX مرحلة مقاسة أدناه
تجميعات .NETILSpy، dnSpy، dnSpyEx، de4dotاستعادة CIL مع ثوابت خاصة بالحماة، والموارد، وأجسام VM، وبيانات Native AOT الوصفيةيكتب dotnet decompile مخرجات CIL من Disrobe إلى جانب مُصيّر مثبّت؛ ويختار --backend auto بين ILSpy أو dnSpyEx أو dnSpy أو de4dot
التفكيك الأصليGhidra، IDA، Binary Ninjaشبه-كود C/Rust لـ x86-64 وAArch64/ARM32/MIPS32 داخل العملية؛ تقارير الرموز/الأنواع المستعادةاختر Ghidra بلا واجهة عبر --backend ghidra، أو استخدم تكاملات المحررات والرموز المصدّرة في جلسة تحليل تفاعلية
الملفات التنفيذية الأصلية المعبّأةupx -d، unipacker، Detect It Easyفاكّات مضغّطة منفّذة ومحاكاة محدودة للـ stub، وصور PE معاد بناؤها، ووحدات محمّل مضمّنةصدّر صور PE المستعادة إلى Ghidra/IDA. تقارن قياسات Ghidra أدناه بين المدخلات المعبّأة والمعاد بناؤها
التشويش الأصليGhidra، IDA، Binary Ninja وسكربتات إزالة التشويشتحويلات OLLVM/Tigress، وتبسيط MBA، وسلاسل المكدس، والبيانات الوصفية الأصلية وتقارير الاستعادةاختر عملية/واجهة API الأصلية ذات الصلة؛ بصمة حامي VM وحدها لا تعني استعادة الجسم
بيانات Go الوصفية وgarbleGoReSym، redress، gorepclntab، وبيانات الوحدة/النوع الوصفية، والملفات المضمّنة، وحرفيات garble القابلة للاستعادةيبلّغ go عن الأسماء/الأنواع؛ ويتعامل native decompile مع مسار مصدر كود الآلة بشكل منفصل
Swift / Objective-Cswift-demangle، class-dump، jtool2بيانات الفئات/البروتوكولات/المحددات في وقت التشغيل، وعرض الرموز، والشرائح الدهنية، ومكتبات dylib في الذاكرة المشتركةوفّر التعيينات الباقية وملفات الذاكرة الفرعية؛ الأسماء الأصلية الممحاة بإعادة التسمية تحتاج خريطة خارجية
بايت كود Lua وأجهزة VMunluac، luadec، LuaDec51مصدر Lua/LuaJIT/Luau مع استعادة المشوّش المدعوم وVM المخصصلدى IronBrew2 دليل تفاضلي لتنفيذ الأداة الحقيقية؛ استعادة .luac العادية واستعادة VM عمليتان مختلفتان
بايت كود Rubyتفكيك MRIمصدر YARV وmruby، وقوائم الأكواد التشغيلية، وتصنيف المجمّد/AOTتعيد إعادة ترجمة MRI تقييم استدعاء أسماء الأكواد التشغيلية؛ وهذا القياس لا يثبت تكافؤ التنفيذ
طبقات PHPphp-malware-finderتقشير سلاسل eval وحلقات/شفريات المفاتيح الحرفية، واستخراج Phar، وتقارير مغلّفات المُرمِّزاستخدم الطبقات الساكنة ومواد المفاتيح المتاحة؛ تبقى الحمولات التجارية المرتبطة بمحمّل أصلي مغلقة
PowerShell، Bash، VBAPowerDecode، أدوات FLARE، olevbaإزالة تشويش الصدفة، ومصدر VBA/كود p-code والطمس، وصيغ XLM، وإجراءات PDFيضع shell استعادة السكربت ونتائج المستندات إلى جانب بقية تحليل القطع الأثرية
BEAM / ActionScriptbeam_disasm في Erlang، RABCDAsmاستعادة مصدر تصحيح BEAM/Core Erlang وشبه-كود جسم دالة ABCحافظ على أجزاء التصحيح عند توفرها؛ ولدى BEAM المجرّد فحص تنفيذ Erlang حقيقي منفصل
Hermes / React Nativehermes-dec، hbctool، DroidSawالاستخراج من وقت التشغيل، وبنية HBC، ورفع شبه-JavaScript المدعوميغطي تحليل HBC الإصدارات v60 إلى v96؛ ورفع المصدر له حد مقاس أضيق. جسر تلويث Hermes-to-DEX غير منفّذ
Flutter / Dart AOTreFlutter، Darter، blutterجداول مصدر Kernel، ومخطط إعلانات AOT، وأجسام ARM64، والسلاسل، وتحليل خريطة إعادة التسميةمصدر Kernel وبيانات AOT الوصفية مستويان مختلفان من الاستعادة؛ وإصدارات اللقطة تقيّد تحليل AOT
الحاويات والبرامج الثابتةbinwalk، unblob، 7-Zipاستخراج الصيغ المسجّلة، والتوجيه التكراري للأبناء، وفك/نحت البرامج الثابتة، وتقارير الرفض لكل عضومرّر الأعضاء المستخرجة مباشرة إلى تمريرات اللغات؛ قارن بايتات الأعضاء بدلًا من اعتبار السحر المتعرَّف عليه استخراجًا ناجحًا
الأسرار والمؤشراتAPKLeaks، TruffleHog، Gitleaks، LinkFinderنتائج الشجرة/APK المستعادة، وإزاحات الرموز، والسلاسل الساكنة، وتقارير الأسرار والمؤشراتافحص APK أو الشجرة المستعادة؛ قارن APKLeaks مقابل نفس الأسرار المزروعة أدناه
تحديد الصيغة والحزمة والمترجمDetect It Easy، TrID، PEiD، binwalkتحديد متعدد الإشارات، والرموز، والتوقيعات، وتلميحات التوجيهاستخدم identify/detect لاختيار مسار استعادة، ثم افحص مخرجاته الفعلية
القدرات والتلويثcapa، سكربتات Ghidra، Joernنتائج ATT&CK/MBC مع الإزاحات، واستعلامات IR المُوحّد، وتقارير تدفق المصدر إلى الحوضشغّل مطابقة القدرات وتحليل المصدر إلى الحوض على القطع الأثرية المستعادة؛ ويتضمن تقرير التلويث مجموعة اختبار Juliet الخاصة به
الأداة والمدخلنتيجة Disrobeنتيجة الأداة المسمّاةما يتحقق منه القياس
JADX 1.5.5 · Android DEX157 / 228 منطقة مُصدَرة تُترجم بنجاح281 / 303 منطقة مُصدَرة تُترجم بنجاحDEX من EdgeCases الملتزم؛ javac حقيقي، ترجمة المصدر الكامل ثم عزل محدود للمناطق التي تعيق الإسناد؛ مجموعات مُصدَرة مختلفة
CFR 0.152 · JVM classfile181 / 181 منطقة مُصدَرة تُترجم بنجاح152 / 166 منطقة مُصدَرة تُترجم بنجاحJAR من EdgeCases الملتزم؛ نفس إجراء المترجم/المقيّم؛ مجموعات مُصدَرة مختلفة
APKLeaks 2.6.3 · APK بأسرار مزروعة8 / 8 أسرار مزروعة5 / 8 أسرار مزروعةاستدعاء الرموز الدقيق على نفس APK؛ يجد Disrobe أيضًا مفتاح الوصول السري لـ AWS المزروع، وبيانات الاعتماد الأساسية، وJWT
المدخل المعبّأدوال Ghidra، معبّأ → معاد بناؤهالتعليمات، معبّأ → معاد بناؤهالسلاسل، معبّأ → معاد بناؤهتصييرات C المكتملة، معبّأ → معاد بناؤه
UPX · Rust hello4 → 287225 → 19,06023 → 1794 → 287
ASPack · Clockres5 → 24358 → 10,54448 → 1165 → 210
ASPack · AccessEnum5 → 10173 → 5,78162 → 1955 → 101
PECompact · Clockres2 → 306148 → 14,60327 → 271 → 267
PECompact · AccessEnum2 → 186155 → 9,27852 → 532 → 186
MEW · Clockres4 → 333125 → 20,9903 → 358غير مقاس
MEW · AccessEnum4 → 152125 → 9,5923 → 802غير مقاس
MEW · Autologon4 → 295125 → 19,5953 → 406غير مقاس
kkrunchy classic · NASM hello4 → 1149 → 103 → 44 → 1
المدخلمناطق Disrobe المُصدَرةمناطق الأداة المسمّاة المُصدَرةحدود المجموعةإعادة الإنتاج
Android DEX157 / 228 منطقة مُصدَرة تُترجم بنجاحJADX 1.5.5: 281 / 303 منطقة مُصدَرة تُترجم بنجاحلا ترتيب بين الأدوات: لكل أداة مجموعة مناطق مُصدَرة خاصة بهاcargo run --locked -p disrobe-bench-head-to-head -- --check --only apk-jadx-cfr
JVM classfile181 / 181 منطقة مُصدَرة تُترجم بنجاحCFR 0.152: 152 / 166 منطقة مُصدَرة تُترجم بنجاحلا ترتيب بين الأدوات: لكل أداة مجموعة مناطق مُصدَرة خاصة بهاcargo run --locked -p disrobe-bench-head-to-head -- --check --only apk-jadx-cfr
الاستعادةالنتيجة المسجّلةالمرجع والحد
Python 3.14.5، وحدات مثبّتة6077 من 6286 كائن كودإعادة ترجمة CPython مع مقارنة بنية الأكواد التشغيلية المُوحّدة؛ لا تُقيَّم أهداف القفز ومعظم المعاملات والكائنات المستعادة الإضافية. النتيجة
Python 3.14.5، مجموعة نواة ثابتة17396 من 18276 كائن كود، قياس محلينفس المقارنة المُوحّدة عبر 574 وحدة؛ هذه ليست نتيجة تكافؤ دلالي. النتيجة
Python القديم 1.0 إلى 3.7على الأقل 150 من 191 عيّنة (حد الانحدار)إعادة ترجمة بمفسّر الفترة أو رموز بنيوية مقابل المصدر الأصلي. النتيجة
تصنيف Pickle102 / 102 عيّنة تصنيفدلالات pickletools. النتيجة
إعادة بناء Pickle470 / 470 عيّنة معاد بناؤها تجتاز فحوصات تساوي إعادة التنفيذإعادة تنفيذ CPython. النتيجة
ترجمة مصدر JVM131 من 131 دالة تُترجمjavac حقيقي. النتيجة
سلوك JVM117 / 131 دالة تطابق التنفيذ الملاحَظJVM حقيقي؛ ثماني دوال تتباين وست لا تُشغَّل بمعزل. النتيجة
Android DEX118 / 118 فئة معروضة على المدقق-Xverify:all في JVM؛ 37 من 155 فئة متخطاة في الربط وغير مقيّمة. النتيجة
.NET C#18 / 35 نوع EdgeCases كامل يُعاد ترجمته مستقلًاRoslyn csc حقيقي؛ المصدر القانوني لا يثبت سلوكًا مكافئًا. النتيجة
أجسام .NET VMنموذج Eazfuscator: 67 / 67 تعليمة؛ KoiVM حقيقي: 6 / 6 أجسام مرفوعةمراجع أصلية/بناء نظيف منفصلة؛ يستخدم EazVM مُخيِّلًا داخل المستودع، ويستخدم KoiVM مخرجات أداة حقيقية. الأدلة
WebAssembly57 / 57 دالة مؤهلةيقارن wasmtime القيم المُعادة والفخاخ وأول 4,096 بايت من الذاكرة الخطية على مدخلات الاختبار. النتيجة
BEAM بدون أجزاء تصحيح19 / 19 وحدةإعادة ترجمة Erlang/OTP 27.3.4، ومقارنة التصدير، ومخرجات/حالة خروج test/0. النتيجة
Lua IronBrew2مخرجات 2.7.0 القياسية وMAX الحقيقية تُستعاد إلى تنفيذ مطابقمفسّر Lua حقيقي مقابل البرامج الأصلية؛ عائلة VM واحدة. النتيجة
Ruby YARVGreeter 100%؛ megafile 98.67% استدعاء أسماء الأكواد التشغيليةإعادة ترجمة MRI؛ يتجاهل استدعاء المجموعة المتعددة الترتيب والمعاملات وأهداف التفرع والتعليمات الإضافية. النتيجة
أسماء أنواع Go المجرّدة838 من 838 اسمًابيانات go1.26.3 الوصفية الحقيقية من بناء المقارنة. النتيجة
Hermes HBC v968 من 8 دوال، صفر عمليات احتياطيةعيّنة hermesc حقيقية مع المصدر الأصلي وأسماء الدوال. النتيجة
بايتات أصلية معبّأةUPX، FSG، NSPack، Petite، MPRESS .text متطابقة بايتيًا على أزواج ملتزمة مسمّاة؛ موارد Yoda's Crypter متطابقة بايتيًابايتات أصلية محاذاة بـ RVA؛ تبقى البواقي على مستوى الصورة الكاملة والموارد مُبلَّغًا عنها بشكل منفصل. جدول لكل مدخل
مؤشرات مزروعة6 / 6 فئات IOC ممثّلةنقاط نهاية ملتزمة، ونتائج بيان، وعناوين URL، وIPv4، وبريد إلكتروني، وحقيقة .onion الأرضية. النتيجة
مخطط استدعاء MCP5 / 5 حواف مباشرة، جميعها محدّدة بشكل صحيحELF مجرّد مقارن بتوأمه المميز غير المجرّد من نفس سلسلة الأدوات. الدقة، الاستدعاء
التلويث الأصلي93 / 190 تدفقًا موسومًا مستدعى؛ صفر إيجابيات كاذبة، قياس محليشريحة NIST Juliet CWE-78 char/system، gcc 16.2.0 -O2؛ سبع فئات تدفق معلنة ليس لها حالات في هذه الشريحة. النتيجة