Реализация под Linux (алгоритм затратен на ресурсы процессора) детали по телефону
CreateActCtx From Memory
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.
Если кратко, то задача состоит в том, чтобы написать функцию HANDLE CreateActCtx(LPCVOID pManifest, DWORD dwSize), которая бы не обращалась к csrss.exe, но, тем не менее, отдавала корректный HANDLE, который бы нормально обрабатывался прочими функциями, работающими с activation context.
Дело в том, что создание activation context вовлекает в себя вызов csrss.exe, а это неудобно, когда хочется создать контекст непосредственно из памяти. Например, хочется создавать контекст динамически, не используя временные файлы. Сейчас это невыполнимо.
Хорошая новость состоит в том, что HANDLE, который возвращает стандартный CreateActCtx(ACTCTX) - это указатель на некий буфер, который создается / заполняется частично в csrss.exe. Все прочие функции, вроде ActicateActCtx, используют только этот буфер. Таким образом, для решения задачи необходимо выделить ту часть работы, которую делает csrss.exe, и делать ее в контексте вызывающего процесса. Выяснилось, что csrss.exe вызывает недокументированную функцию sxs.dll!SxsGenerateActivationContext, которая выполняет значительную часть работы. Вероятно, решение должно использовать эту функцию.
От исполнителя требуется любовь к дизассемблированию, радость от копания во внутренностях windows. Предполагается, что будет найден момент, когда процесс вызывает CsrClientCallServer, будут разобраны параметры, далее исследовано, как эти параметры обрабатывает csrss.exe, как именно вызывает sxs.dll!SxsGenerateActivationContext.
Кроме того, известно, что VMWare ThinApp (aka thinstall) умеет создавать контексты прямо из памяти.
Заявки фрилансеров
Похожие заказы
- Системное программирование1 заявкаЗакрыт16 лет назад
- $2500
Нужно написать систему Обмена данными для 1С 8.1 Торговля. Следующим: - Заказами и информацией о них (Оплата статусы закрыты или нет итд) (Из веба в 1с) - Склад ...
Системное программирование11 заявокЗакрыт16 лет назад Значит нужно сделать скрипт для Windows XP для програмки: KssWare ICQ Sniffer.NET Это програмулька прослушивает ICQ канал. 1) Надо слать запрос на наш веб сервер, передавая UIN который ...
Системное программирование3 заявкиЗакрыт16 лет назадНаписать игровую программу, которая перед началом игры произвольно устанавливает невидимую на экране метку и видимый символ "*", который перемещается по экрану с помощью стрелок. При движении символа генерируются звуковые колеба ния, частота которых зависит от ...
Системное программирование5 заявокЗакрыт16 лет назад- $250
Мне нужен плагин к Python Imaging Library для парсинга .ICO. В PIL уже есть такй плагин, однако он сильно устаревший, и не поддерживает современные расширения формата (альфа прозрачность, 32-х битный цвет, и т.д.). ...
Системное программирование3 заявкиЗакрыт16 лет назад Нужна программа для смены айпи в Windows 2003 server желательно через указаное время.
Системное программирование1 исполнительЗавершен16 лет назад- $5000
Задача: Написание ядра файрволла под Win (разные версии) Требования: Plain C, Опыт разработки с использованием DDK, понимание ndis и tcpip. Понимание приципов работы уже существующих решений. ...
Системное программирование11 заявокЗакрыт16 лет назад Сокетный движок сервера. Софт под Windows. Должен обеспечивать открытие 4000 и более сокетов и оденовременную их обработку. Исполнение в любом виде (DLL или класс с исходным кодом на Delphi или С++). Возможны другие задания ...
Системное программирование10 заявокЗакрыт16 лет назадЗдравствуйте. Ест ьрисунок 4096 на 4096 пикселей. Его нужно разбить на 324 кусочка по 256 на 256 пикселей. Это 18 кусочков в ширину и 18 кусочков в ысоту и сохранить их так ...
Системное программирование1 исполнительЗавершен16 лет назадНеобходимо составить на Ассемблере в моделях tiny и small программы, организующие сортировку элементов массива из 10 целых чисел в диапазоне от 0 до 255, объявленных как данные. Откомпилировать обе программы и составьте карту ...
Системное программирование1 исполнительЗавершен16 лет назад