English version

RSS

Межпроцессное взаимодействие

Автор: Алекс Jenter
Аннотация: Обзор основных технологий IPC: Очень многим приложениям, если не большей части, требуется информация от других приложений, либо они должны эту информацию сообщать. Именно поэтому в операционную систему встраивается множество механизмов, которые обеспечивают т.н. Interproccess Communication (IPC) - то есть межпроцессное взаимодействие...

Ключевые слова:
Автор: Леошкевич Илья
Источник: RSDN Magazine #2-2006
Аннотация: Данная статья является обзором недокументированного механизма LPC, в ней продемонстрированы основные моменты, необходимые для реализации простейших LPC-клиента и LPC-сервера. LPC как механизм передачи сообщений не всегда превосходит свои аналоги – именованные каналы, сокеты, синхронизированный доступ к разделяемой памяти, и т.д. И всё же, могут возникнуть ситуации, когда его использование выглядит достаточно привелекательным – идеальным примером явлется передача данных по инициативе драйвера пользовательскому приложению.

Ключевые слова: LPC
Автор: А. Новик
Источник: «Технология Клиент-Сервер»
Аннотация: Разработчикам распределенных приложений иногда необходимо создавать программы, работающие в асинхронном режиме.

Ключевые слова:
Автор: Сергей Холодилов
Источник: RSDN Magazine #4-2004
Аннотация: В статье описывается один из методов внедрения DLL. Разбираются способы взаимодействия с внедренной библиотекой.

Ключевые слова: CreateRemoteThread, IMAGE_DOS_HEADER, PE формат
Автор: SergH
Аннотация: Здравствуйте Алекс, Вы писали:<br /> <span class='lineQuote level1'><br /> А&gt;Даже так не работает:</span><br /> <span class='lineQuote level1'>А&gt;[ccode]</span><br /> <span class='lineQuote level1'>А&gt; STARTUPINFO si = {sizeof(STARTUPINFO)};</span><br /> <span class='lineQuote level1'>А&gt; GetStartupInfo(&amp;si);</span><br /> <span class='lineQuote level1'>А&gt; si.dwFlags = STARTF_USESTDHANDLES;</span><br /> <span class='lineQuote level1'>А&gt; si.hStdOutput = hFile;</span><br /> <span class='lineQuote level1'><br /> А&gt; PROCESS_INFORMATION pi;</span><br /> <span class='lineQuote level1'>А&gt; ZeroMemory(&amp;pi,sizeof(PROCESS_INFORMATION));...</span>

Ключевые слова:
Автор: Сторожевых Сергей
Источник: RSDN Magazine #3-2007
Аннотация: При решении многих задач системного программированния зачастую бывает необходимо загрузить динамически подключаемую библиотеку (DLL) в адресное пространство другого процесса, с целью исследования либо изменения его поведения. В данной статье показан способ, позволяющий внедрить DLL в любой процесс (в том числе защищенный) на самом раннем этапе его создания.

Ключевые слова: inject, DLL, APC
Автор: Alex Fedotov
Аннотация: Здравствуйте Alexche, вы писали:<br /> <span class='lineQuote level2'><br /> RM&gt;&gt;Создается анонимный канал(pipe), затем инициализируется в STARTUPINFO hStdOutput хэндлом записи созданного канала и</span><br /> <span class='lineQuote level2'>RM&gt;&gt;dwFlags |= STARTF_USESTDHANDLES, а затем делается CreateProcess c bInheritHandles=TRUE, ну и ReadFile из хэндла чтения канала.</span><br /> <span class='lineQuote level1'><br /> A&gt;Работа...</span>

Ключевые слова: