скрытое interprocess comunication

Тема в разделе "WASM.WIN32", создана пользователем katrus, 7 мар 2007.

  1. katrus

    katrus New Member

    Публикаций:
    0
    Регистрация:
    7 мар 2007
    Сообщения:
    612
    А как можно сделать коммуникацию между двумя процессами так, чтоб ее было трудно заблокировать (в идеале, чтоб ее не было видно извне)? Например сейчас я использую shared memory плюс шифрование, но shared memory handler элементарно закрывается сторонней программой. Делать ресинхронизацию в такой ситуации несколько геморойно...
     
  2. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    из ринг0 все можно будет полочить
     
  3. katrus

    katrus New Member

    Публикаций:
    0
    Регистрация:
    7 мар 2007
    Сообщения:
    612
    Great
    естествено, но и защиту можно там-же положить
     
  4. Freeman

    Freeman New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    1.385
    Адрес:
    Ukraine
    readprocmem другдруга
     
  5. katrus

    katrus New Member

    Публикаций:
    0
    Регистрация:
    7 мар 2007
    Сообщения:
    612
    FreeManCPM
    А какой АРI есть для этого?
     
  6. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    katrus
    ReapProcessMemory, сказали же )
    В ринг0 это будет уже другое.. надо с MDL работать
     
  7. katrus

    katrus New Member

    Публикаций:
    0
    Регистрация:
    7 мар 2007
    Сообщения:
    612
    Спасибо, почитал про ReadProcessMemory - выглядит очень даже подходящим методом. Единственно, как можно засинхронизировать "писателя" и "читателя" не используя mutexes?
     
  8. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Можно вручную создать некое подобие блокировки на основе памяти одного из процессов.
     
  9. katrus

    katrus New Member

    Публикаций:
    0
    Регистрация:
    7 мар 2007
    Сообщения:
    612
    В смысле? сделать polling, т.е., цикл с проверкой и Sleep?
     
  10. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    katrus
    Ну да. Типа флаг в чужом адресном пространстве, пока он установлен спать, а как только снимется - поставить его, ченить записать и снять обратно. В другом процессе тоже самое, только чтение/запись флага локально, а не через Read/WriteProcessMemory
     
  11. seeQ

    seeQ New Member

    Публикаций:
    0
    Регистрация:
    3 сен 2003
    Сообщения:
    71
    Так и при Read/WriteProcessMemory можно спокойно закрыть hProcess. Как по мне то MMF + шифровка получше будет.

    Стандартоно, через CreateEvent+WaitForSingleObject\WaitForMultipleObjects
     
  12. katrus

    katrus New Member

    Публикаций:
    0
    Регистрация:
    7 мар 2007
    Сообщения:
    612
    MMF? а что это такое?
     
  13. seeQ

    seeQ New Member

    Публикаций:
    0
    Регистрация:
    3 сен 2003
    Сообщения:
    71
    katrus
    Memory Mapped Files(MMF), ты их и используешь при shared memory
     
  14. Cr4sh

    Cr4sh New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2006
    Сообщения:
    668
    если развивать тему с памятью друг-друга, то имхо, намного проще будет использовать shared-секции