Защитить содержимое статической библиотеки в C - PullRequest
0 голосов
/ 15 мая 2019

Я создал статическую библиотеку (.lib).Исходный код выглядит следующим образом:

Исходный файл:

void foo(void)
{
  MyType var;
  var.val1 = 40;
  var.val2 = 30;
  use(var);
}

Файл заголовка (libheader.h):

/* Exported API */
void foo(void);

Основной проект:

#include "libheader.h" // XX.lib already imported to the main project

int main()
{
  // some code
  foo(); // Breakpoint here and step in
  // some code
  return 0;
}

В основном проекте я импортировал библиотеку, включил «libheader.h» и позвонил foo().Когда я отлаживаю свой код и устанавливаю точку останова на foo(), я нажимаю «Вступить», код ассемблера статической библиотеки отображается в консоли отладки, и я вижу содержимое локальных переменных, например var (в примере).Я даже вижу в стеке вызовов, что use(var) был вызван.

Мой вопрос: эта библиотека должна быть защищена перед доставкой клиенту.Это нормально, что содержимое (переменных, имен функций, вызовов ...) файла .lib можно увидеть во время отладки?Есть ли способ зашифровать / защитить его?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...