Парни, привет.
Столкнулся с проблеомй, не могу решить. Возможно глупая ситуация, но я не смог найти ей решения)
Вопрос в чём: как передать в GDB на запуск программы несколько аргументов, внутри которых нульбайты?
Дело в том, что BASH нульбайты сжирает. о чём нас и предупреждает, если они ему встретятся. Для запуска каверзных программ у меня был такой вот хак:
ну и программа потом в GDB запускалась с аргументом
А что если аргумента у меня аж три? Я уже все волосы вырвал. Внутри проги работает ф-я strcpy
которая копирует в кучу 3 аргумента в 3 хип-чанка. то бишь надо их только передать с нульбайтами. Как???
Столкнулся с проблеомй, не могу решить. Возможно глупая ситуация, но я не смог найти ей решения)
Вопрос в чём: как передать в GDB на запуск программы несколько аргументов, внутри которых нульбайты?
Дело в том, что BASH нульбайты сжирает. о чём нас и предупреждает, если они ему встретятся. Для запуска каверзных программ у меня был такой вот хак:
Bash:
mkfifo ./input #создаём фифо-обменник
cat > ./input & #открывает ему постоянный ввод отдельным процесом на фоне
echo $! > ./input-cat-pid #запоминаем PID этого процесса, на потом, что бы убить
mkfifo ./output #создаём фифо-обменник
cat ./output #открывает ему постоянный вывод отдельным процесом на фоне
ну и программа потом в GDB запускалась с аргументом
run < ./inputА что если аргумента у меня аж три? Я уже все волосы вырвал. Внутри проги работает ф-я strcpy
которая копирует в кучу 3 аргумента в 3 хип-чанка. то бишь надо их только передать с нульбайтами. Как???