Я пишу сценарий для дизассемблера IDA Pro на Python, используя плагин idapython
. Используя это, я могу заполнить пробелы, в которых автоанализ IDA не работает.
Одна область, которая меня озадачила, - это присвоение местам / функциям названий (из-за отсутствия лучшего термина) «красивых имен». Пример того, что я имею в виду, проиллюстрирован ниже:
idapython
и сама IDA Pro позволяют мне вводить только базовые имена функций C-ish. Если я ввожу запрещенные символы (например, оператор разрешения области видимости), они заменяются подчеркиванием. Однако , если я введу искаженное имя вручную (например, __ ZN9IOService15powerChangeDoneEm
), IDA Pro сделает это для меня красивее.
Отсюда мой вопрос: как можно Я генерирую искаженные имена для передачи через idapython
? Доступна ли библиотека изменения имен? Доступен ли он в Python? Неужели моя единственная надежда вырвать функциональность искажения из g ++
и обойти это?