У меня есть приложение, которое может как-то обнаружить, если это приложение уже запущено на другом компьютере, подключенном к локальной сети.

Я хотел бы заблокировать проверку приложений на других компьютерах.


Что я уже пробовал:

Первое: я пытался вообще отключить подключение к локальной сети - оно работало, приложение не смогло выполнить проверку, но интернет-соединение было также отключено.

Второе: я пытался заблокировать доступ к Интернету для этого конкретного приложения (EXE) в брандмауэре Windows. К сожалению, это не сработало, приложение все еще может обнаружить уже запущенные процессы того же приложения на других компьютерах.

В-третьих: я перешел к настройкам сети -> расширенные настройки общего доступа и заблокировал все параметры общего доступа на обоих компьютерах. Это не помогло.

Четвертое . Я пытался заблокировать службу инструментария управления Windows (WMI) - на тот случай, если приложение использует его для обнаружения приложений на сетевом ПК.

Пятое: я заблокировал все другие EXE-файлы в брандмауэре Windows в папке с программой из-за доступа в интернет - не работал.


Следующей идеей может быть: как-то обнаружить активность процесса при запуске приложения и посмотреть, какие службы вызываются для обнаружения запущенных приложений в локальной сети. Может быть, контролировать сетевую активность тоже?

Моя последняя идея: запустить это приложение на виртуальной машине без доступа в Интернет, так что эта проверка не будет выполнена + у меня все еще будет доступ в Интернет.


Windows 10

1 ответ1

0

Приложение, вероятно, не обнаруживает другие запущенные экземпляры в сети через Интернет. Скорее, приложение, вероятно, просто общается по сети. Это объясняет, почему ваш первый метод работал, а второй - нет.

Убедитесь, что вы блокируете все сетевые подключения, а не только подключения к Интернету.

Вы можете использовать tcpview или Process Explorer, чтобы убедиться, что это так. Вот скриншот из Process Monitor:

Process Monitor - соединения TCP/IP

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .