(C#/C ++ CLI), действительно ли возможно защитить мои блоки CLI C++ от того, чтобы быть используемым в других проектах.NET?

Я создал обертку CLI C++ для собственного кода C++, на который в свою очередь я ссылаюсь в своем приложении C#. Действительно ли возможно так или иначе защитить этот блок так, чтобы это могло только использоваться в моем приложении без возможности кого-то еще использующего его?

Я - технологический разработчик Microsoft, я - все об эгоизме :)

5
задан George Johnston 28 January 2010 в 20:55
поделиться

3 ответа

Я использовал это Техника с успехом.

В принципе, речь идет о защите вашей сборки от нагрузки, размещая потребность в цепочке связи и используя открытый ключ сборки в качестве доказательства. Только сборы, подписанные с Ваш , ваш закрытый ключ сможет загрузить его.

3
ответ дан 15 December 2019 в 06:26
поделиться

Да, но это будет проигрышная битва с решительным атакующим.

Например, вы можете предоставить зашифрованную версию, которая принимает только определенный ключ, как это предлагают некоторые. Но тогда вам придется расшифровывать его на ваших клиентах, у которых, возможно, нет зашифрованных хранилищ памяти, поэтому решительный злоумышленник может просто прочитать соответствующий блок памяти и десериализовать результат, чтобы получить вашу оригинальную сборку.

0
ответ дан 15 December 2019 в 06:26
поделиться

Не идеально. LinkDemand применяется только в среде частичного доверия. Код, работающий с полным доверием, также может использовать отражение для доступа к закрытым типам и, как правило, обходить любую защиту, которую вы хотите обсудить.

Возможно, вы хотите, чтобы ваш код C ++ / CLI вызывал Assembly :: GetEntryAssembly и сравнивал его с белым списком одобренных приложений, для которых предназначена эта библиотека.

Конечно, вы хотите минимизировать количество управляемого кода (и атрибутов), задействованного в проверках, поскольку управляемый код действительно легко декомпилировать.

На самом деле, добавление случайных проверок к основной логике кода C ++ - единственная надежда на то, что ее не обойдут.

0
ответ дан 15 December 2019 в 06:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: