У меня есть приложение QT с интегрированной Bugsplat, поэтому мне нужен DSYM на случай сбоя, но я также хочу сделать взлом более трудным, некоторые из первых шагов разбивают имена методов.
Я генерирую DSYM с этими строками:
CONFIG += debug_and_release
CONFIG += force_debug_info
CONFIG += separate_debug_info
Мне удалось удалить символы с помощью команд, рекомендованных этой ссылкой :
QMAKE_CFLAGS_RELEASE += -Xlinker -unexported_symbol -Xlinker "*"
strip executable
к сожалению, файл DSYM становится непригодным для использования после команды strip
(по крайней мере, так говорит мне дизассемблер Hope), если я удаляю вторую команду, я все равно вижу имена методов в дизассемблере.
в стрип-вики я могу прочитать следующее:
Эффект полоски может быть достигнут непосредственно с помощью линкера. За
Например, в GNU Compiler Collection эта опция "-s".
Я уже пробовал всевозможные комбинации флагов
Но, похоже, компоновщик обнаруживает, когда работает с людьми, которые ничего не знают об этих предметах, и игнорирует все мои попытки.
Обратите внимание, что я делаю это для Mac прямо сейчас, но после этого шага мне нужно сделать это и в Windows.
Используемый компилятор: clang ++