Закрытый ключ был #define в коде C файла .so. Этот ключ используется для индивидуального процесса аутентификации между клиентом и сервером.
В некоторых видео и блог люди показывают, как дизассемблировать файл .so с помощью IDA, а также извлекать информацию о функциях. Вывод должен быть на языке ассемблера. Насколько сложно извлечь значение ключа из такого вывода?
Если ответ заключается в том, что ключ, определенный в .so, также нуждается в защите, нужно ли мне применять обфускацию к коду C перед преобразованием его в .so? Будет ли затронут нормальный алгоритм для C?
Это возможно, и для опытного обратного инженера это более или менее легко. Обфускация секретного ключа только замедляет хакера, но не дает вам 100% защиты. Рассмотрите возможность использования сертификатов, подписанных каким-либо органом.