Изменение имени C ++ вручную

Я пишу сценарий для дизассемблера IDA Pro на Python, используя плагин idapython . Используя это, я могу заполнить пробелы, в которых автоанализ IDA не работает.

Одна область, которая меня озадачила, - это присвоение местам / функциям названий (из-за отсутствия лучшего термина) «красивых имен». Пример того, что я имею в виду, проиллюстрирован ниже:

IDA pretty names sample screenshot

idapython и сама IDA Pro позволяют мне вводить только базовые имена функций C-ish. Если я ввожу запрещенные символы (например, оператор разрешения области видимости), они заменяются подчеркиванием. Однако , если я введу искаженное имя вручную (например, __ ZN9IOService15powerChangeDoneEm ), IDA Pro сделает это для меня красивее.

Отсюда мой вопрос: как можно Я генерирую искаженные имена для передачи через idapython ? Доступна ли библиотека изменения имен? Доступен ли он в Python? Неужели моя единственная надежда вырвать функциональность искажения из g ++ и обойти это?

10
задан user1354557 7 July 2016 в 17:40
поделиться