Вы можете проверить свойство PartOfDomain класса WMI Win32_ComputerSystem. [D0] MSDN говорит:
PartOfDomain
Тип данных: boolean
Тип доступа: только для чтения
Если True, компьютер является частью домена. Если значение NULL, компьютер не находится в домене или статус неизвестен. Если вы отсоедините компьютер от домена, значение станет false.
blockquote>/// & lt; summary & gt; /// Определяет, является ли локальная машина членом домена. /// & lt; / summary & gt; /// & lt; возвращает & gt; Булево значение, указывающее, является ли локальная машина членом домена. & lt; / returns & gt; /// & lt; примечания & gt; http: //msdn.microsoft.com/en-us/library/windows/desktop/aa394102%28v=vs.85%29.aspx< / замечания & gt; public bool IsDomainMember () {ManagementObject ComputerSystem; using (ComputerSystem = new ManagementObject (String.Format ("Win32_ComputerSystem.Name = '{0}'", Environment.MachineName))) {ComputerSystem.Get (); object Result = ComputerSystem ["PartOfDomain"]; return (Результат! = null & amp; & amp; (bool) Результат); }}
Вы можете сделать свой плагин своим сервисом по RMI . Таким образом, плагин будет приложением и может быть скомпилирован в собственный код.
Я предполагаю, что у вас есть веские причины пойти на сборник. Опция, которую вы можете проверить, - Excelsior JET , которая является сертифицированным решением Java.
Вы действительно не можете использовать все для обфускации кода, если вы распространяете исполняемый код в любой форме. Любой исполняемый код может быть запрограммирован в обратном порядке. Это деловая проблема, а не техническая проблема, и она решается busniess означает: лицензионные соглашения, цену, время выхода на рынок или, скорее всего, более реалистичную оценку рисков и ценностей, то есть признание вам, что ваш код просто не является " t это ценный. В качестве альтернативы поставляйте свой продукт как услугу, а не как исполняемый файл.