Pointer rodeo

Generate string patterns to aid you with buffer overflows. When overwriting registers, the register will contain the unique subpattern. This service helps to do the "math" and can tell you the length of the input string required.

Get a pattern

Make a GET request to pointer.rodeo/pat/$SIZE to get a string of length $SIZE.

Get a pattern and pipe it into your program in your shell:

    % curl -s -X GET pointer.rodeo/pat/100
    

or from within GDB:

    gdb> run < <(curl -s -X GET pointer.rodeo/pat/100)
    

Find a pattern

Make a POST request to pointer.rodeo/pat/$PATTERN to locate the position within the pattern. The response will contain the size of the string required to put the $PATTERN into the register. $PATTERN can either be the ASCII string or the hexadecimal representation prefixed by 0x.

Get the length of string:

    % curl -s -X POST pointer.rodeo/pat/0x4132624131624130
    {"0Ab1Ab2A":"32"}
    
or the equivilant:
    % curl -s -X POST pointer.rodeo/pat/0Ab1Ab2A
    {"0Ab1Ab2A":"32"}