Создание конвейера КИП ASM в Python? - PullRequest
0 голосов
/ 07 мая 2020

Я пытаюсь реализовать защиту программ на основе целостности потока управления (CFI). Я хочу иметь возможность взять файл сборки и обработать его. Для этого мне нужно

(1) что-то, что будет анализировать файл ASM в некоторую структуру данных (возможно, просто список инструкций, представленных каким-либо образом),

(2) инструмент который может перебирать эту структуру данных и просматривать свойства различных инструкций, а также изменять инструкции и добавлять новые инструкции, и

(3) что-то, чтобы взять эту структуру данных и записать ее обратно в формат ASM или собрать его.

Чтобы решить (2) и, возможно, (3), я нашел PeachPy, ассемблер x86-64, встроенный в Python. Используя это, я смогу просматривать инструкции программы, вставлять новые, изменять старые, а затем собирать программу. Однако я не нашел решения для (1) - похоже, нет инструмента, который мог бы взять файл ASM и преобразовать его в представление PeachPy программы ASM. Я не особо привязан ни к PeachPy, ни к Python - кто-нибудь знает какой-нибудь конвейер или набор инструментов, с помощью которых я мог бы это сделать? Большое спасибо.

...