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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
ROPgadget — ابحث عن أدوات ROP في الملفات الثنائية ELF وPE وMach-O وRaw عبر معماريات x86 وARM وMIPS وRISC-V. يدعم التوليد الآلي لسلسلة ROP ووضع وحدة التحكم التفاعلية. | Kitploit
أدوات/GitHubGitHub/jonathansalwan/ropgadget
توليد الحمولةالاستغلالالهندسة العكسيةCTFتحليل الملفات الثنائيةاستغلال الملفات الثنائيةالأفضل في تحليل الملفات الثنائية #18الأفضل في استغلال الملفات الثنائية #5الأفضل في CTF #8الأفضل في الهندسة العكسية #16
4.5k5799منذ 2 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
GitHubjonathansalwan/ropgadget

ROPgadget

ابحث عن أدوات ROP في الملفات الثنائية ELF وPE وMach-O وRaw عبر معماريات x86 وARM وMIPS وRISC-V. يدعم التوليد الآلي لسلسلة ROP ووضع وحدة التحكم التفاعلية.

عرض المستودع
مشاركة

أداة ROPgadget

تتيح لك هذه الأداة البحث عن القطع (gadgets) في ملفاتك الثنائية لتسهيل استغلال ROP. تدعم ROPgadget تنسيقات ELF/PE/Mach-O/Raw على معماريات x86، x64، ARM، ARM64، PowerPC، SPARC، MIPS، RISC-V 64، و RISC-V Compressed.

تثبيت

أسهل طريقة هي تثبيت ROPgadget من PyPi:

root@kitploit:~
$ sudo apt install python3-pip
$ sudo -H python3 -m pip install ROPgadget
$ ROPgadget --help

بدلاً من ذلك، يمكنك تثبيت ROPgadget من المصدر. يجب عليك تثبيت Capstone أولاً.

لتثبيت Capstone على أجهزة nix:

root@kitploit:~
$ sudo apt install python3-pip
$ sudo -H python3 -m pip install capstone

يدعم Capstone منصات متعددة (windows، ios، android، cygwin...). للترجمة عبر المنصات، يرجى الرجوع إلى ملف https://github.com/capstone-engine/capstone/blob/master/COMPILE.TXT.

بعد تثبيت Capstone، يمكن استخدام ROPgadget كأداة مستقلة:

root@kitploit:~
$ python3 ROPgadget.py --help

أو تثبيته في مكتبة Python site-packages، وتنفيذه من $PATH.

root@kitploit:~
$ sudo -H python3 setup.py install
$ ROPgadget --help

الاستخدام

root@kitploit:~
usage: ROPgadget.py [-h] [-v] [-c] [--binary <binary>] [--opcode <opcodes>]
                    [--string <string>] [--memstr <string>] [--depth <nbyte>]
                    [--only <key>] [--filter <key>] [--range <start-end>]
                    [--badbytes <byte>] [--rawArch <arch>] [--rawMode <mode>]
                    [--rawEndian <endian>] [--re <re>] [--offset <hexaddr>]
                    [--ropchain] [--thumb] [--console] [--norop] [--nojop]
                    [--callPreceded] [--nosys] [--multibr] [--all] [--noinstr]
                    [--dump] [--silent] [--align ALIGN] [--mipsrop <rtype>]

description:
  ROPgadget lets you search your gadgets on a binary. It supports several
  file formats and architectures and uses the Capstone disassembler for
  the search engine.

formats supported:
  - ELF
  - PE
  - Mach-O
  - Raw

architectures supported:
  - x86
  - x86-64
  - ARM
  - ARM64
  - MIPS
  - PowerPC
  - Sparc
  - RISC-V 64
  - RISC-V Compressed

optional arguments:
  -h, --help            show this help message and exit
  -v, --version         Display the ROPgadget's version
  -c, --checkUpdate     Checks if a new version is available
  --binary <binary>     Specify a binary filename to analyze
  --opcode <opcodes>    Search opcode in executable segment
  --string <string>     Search string in readable segment
  --memstr <string>     Search each byte in all readable segment
  --depth <nbyte>       Depth for search engine (default 10)
  --only <key>          Only show specific instructions
  --filter <key>        Suppress specific mnemonics
  --range <start-end>   Search between two addresses (0x...-0x...)
  --badbytes <byte>     Rejects specific bytes in the gadget's address
  --rawArch <arch>      Specify an arch for a raw file
                        x86|arm|arm64|sparc|mips|ppc|riscv
  --rawMode <mode>      Specify a mode for a raw file 32|64|arm|thumb
  --rawEndian <endian>  Specify an endianness for a raw file little|big
  --re <re>             Regular expression
  --offset <hexaddr>    Specify an offset for gadget addresses
  --ropchain            Enable the ROP chain generation
  --thumb               Use the thumb mode for the search engine (ARM only)
  --console             Use an interactive console for search engine
  --norop               Disable ROP search engine
  --nojop               Disable JOP search engine
  --callPreceded        Only show gadgets which are call-preceded
  --nosys               Disable SYS search engine
  --multibr             Enable multiple branch gadgets
  --all                 Disables the removal of duplicate gadgets
  --noinstr             Disable the gadget instructions console printing
  --dump                Outputs the gadget bytes
  --silent              Disables printing of gadgets during analysis
  --align ALIGN         Align gadgets addresses (in bytes)
  --mipsrop <rtype>     MIPS useful gadgets finder
                        stackfinder|system|tails|lia0|registers

examples:
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-x86
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-x86 --ropchain
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-x86 --depth 3
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-x86 --string "main"
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-x86 --string "m..n"
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-x86 --opcode c9c3
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-x86 --only "mov|ret"
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-x86 --only "mov|pop|xor|ret"
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-x86 --filter "xchg|add|sub|cmov.*"
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-x86 --norop --nosys
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-x86 --range 0x08041000-0x08042000
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-x86 --string main --range 0x080c9aaa-0x080c9aba
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-x86 --memstr "/bin/sh"
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-x86 --console
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-x86 --badbytes "00|01-1f|7f|42"
  ROPgadget.py --binary ./test-suite-binaries/Linux_lib64.so --offset 0xdeadbeef00000000
  ROPgadget.py --binary ./test-suite-binaries/elf-ARMv7-ls --depth 5
  ROPgadget.py --binary ./test-suite-binaries/elf-ARM64-bash --depth 5
  ROPgadget.py --binary ./test-suite-binaries/raw-x86.raw --rawArch=x86 --rawMode=32
  ROPgadget.py --binary ./test-suite-binaries/elf-Linux-RISCV_64 --depth 8

كيف يمكنني المساهمة ؟

  • إضافة قطع النظام (system gadgets) لـ PPC و Sparc و ARM64 (Gadgets.addSYSGadgets()).
  • دعم RISC-V 32-bit.
  • التعامل مع البايتات الخاطئة (bad bytes) في البيانات أثناء إنشاء سلسلة ROP.
  • إدارة endian big في تنسيق Mach-O مثل فئة ELF.
  • أي شيء تعتقد أنه رائع :)

الأخطاء / التصحيحات / الاتصال

يرجى الإبلاغ عن الأخطاء، تقديم طلبات السحب (pull requests)، إلخ، على GitHub على https://github.com/JonathanSalwan/ROPgadget

الترخيص

انظر LICENSE_BSD.txt ورأس الترخيص في جميع ملفات المصدر.

لقطات الشاشة

x64

ARM

Sparc

MIPS

PowerPC

ROP chain

تنزيل الأداة