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