Comments 1
Автор (Юрий Строжевский, @ystr — опытный разработчик с 1998 года, автор «КриптоАРМ» и нескольких статей по криптографии/Kerberos) пошёл дальше стандартной документации MSDN и книг типа «Windows Internals». Он собрал в одном месте то, что обычно приходится собирать по кусочкам и за это огромное спасибо!!!
Ключевые "жемчужины", которых почти нигде нет в таком виде:
Полный цикл кодирования/декодирования всех основных типов NDR через низкоуровневые функции (пример в папке NDR2).
Реализация сервера, который работает с произвольными (неструктурированными) данными в многопоточной среде, с разными object ID и manager EPV (RPCServer2).
Как использовать manager EPV нестандартно (автор даже хранит в нём целые числа вместо указателей на функции — это уже хакерский уровень).
Динамическая регистрация object/type ID, security callback, расширенные ошибки (RPC_EE_INFO), impersonation клиента и получение его адреса.
Полноценный клиент без MIDL (RPCClient2) + отдельный пример клиента для самого EPMAPPER с ручным разбором tower.
Продвинутое использование RPC в Windows