Интересно, кто-нибудь может дать нам реальный ответ, чтобы решить эту проблему? По своему опыту веб-разработчика я могу сказать, что то, что вы даете клиенту, больше не принадлежит вам для контроля. Рассмотрим веб-сайт, использующий некоторый алгоритм шифрования на стороне сервера и жестко закодированную технику javascript на клиенте, и сам webdev, руководствуясь своей собственной тщеславием, не хочет показывать его миру, но все еще будет использоваться клиентами, как есть.
В таком случае, что он может сделать? Да, да, он может прийти к идее поместить свой сценарий в бесконечный цикл на основе setTimeout, все как анонимную функцию, поэтому его нельзя отследить, но все же инициализация должна быть где-то выполнена, код должен быть visibile, более того, он решает отправить код после загрузки в зашифрованном виде, но, тем не менее, на клиенте вам все равно нужно будет иметь ключ дешифрования, поэтому у кого-то, кто хочет получить информацию, по-прежнему будут две необходимые части этой головоломки , Но наш программист настойчиво, поэтому он создает функцию расшифровки каждый раз, чтобы соответствовать только одной зашифрованной строке, но все равно это не приносит ему пользы. Так как клиент все равно будет иметь строку и соответствующую функцию.
Все, что он может сделать, - это найти способ использовать среду, чтобы эту функцию можно было использовать только один раз, после этого код использовался как строка, а реальная информация терялась навсегда. И самое главное - использовать среду таким образом, чтобы контекст выполнения функции дешифрования не мог быть подделан .
.
Я знаю, что не ответил на ваш вопрос, но я указал некоторые важные детали проблемы, о которой вы упомянули. Если вы работаете с C, должны быть некоторые инструменты, которые вы можете использовать, например, создание контекста с использованием некоторого состояния памяти или фактической системной операции, чтобы получить что-то, что не может быть подделано.
РЕДАКТ. 1:
Вы можете создать интересный эффект домино в своем коде, пропуская биты ключа шифрования в зависимости от исполнения, так как при необходимости он у вас будет полностью, но он не будет сохранен в файле или в строке вашего скомпилированного файла, поэтому может быть найден только во время выполнения, и он может быть найден только в определенных условиях, и, более того, для его получения может потребоваться некоторое обратное проектирование. Может быть хорошим решением.
С большим уважением,
Пол