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 https://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 https://pointer.rodeo/pat/100
    

or from within GDB:

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

Find a pattern

Make a POST request to https://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 https://pointer.rodeo/pat/0x4132624131624130
    {"0Ab1Ab2A":"32"}
    
or the equivilant:
    % curl -s -X POST https://pointer.rodeo/pat/0Ab1Ab2A
    {"0Ab1Ab2A":"32"}