Показать сообщение отдельно

  #7  
Старый 26.08.2007, 11:17
Ni0x
Постоянный
Регистрация: 27.08.2006
Сообщений: 367
Провел на форуме:
2009677

Репутация: 472
По умолчанию

Неправильно сказал. Не из драйвера открыть порт, а из юзермод приложения, а в драйвере можно будет подключиться к этому порту через NtConnectPort.
Код:
NtConnectPort(
OUT PHANDLE     ClientPortHandle,
IN PUNICODE_STRING    ServerPortName,
IN PSECURITY_QUALITY_OF_SERVICE  SecurityQos,
IN OUT PLPCSECTIONINFO    ClientSharedMemory OPTIONAL,
OUT PLPCSECTIONMAPINFO    ServerSharedMemory OPTIONAL,
OUT PULONG     MaximumMessageLength OPTIONAL,
IN OUT PVOID     ConnectionInfo OPTIONAL,
IN OUT PULONG     ConnectionInfoLength OPTIONAL );
Вообще тема интересна сама по себе в первую очередь своей необкатанностью. У многих стандартных процессов виндовс есть свои LPC порты, при детальном рассмотрении темы можно хоть малварь писать с новой технологией инфекта и тд. С помощью тогоже rpc можно делать опосредованный вызов функций winapi, т.е вызов функций на лету через посредник. Здесь открываются огромные просторы и новые техники. Собственно, небольшая статья по LPC: http://shellcode.ru/index.php?name=News&file=article&sid=17 и исходники по теме: http://www.argeniss.com/research/hackwininter.zip