HusseinAl-haj Ответов: 1

Как внедрить несколько фрагментов кода в разные места кода?


У меня есть разные фрагменты кода, которые будут вставлены в конце каждого базового блока в CFG (Control Flow Graph). У нас нет исходного кода. Доступен исполняемый файл. Я много читал о внедрении кода. В основном, я читал о бинарных инструментах, есть два типа инструментов: статические и динамические бинарные инструменты. Статические бинарные инструменты-это то, что мне нужно в моей работе. Я проверил несколько инструментов и API. Наконец я нашел Dyninst api. Я установил его, но на этот раз мне не удалось ввести свой код. Есть ли какой-нибудь полный пример, описывающий, как использовать API Dyninst.
Большое спасибо.

Что я уже пробовал:

Я пытался использовать Dyninst api, но не смог. После этого я попытался написать свою собственную программу, основанную на системном вызове Ptrace. Это очень сложно. У меня есть контрольный штифт inter tool для контрольно-измерительных приборов. Я думаю, что Pin-код не подходит для ststic instrumentation.