Я не знаю много о правовой системе в Индии, но убедитесь, что вы заставили их подписать какую-либо форму NDA, и дайте им понять, что вы относитесь к этому серьезно и будете судиться с ними, если они нарушат его.
И, если возможно, открывайте свою DLL только через службу Windows или COM-сервер вне процесса, чтобы вы могли изолировать вашу DLL там, где они не могут получить к ней прямой доступ.
Если у них есть физический доступ к вашей DLL, и они наполовину компетентные разработчики, то, вероятно, вы мало что можете сделать с технологической точки зрения, чтобы фактически запретить им использовать ее. Вы можете немного замедлить их, но они неизбежно получат то, что хотят, если у них будет доступ к двоичному файлу. Отказ в доступе к двоичному файлу - единственный эффективный способ предотвратить это.
Однако, если DLL обрабатывает пользовательский ввод каким-либо образом и предоставляет контент для отображения в результате, то вы можете вставить какое-то «пасхальное яйцо», которое будет выдавать какую-то особую подпись, основанную на некоторых неясных, но специфических вход. В зависимости от правовой системы, которая может быть достаточно хороша, чтобы начать расследование и заставить их предоставить доступ следователям, чтобы доказать, что они не крадут ваши технологии. Если они не знают, что это там, они, вероятно, не будут искать его и отключать, пока у вас не будет возможности вызвать его.