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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
N0xis — مجموعة أدوات الهندسة العكسية القائمة على الذكاء الاصطناعي أولاً: التحليل الساكن، مفكك التجميع SSA، الذاكرة الحية، التتبع المصدر. المصدر متاح (PolyForm Noncommercial). | Kitploit
أدوات/GitHubGitHub/structio-labs/n0xis
التحليل الثابتالتحليل الديناميكي (عزل)تحليل الذاكرة الجنائيالهندسة العكسيةمصممي الأخطاءتحليل البرمجيات الخبيثةالأدوات والمكوناتتحليل الملفات الثنائيةالهندسة العكسية بمساعدة الذكاء الاصطناعياستغلال الملفات الثنائية
GitHub
13منذ 19 أياملم تتم المراجعة بعد
structio-labs/n0xis

N0xis

مجموعة أدوات الهندسة العكسية القائمة على الذكاء الاصطناعي أولاً: التحليل الساكن، مفكك التجميع SSA، الذاكرة الحية، التتبع المصدر. المصدر متاح (PolyForm Noncommercial).

عرض المستودع

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة

N0xis

من نقطة مراقبة عتادية في عملية حية إلى العبارة المفكوكة بالضبط التي غيّرت القيمة.

تجد ماسحات الذاكرة العنوان. تشرح المفككات الكود. N0xis يربط بينهما.

$ n0x provenance trace --pid 9348 --addr 0x7ff68bef3010 --kind write
"function_va": "0x7ff68bef1580",          // containing function, auto-resolved
"decompiled_context": [
  "rax.2 = (*(uint32_t*)(0x7ff68bef3010) - 0x1);",
  "*(uint32_t*)(0x7ff68bef3010) = rax.2;"  // ← the statement that moved your value
]

هذا هو hp -= 1; في المصدر، مستعادًا من عملية قيد التشغيل — يظهر العنوان المراقَب في العبارة. تم التحقق منه على Windows و Linux.

عادةً ما تتوقف عملية فحص "ابحث عمّا يصل إلى هذا" عند سطر تفكيك خام، وعادةً لا يكون للمفكك أي مدخل من نقطة مراقبة حية على الإطلاق. هذا هو دمج النصفين: يتم حل إصابة نقطة المراقبة عبر نفس مسار SSA الذي يفكك الملف.

التثبيت

ملفات تنفيذية جاهزة لـ Linux و Windows — أحدث إصدار.

curl -LO https://github.com/Structio-labs/N0xis/releases/latest/download/n0xis-linux-x86_64
chmod +x n0xis-linux-x86_64 && ./n0xis-linux-x86_64 --version

أو قم ببنائه: cargo build --workspace --release (Windows و Linux؛ لا حاجة إلى MSVC Build Tools — يثبّت rust-toolchain.toml مضيف gnu).

البدء السريع

كل أمر يطبع كائن JSON واحدًا — بما في ذلك أخطاء الوسائط: {"ok":true,"data":…,"meta":…} أو {"ok":false,"error":…}. أضف --pretty لقراءته؛ رمز الخروج غير صفري عند الفشل.

n0x doctor                                                    # environment check
n0x profile --file game.exe                                   # triage: sections, exports, engine hints
n0x function discover --file game.exe --pdata                 # exact .pdata discovery
n0x decomp pseudo --file game.exe --addr 0x140012a00 --style ssa --pretty
n0x provenance trace --pid 4821 --addr 0x1a2b3c40 --kind write --pretty

تعمل الأوامر نفسها على --pid حي، أو --file ثابت، أو --snapshot ملتقط، أو عملية بعيدة عبر SSH. إنها سباكة Unix عادية — n0x function discover --file game.exe --pdata | jq -r '.data.functions[].va' يغذّي الأمر التالي. يسرد n0x guide جميع الأوامر الـ 113، مولّدة من الملف التنفيذي بحيث لا تنحرف أبدًا — ويفشل اختبار البناء إذا تغيّر هذا الرقم.

من وكيل: وجّه أي عميل MCP إلى n0xis-mcp — 25 أداة تُرجع نفس مغلّف {ok,data,meta}، JSON-RPC عبر stdio.

{ "mcpServers": { "n0xis": { "command": "/path/to/n0xis-mcp" } } }

ما الذي يفعله

  • التفكيك — مفكك SSA محسِّن (Memory-SSA، دمج متغيرات phi-web، تدمير SSA كامل، شروط تفرع دقيقة) حيث يبلّغ المحسِّن عن كل إعادة كتابة أجراها (--explain: أي تمرير فرعي غيّر ماذا، وفي أي عنوان)، وليس إجابة صندوق أسود.
  • فحص الذاكرة الحية — فحص القيم/المؤشرات/AOB مع تضييق مدعوم باللقطات، تجميد، خطافات code-cave. حلقة الفحص الكامل → التضييق → التجميد → الترقيع.
  • المراقبة والشرح — نقاط توقف برمجية / عتادية / شرطية ومكدس استدعاء حقيقي مُفرَّغ عبر العمليات؛ المادة الخام التي تُبنى عليها الاستدلالية.
  • استعادة الأسماء — أصناف C++ من RTTI على كلا الـ ABIs (سلاسل MSVC .rdata ورموز Itanium _ZTV)، و.NET NativeAOT RVA ↔ Namespace.Type.Method، وLuaJIT، وBitsquid، وIL2CPP — بحيث تُقرأ صورة مجرّدة ككود مصدري، لا sub_XXXX.
  • الحفظ والفرق — جداول .n0xt، تعليقات مُصدَّرة، تخزين مؤقت معنون بالمحتوى، ومقارنة الدوال/الإصدارات.

Windows و Linux، PE و ELF، مسار واحد — الملفات الثابتة والعمليات الحية واللقطات والأهداف البعيدة كلها تمر عبر نفس التمريرات ونفس JSON المُصدَّر.

لا يوجد عدم حتمية من ML في النواة، أبدًا. توجد واجهة رسومية سطح مكتب في مستودع منفصل: n0xis-gui.

الحالة

ألفا. كل ادعاء أدناه هو قياس مقابل مصدر خارج الأداة — النواة، أو جداول الصورة نفسها، أو العملية الهدف ذاتها. حيث لا يوجد مصدر كهذا، يُذكر ذلك، لأن المُنفَّذ والمُتحقَّق منه ليسا نفس الادعاء.

الذاكرة الحية، مقابل هدف قابل للتخلص منه يزرع قيمًا معروفة:

  • Linux — 29 من 31 أمرًا مقيسة مقابل /proc/<pid>/mem، واحد خاطئ وتم إصلاحه. الأمران الآخران خاصان بـ Windows فقط ويرفضان العمل مع ذكر ذلك. الخطأ الواحد كان scan dissect، الذي اختار عرض حقل قبل محاذاته فقرأ بنيةً بإزاحة أربعة بايتات من أول خطأ له: حقل واحد من ستة صحيح مقابل تخطيط معروف من مصدره، وخمسة من ستة بعد ذلك.
  • Windows 11 — 21 من 23 فحصًا مقيسة، 0 خاطئة، مع الهدف نفسه كمرجع. يجد ui focus بشكل صحيح عدم وجود نافذة على هدف طرفية؛ وstack backtrace هو Linux-only — المكان الوحيد الذي يتقدم فيه محوّل Linux.

المفكك، مقابل مفكك مستقل — الأساس الذي يقف عليه كل شيء آخر، وحتى الآن كان يُفحص فقط بواسطة التمريرات المبنية فوقه، والتي تقرأ جميعها نفس التدفق:

  • x86: حدود التعليمات مقارنة بـ objdump. ثلاثة أشكال مبنية لغرض محدد دقيقة، 20 000 تعليمة من مكتبة مشتركة و20 000 من DLL نظام 32-بت، صفر خلافات وصفر حدود امتلكها أحد الجانبين وحده. وُسِّع إلى 60 000 تعليمة من ملف متصفح مجرّد بحجم 334 ميغابايت: خلافان، كلاهما داخل سلسلة ASCII مضمّنة في .text حيث يفكّ المرجع نفسه (bad) — ليس كودًا، ولا أي من القراءتين هي الصحيحة.
  • AArch64: الرموز التذكيرية مقارنة بـ llvm-objdump (التشفيرات ثابتة العرض تجعل الحدود بلا معنى). انظر سطر ARM64 أدناه.
  • AArch64، فضاء التشفير بدلًا من مخرجات المترجم: 600 كلمة حتمية حُكم عليها بواسطة llvm-mc --mattr=+all وبواسطة n0xis. 241 يسميها كلاهما تعليمة، و304 يرفضها كلاهما — و48 (8.0%) تشفيرات محجوزة يقرأها n0xis كتعليمات، مع 7 (1.2%) تعليمات حقيقية يرفضها (معظمها LSE atomics). ثلاثة من الـ 48 فُكّت يدويًا وهي حقًا UNALLOCATED. هذه الفجوة مقيّدة بحد يفشل إذا نمت، ومذكورة هنا بدلًا من تركها خارجًا: كلمة محجوزة تُقرأ كتعليمة تحوّل البيانات إلى برنامج معقول.

امتدادات الدوال، مقابل جدول فك الالتفاف الخاص بالصورة وقائمة تصدير الرابط:

  • start..end لكل FDE من objdump --dwarf=frames مساوٍ للامتداد المستعاد — 3 787 مقارنة على هذا الجهاز (10 + 3 777 لـ libc)، البداية والنهاية، دقيقة؛ قيست بشكل منفصل عند 15 467 و14 355 على مكتبتين كبيرتين.
  • 0 نقطة دخول مُصدَّرة فائتة من قائمة الدوال: 10 من 10 على شكل المرجع و2 323 من 2 323 داخل نافذة libc المفحوصة.

المراجع المتقاطعة ورسم الاستدعاء، مقابل تفكيك مصدر ليس هذه الأداة:

  • 4 733 مرجعًا عبر أكثر ستة أهداف ازدحامًا في مكتبة C نظامية — لا شيء فائت ولا شيء مُختلق، في كلا الاتجاهين. call، وjmp الاستدعاء الذيل، ومراجع البيانات النسبية لـ RIP كلها مُصنَّفة بـ kind، وكل واحدة قورنت بما يُظهره objdump.
  • 304 موقع استدعاء عبر 100 دالة — لا شيء فائت ولا شيء مُختلق، مع أخذ امتداد كل دالة من جدول فك الالتفاف بدلًا من حدود رمز، واستدعاء ذيل (بما في ذلك استدعاء شرطي) يُحسب كالاستدعاء الذي هو عليه.
  • 464 هدف تفرع عبر 100 دالة، كل واحد منها بداية كتلة أساسية. هدف يفوته المُقسِّم يترك كتلتين مدموجتين، فحافة موجودة في البرنامج لا توجد في الرسم — ولا شيء فوقه يمكنه ملاحظة ذلك.

حقول البنية المستعادة، مقابل المترجم الذي خطّط البنية:

  • gcc -g يذكر إزاحة كل عضو؛ 15 إزاحة حقل مستعادة عبر 10 دوال، كل واحدة عضو حقيقي — لا شيء مُختلق. أحادي الاتجاه عن قصد: المحسِّن يطوي ويُسقط وصولات الحقول، فعضو لا يظهر أبدًا هو فعل المترجم، لا خطأ فائت.
تنزيل الأداة