Считается ли управление окнами, не принадлежащими вашему процессу, вредоносной деятельностью? - PullRequest
0 голосов
/ 26 марта 2011

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

Управление окнами с использованиемдескриптор окна из другого процесса в MS Windows (XP)

Как я могу контролировать размер и положение нового процесса Окно из приложения WinForms?

Будет ли мой процесс регистрироваться как вредоносное ПО с помощью какого-либо известного вам программного обеспечения для обнаружения вредоносных программ?

Потребуются ли моему процессу какие-либо более высокие привилегии для управления другим окном процесса, чем самые высокие из привилегий, которыми обладает мой процесс и другиепроцесс запущен?

Ответы [ 2 ]

1 голос
/ 26 марта 2011

Я предлагаю вам использовать UI Automation для манипулирования окном другого приложения.

Это, вероятно, лучший способ гарантировать, что ваше манипулирующее приложение не будет рассматриваться как вредоносное ПО, поскольку UI Automation имеет значение 100% часть ОС, а не HACK, поддерживает безопасность.Это также авторы приложений, чтобы добавить или удалить возможности автоматизации их приложения.Смотрите эту несколько связанную тему здесь на SO: https://stackoverflow.com/questions/5383600/win32-vs-ui-automation

0 голосов
/ 26 марта 2011

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

Во-первых, как я написал в комментарии, даже если какая-то утилита обнаружения вредоносного ПО не будет 'Если ваш процесс не определен как вредоносный, пользователи вашего программного обеспечения могут быть весьма раздражены поведением вашего программного обеспечения.Как правило, одно приложение не должно манипулировать другими приложениями вообще.Поэтому, если ваши процессы не связаны или не являются частью менеджера окон / десктопов, вы действительно не должны этого делать (ИМХО).

Далее, давайте рассмотрим несколько связанную тему;а именно, насколько сложно браузерам определить, является ли всплывающее окно легитимным или просто рекламным.(В идеале они должны блокировать только последнее.) Различные браузеры приняли разные стратегии и эвристики, чтобы прийти к выводу, следует ли им блокировать всплывающее окно или нет.

Вернемся к теме, я думаю, что это похоже на обнаружение вредоносных программ.программного обеспечения.Скорее всего, они не могут сделать это правильно каждый раз с чисто объективными критериями.Я предполагаю здесь, но я совершенно уверен, что они частично полагаются на фиксированные критерии, а также на глобально собранные отзывы пользователей (статистика) и другие эвристические методы.И я вполне уверен, что разные программы обнаружения вредоносных программ будут использовать разные критерии для определения того, что является вредоносным ПО, а что нет, поэтому, по всей вероятности, общий ответ на ваш вопрос невозможен.


Пример критериев обнаружения вредоносных программ:

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

  • проверить, действительно ли оба процесса одинаковы (один и тот же исполняемый файл);
  • имеют одного и того же издателя / распространителя / сертификата;
  • установлены в одном каталоге или нав то же время (например, через дату создания исполняемого файла);
  • имеют похожие имена (например, "Gorgonzola User Client" и "Gorgonzola Worker Task" );
  • и т. Д.

(Но это всего лишь предположение о возможных критериях.)


Прагматичное предложение:

Поскольку, вероятно, нет общего ответа нана ваш вопрос я предлагаю вам сделать следующее:

  • Старайтесь, по возможности, избегать манипуляций сторонним процессом;если оба процесса на самом деле публикуются вами, вы можете, например, установить некоторое межпроцессное взаимодействие и отправить сообщение от одного процесса другому, сообщив ему, что он должен обновить свои окна сам , в некоторых конкретныхway.

  • Если вышеперечисленное не является жизнеспособным вариантом, спросите своих клиентов, какое программное обеспечение для обнаружения вредоносных программ они используют (если это возможно);затем протестируйте свое программное обеспечение на соответствие этой конкретной утилите обнаружения вредоносных программ.

...