Пытаюсь написать простой фаззер с помощью Peach для обнаружения переполнения буфера

#linux #security #peach

#linux #Безопасность #персик

Вопрос:

Я пытаюсь написать простой фаззер, который обнаруживает переполнение буфера. Код, который я хочу размыть, приведен ниже:

 #include <stdio.h>

int main(int argc, char *argv[])
{
char buf[256];
memcpy(buf, argv[1],strlen(argv[1]));
printf(buf);
}
  

И моя текущая персиковая косточка следующая:

     <DataModel name="MyString">
                    <String value="">
                    <Analyzer class="StringToken" />
                    </String>
    </DataModel>

    <StateModel name="StateVfolder" initialState="Initial">
            <State name="Initial">
                    <Action type="output">
                            <DataModel ref="MyString"/>
                    </Action>
            </State>
    </StateModel>

    <Agent name="LocalAgent">
            <Monitor class="LinuxDebugger">
                    <Param name="Executable" value="./test"/>
            </Monitor>
    </Agent>

    <Test name="Default">
            <Agent ref="LocalAgent"/>
            <StateModel ref="StateVfolder"/>
            <Publisher class="Console" />

            <Logger class="File">
                    <!-- save crash information in the Logs directory -->
                    <Param name="Path" value="Logs"/>
            </Logger>

            <Strategy class="Sequential" />

    </Test>
</Peach>
  

Как я могу заставить это работать? Буду признателен за любую помощь. Спасибо. Я нашел несколько ссылок на эту точную вещь, но я не могу заставить файлы работать правильно.