Здравствуйте zdima, Вы писали:
Z>Здравствуйте vasketsov, Вы писали:
V>>Перехвати у него [Zw]{Create|Open}File или что он там использует.
Z>Это как?
Как перехватывать — писать не буду, спросите у Поиска или пряво у Рихтера.
Логика такая.
При открытии файла этим контролом надо его открыть самому и расшифровать в память, а потом возвращать на ReadFile/WriteFile/GetFileSize/.. не то, что на самом деле в файле хранится, а из своего.
А еще можно открыть проекцию файла и заставить контрол работать с ней, начиная от задания ее имени (секции — именованый объект, правда, парсер подсистемы Win32 ее имя не пропустит имхо) и кончая подменой хэндла. Но тут по полной программе CreateRemoteThread/ReadVirtualMemory/WriteVirtualMemory или еще ниже. Можно и в ТОМ процессе создать поток, который бы этим и занимался.
А еще можно открыть NamedPipe и отдать в контрол его (канала) имя; наверное, самый простой вариант, но не факт что будет работать из-за ряда ограничений.