Нужно ли защищать секрет (например, ключ) в файле .so?

Закрытый ключ был #define в коде C файла .so. Этот ключ используется для индивидуального процесса аутентификации между клиентом и сервером.

В некоторых видео и блог люди показывают, как дизассемблировать файл .so с помощью IDA, а также извлекать информацию о функциях. Вывод должен быть на языке ассемблера. Насколько сложно извлечь значение ключа из такого вывода?

Если ответ заключается в том, что ключ, определенный в .so, также нуждается в защите, нужно ли мне применять обфускацию к коду C перед преобразованием его в .so? Будет ли затронут нормальный алгоритм для C?

0
0
65
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Это возможно, и для опытного обратного инженера это более или менее легко. Обфускация секретного ключа только замедляет хакера, но не дает вам 100% защиты. Рассмотрите возможность использования сертификатов, подписанных каким-либо органом.

Другие вопросы по теме

Где вызвать VIPS_INIT в общей библиотеке C
Можно ли связать общую статическую библиотеку, созданную в VS2019, с проектом VS2010?
Makefile не оценивает переменную OBJECTS
Как найти, где определена встроенная функция?
Не удается подключить сигнал из внешней общей библиотеки к перегруженному слоту производного класса QWidget
Должен ли я сказать пользователям, если я использую библиотеку
Как предварительно загрузить общую библиотеку и обернуть malloc вместе с функциями, которые используют malloc в той же обернутой функции?
Могу ли я принудительно связать динамическую библиотеку с определенной зависимостью динамической библиотеки?
Почему я получаю неопределенный символ при связывании общей библиотеки, которая связывает статическую (gSoap) библиотеку?
Нужна ли мне отдельная библиотека с собственной функцией, чтобы загрузить библиотеку с основной функцией?