Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Передача данных между процессами, Хелп!!!!! 
:(
    Опции темы
bass
Дата 6.11.2010, 18:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 315
Регистрация: 5.8.2007

Репутация: 2
Всего: 2



Ребят такая ситуация... Думаю уже неделю. smile  smile .... Операционка ХР .... Внедряю свою длл с помощь реестра во все процессы где есть USER32.DLL
 далее подменяю одну из ее функций на свою.... Все работает...... НО такая длл находиться может как в системном процессе так и админском и узерском....... Нужно чтоб она  читала данные из например открытого файла в памяти и в соответствии выполняла действия..... Но неизвестно когда какой процесс может обратиться  к этому файлу...... У меня была такая ситуация когда файл создал системный процесс , другие не могли его открыть(Ну кроме системных).... Реестр не хочу использовать скорость будет не охти.... Как ребят выкрутиться?????? Если есть у кого соображения или ссылочки где почитать????(Не могу наити в инете привилегии систем....)
Заранее благодарен....
PM MAIL   Вверх
bass
Дата 6.11.2010, 18:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 315
Регистрация: 5.8.2007

Репутация: 2
Всего: 2



Забыл еще смотрю в сторону проверки с какими правами длл и из такого файла читать но это нагромождение кода да еще проврка узера на ранней стадии может вызвать исключение.....
PM MAIL   Вверх
GremlinProg
Дата 8.11.2010, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2706
Регистрация: 9.8.2005
Где: Тюмень

Репутация: 99
Всего: 106



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


--------------------
"Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины."
PM WWW ICQ   Вверх
icecrashldr
Дата 8.11.2010, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Developer
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 5.7.2010

Репутация: нет
Всего: нет



Код

SECURITY_ATTRIBUTES sa;


sa.nLength = sizeof(sa);
    sa.bInheritHandle = FALSE;
    sa.lpSecurityDescriptor = NULL;

//
    // Define the SDDL for the DACL. This example sets 
    //
    szSD = TEXT("D:")       // Discretionary ACL
        TEXT("(D;OICI;GA;;;BG)")    // Deny access to built-in guests
        //TEXT("(D;OICI;GA;;;AN)")    // Deny access to anonymous logon (Win 2000 does not like it!)
        TEXT("(A;OICI;GRGW;;;AU)") // Allow read/write to authenticated users
        TEXT("(A;OICI;GA;;;BA)");   // Allow full control to administrators

    if( !ConvertStringSecurityDescriptorToSecurityDescriptor(
                szSD,
                SDDL_REVISION_1,
                &(sa.lpSecurityDescriptor),
                NULL) 
                )
{
}






PM MAIL WWW   Вверх
bass
Дата 8.11.2010, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 315
Регистрация: 5.8.2007

Репутация: 2
Всего: 2



Я бы с удовольствием...... Но хотелось бы через память.... Обращении к жескому диску достаточно долгие..... Также говорил про реестр.... 
Погоди либо на файл в памяти можно установить уровень доступа????(Прям чуточку поподробнее..) Ой в эту сторону точно не смотрел.......
Тогда вопрос как писать отребуты безопасности чтоб если файл открыл системный процесс а доступ имели все и на открытие в CreateFileMaping...... icecrashldr спасибо ткнул меня в нужное напрвление наверно заработался.......... Ща погуглю...... но если не сложно кому кинте пример....

Это сообщение отредактировал(а) bass - 8.11.2010, 21:23
PM MAIL   Вверх
bass
Дата 17.11.2010, 07:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 315
Регистрация: 5.8.2007

Репутация: 2
Всего: 2



K>    SECURITY_DESCRIPTOR sd = {sizeof(SECURITY_DESCRIPTOR)};
K>    ::InitializeSecurityDescriptor(&sd, SECURITY_DESCRIPTOR_REVISION);
K>    ::SetSecurityDescriptorDacl(&sd, TRUE, NULL, FALSE);

K>    SECURITY_ATTRIBUTES sa = {0};
K>    sa.nLength = sizeof(SECURITY_ATTRIBUTES);
K>    sa.lpSecurityDescriptor = &sd;
K>    sa.bInheritHandle = true;


Доступ всем кажется заработало.................. smile  smile 
icecrashldr спасиб что в нужную сторону ткнул, я кажется заработался smile  smile 

PM MAIL   Вверх
bass
Дата 17.11.2010, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 315
Регистрация: 5.8.2007

Репутация: 2
Всего: 2



опять гарбли функция SetSecurityDescriptorDacl и InitializeSecurityDescriptor в ранний момент загрузки приводит к исключению..........
Даже если длл в памяти....... 
Проверяю факт загрузки системы.... На наличей запущенного своего ехе файла....
PM MAIL   Вверх
12usver12
Дата 29.11.2010, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 247
Регистрация: 5.1.2007

Репутация: 1
Всего: 1



пайпы, сокеты , можно выделить кусок память в другом процессе каком-то и через нее общаться  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0719 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.