
أداة تساعدك على كتابة استغلالات ثنائية
أداة تساعدك في كتابة ثغرات ثنائية
rop-tool v2.4.2
Help you make binary exploits.
Usage: rop-tool <cmd> [OPTIONS]
Commands :
gadget Search gadgets
patch Patch the binary
info Print info about binary
heap Display heap structure
disassemble Disassemble the binary
search Search on binary
help Print help
version Print version
Try "rop-tool help <cmd>" for more informations about a command.
Usage : rop-tool gadget [OPTIONS] [FILENAME]
OPTIONS:
--arch, -A Select an architecture (x86, x86-64, arm, arm64)
--all, -a Print all gadgets (even gadgets which are not uniq)
--depth, -d [d] Specify the depth for gadget searching (default is 5)
--flavor, -f [f] Select a flavor (att or intel)
--no-filter, -F Do not apply some filters on gadgets
--help, -h Print this help message
--no-color, -N Do not colorize output
Usage : rop-tool search [OPTIONS] [FILENAME]
OPTIONS:
--all-string, -a [n] Search all printable strings of at least [n] caracteres. (default is 6)
--byte, -b [b] Search the byte [b] in binary
--dword, -d [d] Search the dword [d] in binary
--help, -h Print this help message
--no-color, -N Don't colorize output
--qword, -q [q] Search the qword [q] in binary
--raw, -r Open file in raw mode (don't considere any file format)
--split-string, -s [s] Search a string "splited" in memory (which is not contiguous in memory)
--string, -S [s] Search a string (a byte sequence) in binary
--word, -w [w] Search the word [w] in binary
Usage : rop-tool patch [OPTIONS] [FILENAME]
OPTIONS:
--address, -a [a] Select an address to patch
--bytes, -b [b] A byte sequence (e.g. : "\xaa\xbb\xcc") to write
--filename, -f [f] Specify the filename
--help, -h Print this help message
--offset, -o [o] Select an offset to patch (from start of the file)
--output, -O [o] Write to an another filename
--raw, -r Open file in raw mode
Usage : rop-tool info [OPTIONS] [FILENAME]
OPTIONS:
--all, -a Show all infos
--segments, -l Show segments
--sections, -s Show sections
--syms, -S Show symbols
--filename, -f [f] Specify the filename
--help, -h Print this help message
--no-color, -N Disable colors
Usage : rop-tool dis [OPTIONS] [FILENAME]
OPTIONS:
--help, -h Print this help message
--no-color, -N Do not colorize output
--address, -a <a> Start disassembling at address <a>
--offset, -o <o> Start disassembling at offset <o>
--sym, -s <s> Disassemble symbol
--len, -l <l> Disassemble only <l> bytes
--arch, -A <a> Select architecture (x86, x86-64, arm, arm64)
--flavor, -f <f> Change flavor (intel, att)
Usage : rop-tool heap [OPTIONS] [COMMAND]
OPTIONS:
--calloc, -C Trace calloc calls
--free, -F Trace free calls
--realloc, -R Trace realloc calls
--malloc, -M Trace malloc calls
--dumpdata, -d Dump chunk's data
--output, -O Output in a file
--help, -h Print this help message
--tmp, -t <d> Specify the writable directory, to dump the library (default: /tmp/)
--no-color, -N Do not colorize output
شرح صغير حول مخرجات أمر heap
كل سطر يتوافق مع قطعة malloc، ويتم تفريغ الكومة بعد كل تنفيذ لوظائف الكومة (free, malloc, realloc, calloc)
addr: هو العنوان الحقيقي لقطعة malloc
usr_addr: هو العنوان الذي ترجعه دوال malloc للمستخدم
size: هو حجم قطعة malloc
flags: P تعني PREV_INUSE، M تعني IS_MAPED و A تعني NON_MAIN_ARENA
البحث عن السلاسل النصية، البحث عن الأدوات، التصحيح، المعلومات، تصور الكومة، التفكيك
إخراج ملون
نكهة Intel و AT&T
دعم تنسيقات الملفات الثنائية ELF، PE و MACH-O
دعم الترتيب الكبير والصغير (big and little endian)
دعم معماريات x86، x86_64، ARM، ARM64، MIPS، MIPS64
البحث الأساسي عن الأدوات
rop-tool gadget ./program
عرض جميع الأدوات بنحو AT&T
rop-tool gadget ./program -f att -a
البحث عن أدوات في ملف RAW x86
rop-tool gadget ./program -A x86
البحث عن سلسلة "مقسمة" في الملف الثنائي
rop-tool search ./program -s "/bin/sh"
البحث عن جميع السلاسل في الملف الثنائي
rop-tool search ./program -a
تصحيح الملف الثنائي عند الإزاحة 0x1000، باستخدام "\xaa\xbb\xcc\xdd" وحفظه باسم "patched":
rop-tool patch ./program -o 0x1000 -b "\xaa\xbb\xcc\xdd" -O patched
عرض تخصيص الكومة لأمر /bin/ls:
rop-tool heap /bin/ls
تفكيك 0x100 بايت عند العنوان 0x08048452
rop-tool dis /bin/ls -l 0x100 -a 0x08048452
rop-tool gadget /bin/ls

rop-tool search /bin/ls -a

rop-tool search /bin/ls -s "/bin/sh\x00"

rop-tool heap ./a.out

rop-tool dis ./bin # Many formats

git clone https://github.com/t00sh/rop-tool.git
cd rop-tool
sh scripts/set_env.sh
make
Tosh (tosh at t0x0sh . org)