Дизассемблер capstone - разборка одной функции без определения длины
Я заинтересован в использовании библиотеки дизассемблера capstone.
https://github.com/aquynh/capstone
Моя мотивация для использования этого заключается в том, что мне нужно иметь возможность разбирать функции во время выполнения моей программы.
Я смог успешно интегрировать это в мой проект C++. Тем не менее, я не смог понять, как разобрать всю функцию. Я просмотрел все примеры по следующей ссылке.
https://github.com/aquynh/capstone/tree/master/tests
Все примеры занимают произвольную длину, чтобы разобрать. Я не знаю размер функции, которую я хочу разобрать перед рукой. Все, что я знаю, это название символа (например, "mkdir"). Если кто-то может дать ссылку на какой-то пример, который выполняет то, что мне нужно, это было бы очень признательно.
В случае, если это имеет значение, архитектуры, для которых я хотел бы разобрать, это x86, x86_64, arm и arm64.
1 ответ
Я так понимаю, что в исполняемом файле не существует такой вещи, как "длина функции". Я предлагаю разбирать его небольшими порциями, пока не встретите своего рода инструкцию-терминатор (например, "ret").