Если у злоумышленника есть возможность свободно исследовать рабочую память вашей программы, например, с помощью отладчика, то внутри программы нет никаких секретов от них.В частности, шифрование данных в памяти не является надежной гарантией, потому что вы должны де зашифровать их, чтобы использовать их, после чего их можно легко перехватить.Но также ключ дешифрования должен находиться где-то в памяти, где его может найти ваш противник, и таким образом получить возможность расшифровывать зашифрованные данные в памяти по желанию.
Запутывание вашего кода также не является надежной гарантией,Это может замедлить вашего противника, но с навыками и / или хорошими инструментами они со временем уладят, что к чему.Фактически, предполагая, что вы удаляете символы отладки из исполняемого файла и не предоставляете исходный код, единственная обфускация, которая даже видна, - это внешние функции и имена переменных (так что не беспокойтесь о чем-то еще).
Защитаконфиденциальные данные, не ставя их в непривилегированные руки в первую очередь.Если вы доставляете данные на ненадежное устройство или программу, вам следует считать их скомпрометированными.