Дизассемблер capstone - разборка одной функции без определения длины

Я заинтересован в использовании библиотеки дизассемблера capstone.

https://github.com/aquynh/capstone

Моя мотивация для использования этого заключается в том, что мне нужно иметь возможность разбирать функции во время выполнения моей программы.

Я смог успешно интегрировать это в мой проект C++. Тем не менее, я не смог понять, как разобрать всю функцию. Я просмотрел все примеры по следующей ссылке.

https://github.com/aquynh/capstone/tree/master/tests

Все примеры занимают произвольную длину, чтобы разобрать. Я не знаю размер функции, которую я хочу разобрать перед рукой. Все, что я знаю, это название символа (например, "mkdir"). Если кто-то может дать ссылку на какой-то пример, который выполняет то, что мне нужно, это было бы очень признательно.

В случае, если это имеет значение, архитектуры, для которых я хотел бы разобрать, это x86, x86_64, arm и arm64.

1 ответ

Решение

Я так понимаю, что в исполняемом файле не существует такой вещи, как "длина функции". Я предлагаю разбирать его небольшими порциями, пока не встретите своего рода инструкцию-терминатор (например, "ret").

Другие вопросы по тегам