转载

rop-tool:一款辅助撰写二进制exp的工具

rop-tool:一款辅助撰写二进制exp的工具

rop-tool是一款能帮助你制作二进制exp的工具。

选项

使用方法:

rop-tool <cmd> [OPTIONS]

命令:

gadget         搜索小工具

patch         为二进制文件打补丁

info           打印二进制文件信息

heap          显示堆结构

disassemble    反汇编二进制文件

search         在二进制文件里搜索

help           打印帮助信息

version         打印版本

小工具(gadget)命令

用法:

rop-tool gadget [OPTIONS] [FILENAME]

选项:

–arch, -A             选择系统架构 (x86,x86-64, arm, arm64)

–all,-a                打印全部小工具

–depth, -d         [d]  指定小工具搜索的深度(默认是5)

–flavor, -f        [f]  选择一种风格 (att或者 intel)

–no-filter, -F          不要在小工具上运用过滤器

–help, -h             打印帮助信息

–no-color, -N          不用多彩输出

搜索命令

用法:

rop-tool search [OPTIONS] [FILENAME]

选项:

–all-string, -a    [n]  搜索所有可打印的字符串,至少N个特征 (N默认值为 6)

–byte, -b          [b]  搜索二进制文件里的byte

–dword, -d         [d]  搜索二进制文件里的dword

–help, -h               打印帮助信息

–no-color, -N        不要多彩输出

–qword, -q         [q]  搜索二进制文件里的qword

–raw, -r                忽略格式限制,以raw格式打开文件

–split-string, -s  [s]  在内存里搜索一个不连续的字符串

–string, -S        [s]  搜索二进制文件里的字符串(一个字节序列)

–word, -w          [w]  搜索二进制文件里的word

补丁命令

用法:

rop-tool patch [OPTIONS] [FILENAME]

选项:

–address, -a       [a]  选择打补丁的address

–bytes, -b         [b] 一个 要写的比特序列 (比如:“/xaa/xbb/xcc”)

–filename, -f      [f]  指定文件名

–help, -h          打印帮助信息

–offset, -o        [o]  选择补丁的偏移(从文件的起始算)

–output, -O        [o]  另存为的文件名

–raw, -r             raw模式打开文件

信息命令

用法:

rop-tool info [OPTIONS] [FILENAME]

选项:

–all, -a                显示所有信息

–segments, -l           显示segment

–sections, -s           显示section

–syms, -S              显示symbol

–filename, -f      [f]   指定文件名

–help, -h               打印帮助信息

–no-color, -N           禁用多彩

帮助命令

用法:

rop-tool heap [OPTIONS] [COMMAND]

选项:

–calloc, -C             跟踪calloc回调

–free, -F               跟踪free回调

–realloc, -R            跟踪realloc回调

–malloc, -M             跟踪malloc回调

–dumpdata, -d         dump chunk的数据

–output, -O             输出到文件

–help, -h               打印帮助信息

–tmp, -t        <d>    指定可写目录来dump库(默认值:/ tmp/)

–no-color, -N           禁用多彩

堆命令的解释说明

每一行对应一个malloc chunk,在每一个堆函数(free, malloc, realloc, calloc)执行后会进行dump。

Addr:malloc chunk的真实地址

usr_addr:malloc函数返回给用户的地址

size:malloc chunk的大小

flags:

P == PREV_INUSE

M == IS_MAPED

A == NON_MAIN_ARENA

反汇编命令

用法:

rop-tool dis [OPTIONS] [FILENAME]

选项:

–help, -h              打印帮助信息

–no-color, -N           禁用多彩

–address, -a    <a>     反汇编的起始地址<a>

–offset, -o     <o>     反汇编的偏移<o>

–sym, -s        <s>     反汇编symbol

–len, -l        <l>    仅反汇编byte<l>

–arch,-A       <a>     选择系统架构 (x86, x86-64,arm, arm64)

–flavor,-f     <f>      选择风格 (intel,att)

特性

字符串特性、小工具搜索、补丁、信息、堆可视化、反汇编

多彩输出

Intel and AT&T风格

ELF、PE和MACH-O 二进制格式支持

高低字节序的支持

x86、x86_64、ARM和ARM64系统架构的支持

实例用法演示

基础小工具搜索:

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

在偏移0×1000处打补丁”/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

在地址0×08048452处反汇编0×100 byte:

rop-tool dis /bin/ls -l 0x100 -a 0x08048452

演示截屏

rop-tool gadget /bin/ls

rop-tool:一款辅助撰写二进制exp的工具

rop-tool search /bin/ls –a

rop-tool:一款辅助撰写二进制exp的工具

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

rop-tool:一款辅助撰写二进制exp的工具

rop-tool search /bin/ls -w 0x90

rop-tool:一款辅助撰写二进制exp的工具

rop-tool heap ./a.out

rop-tool:一款辅助撰写二进制exp的工具

rop-tool dis ./bin  # 多格式

rop-tool:一款辅助撰写二进制exp的工具

原文  http://www.freebuf.com/sectool/105715.html
正文到此结束
Loading...