Как говорили другие, вы не можете одновременно защитить ключ API и использовать его в своем приложении. Тем не менее, вы можете сделать простое запутывание относительно легко, и если отдача от взломщика низка, то вы можете не обжечься.
Один простой способ - разбить ключ API на несколько подстрок. Убедитесь, что вы поместили их в свой код в произвольном порядке. Например, если ваш ключ API равен 12345678901234567890 , вы можете разбить его на 5 подстрок, например:
static char *part1 = "12345";
static char *part5 = "7890";
static char *part3 = "890123";
static char *part2 = "67";
static char *part4 = "456";
Если вы запускаете /usr/bin/strings
в полученном двоичном файле, вы не должны видеть ключ API по порядку. Вместо этого вы увидите подстроки API в порядке, указанном в вашем C-файле. С 5 подобными подстроками это 5 * 4 * 3 * 2 * 1 = 120 перестановок. Если разбить его на 13 подстрок, вы получите более 6 миллиардов перестановок.
Однако это не остановит тех, кто знает, что они делают, от получения вашего API-ключа, если он этого хочет. В конце концов вам придется объединить строки и передать их одному из ваших методов, после чего взломщик может использовать отладчик для установки точки останова и проверки памяти.