|
0 / 0 / 0
Регистрация: 23.04.2014
Сообщений: 11
|
|
Общая информция: взаимодействие между приложениями23.04.2014, 13:24. Показов 2884. Ответов 7
Метки нет (Все метки)
Вопросы на понимание к уважаемой публике по взаимодействию между приложениями (я понимаю в php и JavaScript, но не в десктопных приложениях). Мне это нужно для заявки на патент и моего проекта.
Допустим, мы делаем приложение "Антивирус" (1 на рисунке), которое проверяет файлы на диске. Файлы для анализа ему указывает (стрелка 3) другие приложения. Например и в частности, приложение "Редактор" (2 на рисунке). Вопрос 1. Как можно реализовать доставку пути к файлу, которое передается от приложения "Редактор" к приложению "Антивирус"? Для веб-приложений, это я знаю в теории, взаимодействие между программами происходит через порты. Как обстоят дела и как это формулируется (в грамотных выражениях) для десктопных приложений? Слово API я слышал, но никогда сам не применял. "Приложение "Антивирус" предоставляет API сторонним приложениям …" – или как это называется правильными словами. Далее. "Антивирус" может работать с самыми разными приложениями. И не всем им можно доверять. Я полагаю, что можно сделать область (область 4, выделенная пунктиром), которая находится под управлением "Антивируса". Там находятся кнопки "Проверить" и результаты проверки. Вопрос 2. Можно ли сделать так, что "Редактор" не будет знать, что находится в окошке, которое контролируется "Антивирусом"? Вопрос 3. Можно ли сделать так, что область, выделенная пунктиром, будет перемещаться, при перемещении окна "Редактора" (мышкой), сворачиваться по крестику и правильно перекрываться другими окнами. Пользователь вообще не должен догадываться, что эта область находится под контролем "Антивируса". (В HTML это бы называлось iframe.) Далее. Результаты анализа (результаты проверки на вирусы) могут храниться в хранилище данных "Антивируса" (5). (Чтобы не проверять файлы на вирусы каждый раз.) Например: хеш файла такой-то – вирусов нет. Эти результаты также являются приватными. Вопрос 4: где существуют места на жестком диске, где приложение "Антивирус" может устроить свое хранилище, так, чтобы оно было защищено от доступа других приложений? Предполагаю из общих, что на диск С: (где установлена система) или C:/User должны быть регламентированы права доступа приложений. Или как обстоят дела с доступом вообще? Вопрос 5: Надо ли шифровать данные в хранилище? – чтобы другие приложения не могли прочитать. Вопрос 6: Могут ли сторонние приложения прочитать результаты анализа, которые сейчас находятся в оперативной памяти "Антивируса"?
0
|
|
| 23.04.2014, 13:24 | |
|
Ответы с готовыми решениями:
7
Связь между приложениями чат между двумя приложениями Обмен данными между двумя приложениями |
|
Ушел с форума
|
||||||
| 23.04.2014, 20:09 | ||||||
|
Популярные способы обмена данными: разделяемая память, каналы (pipes), COM/RPC, файлы/реестр, события... http://msdn.microsoft.com/en-u... 85%29.aspx включен UAC. Каждому процессу присваивается определенный уровень целостности (integrity level), и процессы с низким IL не могут полноценно взаимодействовать с процессами с высоким IL. Например, можно создать папку, выставить ей права, разрешающие доступ только администраторам и системе, и хранить там нужные данные. Если у пользователя нет администраторских прав, сделать с такой папкой он ничего не сможет. А если так уже хочется шифровать, то лучше снова применять встроенные средства для этих целей, такие как DPAPI: http://msdn.microsoft.com/en-u... 95355.aspx Хотя есть некоторые программные интерфейсы для ограничения доступа.
1
|
||||||
|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
|
| 23.04.2014, 22:38 | |
|
Есть даже программа про которую вы говорите =) Называется SandBoxie и RedBoxie. Ну естественно, они сделаны только с базовыми основами, сильно "продвинутых" фичей там нет, но как пример сойдут.
0
|
|
|
0 / 0 / 0
Регистрация: 23.04.2014
Сообщений: 11
|
|||
| 24.04.2014, 00:29 [ТС] | |||
|
Спасибо, постепенно разбираюсь..
Как называются эти штатные средства безопасности Windows? Добавлено через 11 минут
Вопрос, что UAC делает. Насколько я понял пока, что UAC контролирует "тяжелые" воздействия – изменения настроек, реестр, тому подобное. К считыванию содержимого окна другого приложения он вроде, насколько я пока посмотрел, не имеет отношения. Добавлено через 4 минуты Контролирует ли UAC считывание содержимого окна? Я раньше думал, что поскольку один процесс не имеет доступа к памяти, используемой другим процессом, то он не имеет и доступа к тому, что отображается внутри другого окна. А операционная система управляет перемещением окошек, сворачиванием и их перекрытием. Сейчас уже не знаю, что думать… Если процесс "Редактора" может, по-простому, снять скриншот с экрана (есть же программы, которые снимают скриншоты), то он узнает, что было в окне другого процесса. То есть "Редактор" узнает результаты анализа файлов. А если еще будет запрашивать у "Антивируса" разные файлы (даже с ними не работая), то может выяснять и результаты анализа произвольных файлов. Добавлено через 3 минуты Контролирует ли UAC нажатие на кнопку "Проверить"? Есть еще вариант защиты приватности. Выдавать в пунктирное окно результаты анализа только для тех файлов, для которых пользователь просить их проанализировать. Не кликал – отображать только кнопку "Проверить". Для этого как раз и нужно быть уверенным – что кнопку напротив этого файла нажимал именно пользователь.
0
|
|||
|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
||||||||||
| 24.04.2014, 00:36 | ||||||||||
0
|
||||||||||
|
0 / 0 / 0
Регистрация: 23.04.2014
Сообщений: 11
|
|
| 24.04.2014, 00:46 [ТС] | |
|
Я немного разбираюсь в веб-программировании, но не разбираюсь в С++ и WinAPI вообще. Мне нужно понять принципиально, что реализуемо, а что нет.
0
|
|
|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
||
| 24.04.2014, 00:57 | ||
|
ВСЁ РЕАЛИЗУЕМО! Было бы желание =)
0
|
||
|
Ушел с форума
|
||||||||||
| 25.04.2014, 00:33 | ||||||||||
|
являющегося членом группы "Администраторы". На Windows Vista и выше - любой elevated (т.е. явно запущенный с правами администратора) процесс. дрожание указателя мыши, характерные свойства "движения" и т.п. UAC, DACL/SACL, owner-ы, SID-ы, привилегии, access token-ы, integrity level-ы и еще много всего. Система пронизана этими вещами сверху донизу, называть что-то одно конкретное нет смысла. отформатировать диск, смогу ли я ему помешать". По поводу UAC: те, кто отключают его, сами себе злобные буратины. - контролирует, чтобы программы, требующие высоких прав, запускались только с явного согласия пользователя; - "маскирует" администраторов под обычных пользователей, чтобы их процессы имели такие же обрезанные права и не могли ничего натворить в системе, если только пользователь явно этого не затребует; - ограничивает отправку оконных сообщений (а также установку оконных перехватчиков) в процессы, запущенные на более высоком уровне целостности (эта часть UAC называется UIPI - User Interface Privilege Isolation); - для обеспечения совместимости со старыми приложениями виртуализирует доступ к некоторым системным папкам и разделам реестра. Если процессы А и Б запущены от имени одного и того же пользователя, или это системные или запущенные администратором процессы, тогда они легко могут читать и писать в память друг друга. Во всех других случаях доступа нет, если только один из процессов не разрешит его явно. Ну или если ситуация, когда системный/админский процесс выступает инициатором записи или чтения. Ответы на них Вы найдете в книгах, статьях и другой литературе по Win32. Многие средства безопасности теряют смысл, если используются на уже скомпрометированной, то есть на зараженной системе. Нельзя пытаться защищаться от всего на свете, нужно делать некоторые допущения, например что в системе нет троянцев и прочей нечисти, а максимум, что имеет злоумышленник - запуск процесса в неадминистраторском контексте. И вот исходя из этих допущений возводить защиту. А противодействие угрозам на потенциально зараженной системе - это совсем другие подходы и средства (часто вообще неэффективные, повторю).
1
|
||||||||||
| 25.04.2014, 00:33 | |
|
Помогаю со студенческими работами здесь
8
Передать строку, между двумя приложениями
Взаимодействие между двумя .NET приложениями Обмен данных между DOS-приложениями и Windows-приложениями Взаимодействие с приложениями Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|