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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
idalib-cli — واجهة سطر أوامر أصلية للوكيل تغلّف IDA Pro IDALib لتحليل ثنائي عديم الحالة بمخرجات JSON: التفكيك، وفك الترجمة Hex-Rays، وCFG، والمراجع المتقاطعة، والسلاسل النصية، ومعالجة IDB على دفعات أو بالتوازي. | Kitploit
أدوات/GitHubGitHub/ylca0/idalib-cli
التحليل الثابتتحليل الكودتحليل الشفرة الديناميكي (DAST)الهندسة العكسيةالبرمجة النصية والأتمتةالأدوات والمكوناتتحليل الملفات الثنائيةالهندسة العكسية بمساعدة الذكاء الاصطناعي
GitHubylca0/idalib-cli

idalib-cli

واجهة سطر أوامر أصلية للوكيل تغلّف IDA Pro IDALib لتحليل ثنائي عديم الحالة بمخرجات JSON: التفكيك، وفك الترجمة Hex-Rays، وCFG، والمراجع المتقاطعة، والسلاسل النصية، ومعالجة IDB على دفعات أو بالتوازي.

56منذ 3 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

idalib-cli️ idalib-cli

واجهة سطر أوامر أصلية للوكلاء لـ IDA Pro IDALib — كل أمر يأخذ علامة -d/--db واحدة، وكل إجابة بصيغة JSON.

English · 中文

IDA Pro 9.1 idalib-rs 0.6.1 v0.9.1 Apache-2.0


✨ الميزات

  • 🗄️ بلا حالة — مرّر -d/--db <PATH> (ملف ثنائي أو ملف .i64)؛ لا خادم خلفي، ولا تتبع للجلسات.
  • 💾 حالة IDB دائمة — ملف IDB هو الحالة: التعليقات والعلامات المرجعية والأسماء والتحليل تبقى عبر العمليات.
  • 🧩 تغطية كاملة لـ IDALib — المقاطع، الدوال، CFG، التفكيك، فك الترجمة Hex-Rays، النصوص، الأسماء، المراجع المتقاطعة، نقاط الدخول، البيانات الوصفية، التعليقات، العلامات المرجعية، توقيعات FLIRT.
  • ⚡ دفعات ومتوازي — شغّل أوامر كثيرة مع فتح IDB واحد؛ وزّع أمرًا واحدًا على قواعد بيانات كثيرة بالتزامن (يدعم glob).
  • 🤖 الوكيل أولًا — مستند JSON واحد على stdout، والأخطاء على stderr؛ مهارات مضمّنة لـ Codex / Claude Code / OpenCode.
  • 🚀 التثبيت

    المتطلبات الأساسية: IDA Pro 9.1 (مرخّص، شُغّل مرة واحدة) · IDA 9.1 SDK مفكوك (وقت البناء فقط) · Rust + LLVM/Clang (متطلبات bindgen)

    root@kitploit:~
    export IDADIR="/Applications/IDA Professional 9.1.app/Contents/MacOS"  # IDA install dir
    export IDASDKDIR=/path/to/idasdk91                                     # unpacked SDK (absolute path!)
    
    git clone <this-repo> && cd idalib-cli
    cargo install --path .
    
    idalib-cli info    # ✅ verify tool version, IDA version, license
    

    الـ SDK مطلوب في وقت البناء فقط؛ يربط الملف التنفيذي مكتبات IDA المحلية لديك في وقت التشغيل. فحوصات التطوير بدون SDK: cargo test --no-default-features --features stub-idalib.

    🎮 الأوامر والاستخدام

    كل أمر يحتاج -d/--db <PATH> — ملف IDB (.i64) أو ملف ثنائي (يُنشأ IDB بجانبه عند أول استخدام). تقبل العناوين 0x401000 أو 401000. المخرجات دائمًا مستند JSON واحد؛ تذهب الأخطاء إلى stderr مع رمز خروج غير صفري.

    قاعدة البيانات

    الأمرالوصف
    idalib-cli -d <bin-or-i64> db infoالمسارات المُحلَّلة، حالة IDB، الحجم

    الاستعلام

    الأمرالوصف
    idalib-cli -d <db> metaنوع الملف، المترجم، عدد البتات
    idalib-cli -d <db> processorمعلومات المعالج
    idalib-cli -d <db> segmentsجميع المقاطع
    idalib-cli -d <db> segments-by-range -a <ea>المقطع الذي يحتوي على عنوان
    idalib-cli -d <db> functions [-u]قائمة الدوال (-u = تخطي المكتبات/thunk)
    idalib-cli -d <db> function -a <ea>دالة واحدة: CFG، الكتل، المراجع المتقاطعة
    idalib-cli -d <db> disasm -a <ea> [-n N]فك N تعليمة (الافتراضي 8)
    idalib-cli -d <db> decompile -a <ea> [--all-blocks]شيفرة Hex-Rays الزائفة
    idalib-cli -d <db> insn -a <ea>تعليمة واحدة (+ تصنيف group/is_call/is_ret)
    idalib-cli -d <db> stringsقائمة النصوص
    idalib-cli -d <db> namesالمواقع المُسمّاة
    idalib-cli -d <db> xrefs [-a <ea>] [--all] [--from]المراجع المتقاطعة إلى عنوان (افتراضي) أو منه (--from)، أو الكل
    idalib-cli -d <db> find --text <s>البحث عن مطابقات نصية
    idalib-cli -d <db> find --imm 0x1337البحث عن مطابقات قيمة فورية
    idalib-cli -d <db> find --pattern 554889e5البحث عن نمط بايتات سداسي
    idalib-cli -d <db> bytes -a <ea> [-n N] [--width byte|word|dword|qword]بايتات خام (hexdump) أو أعداد صحيحة little-endian
    idalib-cli -d <db> entriesنقاط الدخول

    التحرير (يُحفظ في IDB)

    الأمرالوصف
    idalib-cli -d <db> comments get|set|append|remove -a <ea> [-c "text"]التعليقات
    idalib-cli -d <db> bookmarks list|add|get|remove -a <ea> [-d "desc"]العلامات المرجعية
    idalib-cli -d <db> rename -a <ea> -n <name>إعادة تسمية دالة / تسمية بيانات
    idalib-cli -d <db> set-type -a <ea> -t "int f(int, char *);"تطبيق تعريف نوع C (نموذج دالة / نوع بيانات)
    idalib-cli -d <db> signatures --make [--only-pat]توليد توقيعات FLIRT

    الدمج

    الأمرالوصف
    idalib-cli -d <db> batch -- <op> [<op>...]عمليات متسلسلة، يُفتح IDB مرة واحدة
    idalib-cli parallel -d <list|glob> [--jobs N] -- <op>عملية واحدة عبر قواعد بيانات كثيرة، عملية فرعية لكل واحدة
    idalib-cli info [--version|--ida|--all]إصدار الأداة / IDA، الترخيص

    جولات سيناريوهات

    🔎 فرز ملف ثنائي غير معروف

    root@kitploit:~
    idalib-cli -d ./sample meta            # what is it? (filetype/compiler/bitness)
    idalib-cli -d ./sample segments        # memory layout
    idalib-cli -d ./sample strings         # quick hints
    idalib-cli -d ./sample functions -u    # user code only
    

    🔍 التعمق في دالة

    root@kitploit:~
    idalib-cli -d ./sample function -a 0x401000       # CFG + blocks + xrefs
    idalib-cli -d ./sample decompile -a 0x401000      # read the pseudo-code
    idalib-cli -d ./sample disasm -a 0x401000 -n 20   # or the raw instructions
    idalib-cli -d ./sample xrefs -a 0x401000 --all    # who calls it
    

    📝 تدوين النتائج (تبقى عبر العمليات/الوكلاء)

    root@kitploit:~
    idalib-cli -d ./sample comments set -a 0x401000 -c "parses config, see 0x402100"
    idalib-cli -d ./sample bookmarks add -a 0x401000 -d "entry point"
    idalib-cli -d ./sample comments get -a 0x401000    # verify
    

    ⚡ تحليل جماعي لعينات كثيرة

    root@kitploit:~
    # first pass: create IDBs + overview for every sample
    idalib-cli parallel -d "./samples/*.bin" -- "batch -- meta functions -u"
    
    # deep pass: decompile one hot function in every IDB
    idalib-cli parallel -d "./samples/*.i64" --jobs 8 -- "decompile -a 0x401000"
    

    🔎 البحث وفحص البيانات الخام

    root@kitploit:~
    idalib-cli -d ./sample find --text "MAGIC"            # string hits
    idalib-cli -d ./sample find --imm 0x1337              # immediate-value hits
    idalib-cli -d ./sample find --pattern 554889e5        # byte pattern (prologue)
    idalib-cli -d ./sample bytes -a 0x401000 -n 32        # hexdump
    idalib-cli -d ./sample bytes -a 0x401000 --width qword -n 4
    idalib-cli -d ./sample xrefs -a 0x401000 --from       # outgoing refs (calls)
    idalib-cli -d ./sample rename -a 0x401000 -n decrypt  # label it
    idalib-cli -d ./sample set-type -a 0x401000 -t "int f(const char *, int);"  # set prototype
    

    🤖 فحص مجمّع مناسب للوكلاء (مستند JSON واحد)

    root@kitploit:~
    idalib-cli -d ./sample batch -- "meta" "segments" "functions -u" "decompile -a 0x401000"
    

    دليل سير عمل الوكيل: skills/idalib-cli/SKILL.md؛ مثال شامل قابل للتشغيل في examples/workflow.sh.

    مثال مخرجات (decompile)
    root@kitploit:~
    {
      "id": 7,
      "start": "0x401000",
      "end": "0x401080",
      "size": 128,
      "name": "main",
      "blocks": 3,
      "decompiled": true,
      "pseudocode": "int __cdecl main(...) { ... }"
    }
    

    ⚙️ الإعدادات

    ملف اختياري ~/.idapro/idalib-cli/config.toml (المجلد الأساسي: $IDALIB_CLI_HOME):

    الحقلالوصف
    idadirمجلد تثبيت IDA (الافتراضي: يُكتشف تلقائيًا)
    idb_dirمكان إنشاء ملفات IDB الجديدة (الافتراضي: بجانب الملف الثنائي)
    default_dbيُستخدم عند حذف -d
    saveحفظ IDB بعد كل أمر (الافتراضي true)
    auto_analyseتشغيل التحليل التلقائي الكامل عند إنشاء IDB (الافتراضي true)

    ❓ الأسئلة الشائعة

    أين يذهب IDB عندما أمرر ملفًا ثنائيًا؟

    بجانب الملف الثنائي: ./target.bin → ./target.bin.i64. اضبط idb_dir في الإعدادات لتغيير الموقع.

    ماذا يفعل batch / parallel فعليًا؟

    يفتح batch ملف IDB مرة واحدة ويشغّل كل عملية على ذلك المقبض (يحفظ مرة واحدة في النهاية) — الأفضل عندما تحتاج عدة حقائق عن قاعدة بيانات واحدة. أما parallel فيولّد عملية فرعية واحدة لكل قاعدة بيانات (IDALib ليس آمنًا للخيوط، لذا العزل عبر العمليات) مع مجموعة عمال محدودة بـ --jobs — الأفضل للعينات الكثيرة. يقبل -d مسارًا واحدًا، أو قائمة مفصولة بفواصل، أو glob (*.i64).

    هل يمكن لعمليتين استخدام نفس IDB في آن واحد؟

    لا. عملية واحدة لكل IDB في المرة الواحدة. يحترم parallel ذلك بتوليد عملية فرعية واحدة لكل قاعدة بيانات؛ للعمل اليدوي متعدد الوكلاء، امنح كل وكيل هدف -d خاصًا به.

    لماذا يتطلب البناء IDA SDK؟

    يولّد idalib-rs ارتباطات FFI الخاصة به في وقت الترجمة عبر تحليل ترويسات SDK (bindgen). يُشحن SDK فقط مع ترخيص Hex-Rays الخاص بك ولا يُعاد توزيعه أو تضمينه أبدًا — يربط الملف التنفيذي المبني تثبيت IDA الخاص بك في وقت التشغيل.

    📁 بنية المشروع

    root@kitploit:~
    idalib-cli/
    ├── src/
    │   ├── cli.rs            # clap definitions; every command + -d/--db
    │   ├── ops/              # metadata, comments, bookmarks, db, batch, parallel, ...
    │   ├── session/          # config.toml handling
    │   └── helpers/          # JSON output views
    ├── stubs/idalib/         # dev-only API stub (SDK-free checks, never shipped)
    ├── tests/                # integration tests
    ├── skills/idalib-cli/   # single agent skill (workflow guide)
    └── examples/workflow.sh  # runnable end-to-end example
    

    🌿 الإصدارات والفروع

    إصدارات الأداة بصيغة x.y.z؛ فرع تطوير واحد وفرع إصدار واحد لكل إصدار فرعي:

    المرجعالغرضمثال
    mainأحدث تطوير (هدف دمج v*_dev)—
    v0.9_devفرع التطوير للأداة 0.9.xالعمل الحالي
    v0.9_releaseفرع مستقر للأداة 0.9.x (إصلاحات فقط)backports
    v0.9.1 (tag)نقطة الإصدارالإصدار الحالي
    إصدار الأداةIDA المتوافقidalib-rs
    0.9.x9.10.6.1 (مثبّت =0.6.1)
    التالي (v0.10_*)إصدار IDA جديدتبعية محدّثة

    دعم إصدار IDA جديد = ترقية تبعية idalib، وتحديث [package.metadata.ida] في Cargo.toml، وفتح خط فرع جديد (v0.10_*).

    📄 الترخيص

    يُوزَّع بموجب Apache License 2.0. يعلن حقل license في Cargo.toml عن MIT OR Apache-2.0 للتوافق مع تبعيات idalib-rs؛ يشحن هذا المستودع نص Apache-2.0 فقط. لا تُودِع أو تُعِد توزيع IDA SDK أبدًا.


    English · 中文

    تنزيل الأداة