Инструменты для символьного исполнения на двоичных файлах
Есть ли инструменты для символического исполнения на двоичных файлах. я имею в виду использование которого, нам не нужно изменять исходный код - например, klee_make_symbolic, или мы можем сделать такие изменения в IR (llvm ir и т. д.), заранее спасибо
3 ответа
Может быть, миазм может соответствовать вашим требованиям. Это фреймворк для обратного проектирования, который поддерживает статическое символическое выполнение. Насколько я знаю, это проще, чем KLEE и S2E.
Канонический список находится в Потрясающем Символическом Исполнении.
Символически выполнить двоичный код намного сложнее, поэтому я сомневаюсь, что такие инструменты существуют.
Однако обратите внимание, что вам не обязательно изменять свой код при использовании KLEE, потому что он может моделировать среду POSIX и библиотеку C (конечно, при компиляции с поддержкой этого). Используя эти функции вы можете автоматически символизировать argv
аргументы и клавиатурное взаимодействие.