Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/stolevchristian/sylvia
التحليل الثابتأمان iOSتحليل الثغرات الأمنيةالهندسة العكسيةمصممي الأخطاءجمع المعلوماتأمن الجوالتحليل الملفات الثنائية
GitHubstolevchristian/sylvia

sylvia

مستكشف استدعاءات النظام في iOS لـ IDA 9.X

عرض المستودع
151منذ 2 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

محلل استدعاءات النظام AArch64 لنظام iOS

سكربت لـ IDA Pro يفحص ملفًا ثنائيًا AArch64 بحثًا عن تعليمات SVC، ويستخرج رقم استدعاء نظام BSD من المسجّل X16، ويعرض كل النتائج في واجهة مستخدم غنية قابلة للإرساء، مع إمكانية التنقل بين مواضع كل استدعاء وجلب توثيق صفحات man مباشرة.

صُمم للهندسة العكسية لتطبيقات iOS / macOS على IDA Pro 9.x. السبب الوحيد الذي دفعني لإنشائه هو أثناء الهندسة العكسية لمنصات iOS التي تتضمن إجراءات مضادة للعبث تصل حتى مستوى استدعاءات النظام. لقد مللت من طباعة استدعاءات النظام على الطرفية وأردت شيئًا مريحًا للعرض وفي الوقت نفسه يجلب التوثيق مباشرة.

ملف ReadMe هذا بالكامل من إنشاء الذكاء الاصطناعي، وكذلك معظم أجزاء السكربت. كتبت الأساس بنفسي ثم تركت Claude Opus 4.7 يقوم بسحره ليجمّع كل شيء بواجهة مستخدم جميلة.


الميزات

  • فحص كامل للملف الثنائي — يعثر على كل تعليمة SVC #0x80 ويستعيد إعداد MOV X16, #num حتى 8 تعليمات سابقة
  • خريطة استدعاءات من 556 مدخلًا — جدول كامل لاستدعاءات نظام BSD لبنية AArch64 على iOS/macOS (Darwin XNU)
  • 9 فئات مرمّزة بالألوان — إدخال/إخراج الملفات، الشبكة، الذاكرة، العمليات، الخيوط، التواصل بين العمليات (IPC)، الأمان، الوقت، متنوع؛ تعيد الألوان استخدام لوحة التفكيك الخاصة بـ IDA نفسها
  • لوحة قابلة للإرساء — تعمل داخل IDA كأداة أصلية؛ أعد تشغيل السكربت لإعادة التركيز على النافذة نفسها
  • تصفية فورية — ابحث بالاسم أو الرقم (0x5، 5) أو اسم الدالة؛ ويمكن أيضًا التصفية حسب الفئة من قائمة منسدلة
  • جدول المواضع — يسرد كل عنوان وRVA يظهر فيه استدعاء معيّن، مرتبة؛ انقر نقرًا مزدوجًا أو اضغط Enter للانتقال إلى ذلك العنوان في IDA
  • توثيق مباشر — يجلب صفحة man 2 كاملة من man.freebsd.org في خيط خلفي (Darwin مشتق من BSD)؛ تُخزَّن النتائج مؤقتًا لكل جلسة
  • أوصاف مدمجة — حوالي 250 استدعاء نظام لها وصف بسطر واحد متاح فورًا دون طلب شبكة
  • تصدير JSON — يفرغ جميع استدعاءات النظام التي تم العثور عليها (الاسم، الرقم، العنوان، RVA، الدالة، الفئة) إلى ملف JSON
  • قوائم سياق بزر الفأرة الأيمن — نسخ الاسم، نسخ الرقم، الانتقال إلى أول موضع، جلب صفحة man (جدول الاستدعاءات)؛ نسخ العنوان، نسخ اسم الدالة (جدول المواضع)
  • اختصارات لوحة المفاتيح — Ctrl+F يركز على مربع البحث؛ Enter على موضع محدد ينتقل إليه

المتطلبات

المتطلبالإصدار
IDA Pro9.x (مُختبر على 9.3)
Pythonمرفق مع IDA
PySide6يأتي مع IDA 9
requestsاختياري — مطلوب فقط لجلب صفحات man

بديل PyQt5 — يعمل السكربت أيضًا مع طبقة محاكاة PyQt5 الخاصة بـ IDA للإصدارات الأقدم.

لتثبيت requests في بيئة بايثون الخاصة بـ IDA، شغّل ما يلي في وحدة تحكم بايثون الخاصة بـ IDA:

root@kitploit:~
import subprocess, sys
subprocess.run([sys.executable, "-m", "pip", "install", "requests"])

التثبيت

  1. انسخ syscall_ios.py إلى أي مكان على جهازك.
  2. افتح الملف الثنائي الهدف في IDA Pro.
  3. شغّل السكربت عبر File → Script file… أو اسحبه إلى نافذة IDA.

تُفتح لوحة المحلل تلقائيًا ويبدأ الفحص.


الاستخدام

تشغيل السكربت

root@kitploit:~
File → Script file… → syscall_ios.py

أو استخدم أمر Script في IDA (Shift+F2) للصق وتشغيله مباشرة.

نظرة عامة على اللوحة

Pic 1 Pic 2


مرجع ألوان الفئات

تعكس الألوان لوحة تمييز التفكيك الخاصة بـ IDA Pro نفسها ليكون المخرَج طبيعيًا.


تنسيق التصدير

ينتج تصدير JSON ملفًا مثل:

root@kitploit:~
[
  {
    "name": "read",
    "number": 3,
    "number_hex": "0x3",
    "address": "0x1001a4bc",
    "rva": "0x4bc",
    "function": "sub_1001A0000",
    "category": "File I/O"
  },
  ...
]

تغطية استدعاءات النظام

يغطي الجدول المدمج 556 استدعاء نظام من طبقة BSD في Darwin/XNU (فئة 0x2000000)، بما في ذلك:

  • POSIX القياسية (read, write, open, mmap, socket, …)
  • امتدادات Darwin (csops, guarded_open_np, memorystatus_control, kevent_qos, …)
  • خاصة بنظام iOS (pid_hibernate, abort_with_payload, necp_*, os_fault_with_payload, …)
  • مساعدات نواة Pthread (psynch_mutexwait, psynch_cvwait, , …)

لا تشمل هذه التغطية مصائد Mach وطبقات الالتفاف libsystem التي تمر عبر فئة مصائد مختلفة — يغطي هذا فئة BSD فقط (SVC #0x80 مع X16 = 0x2000000 | num).


ملاحظات

  • يُستخرج رقم استدعاء النظام بالمسح للخلف من تعليمة SVC بحثًا عن MOV X16, #imm ضمن 8 تعليمات. أي تحميل غير مباشر (مثل LDR X16, [...]) سيظهر كـ UNKNOWN.
  • لا يؤثر الثابت SLIDE في أعلى الملف على العناوين المعروضة — وهو مُبقى كمرجع تعليقي للمطابقة مع جلسة lldb مباشرة.
  • إعادة الفحص تعيد تشغيل التحليل الكامل على الملف الثنائي المحمّل حاليًا؛ وتبقى صفحات man التي جُلبَت سابقًا مخزنة مؤقتًا.

تنزيل الأداة
الفئةاللونالمقابل في IDA
إدخال/إخراج الملفات#4EC9B0نوع / بنية
الشبكة#569CD6كلمة مفتاحية
الذاكرة#DCDCAAاسم دالة
العمليات#CE9178نص حرفي
الخيوط#9CDCFEمتغير
التواصل بين العمليات#C586C0تعداد / ماكرو
الأمان#F44747خطأ / تحذير
الوقت#6A9955تعليق
متنوع#858585—
bsdthread_*
  • GCD / workqueue (workq_open, workq_kernreturn, kqueue_workloop_ctl, …)
  • إطارا Audit وMAC (audit_*, __mac_*)