Мы используем C++ в проекте IOS и компиляторе Apple llvm 3 для архитектуры ARM. Я заметил, что IDA может открыть файл exe ARM, и на вкладке export я нашел виртуальные конструкторы таблиц для большого количества кода C++ (что-то вроде `build vtable forBaseClass-in-OtherClass 00AB6AC5 ', где BaseClass и OtherClass являются действительными классами C++) и оттуда вы можете найти адреса для других подпрограмм.IOS build содержит символы, видимые в IDA
Я незнакомый с IDA, но я думаю, что оттуда вы можете найти чувствительные подпрограммы и изменить их для других целей. Я хотел бы знать, как все имена символов превратились в сборку релиза (нам не хватает компилятора?), И если этот материал действительно можно использовать для легкого отслеживания подпрограмм, которые работают с конфиденциальной информацией.
Есть ли способ удалить все имена из сборки?
Thanks, Raxvan.
Thiank, у нас мало объективного кода c, основная проблема - C++, а strip не удаляет их, также мы удалили все параметры компилятора, которые, как мы думаем, могли бы генерировать символы и до сих пор не повезло. RTTI выключен. – Raxvan
Попробуйте '-fvisibility = hidden -fvisibility-inlines-hidden'. –