Up until Vista, calling NtSetInformationProcess for PROCESS_ASSIGN_TOKEN worked fine (as long as you were LocalSystem and had SE_ASSIGNPRIMARYTOKEN privilege).
With Vista, they have crippled this API so that it only works if the process has never yet executed any code, or if the calling process is a Posix subsystem app (to allow setuid to work).
This project calls for a device driver that makes NtSetInformationProcess work under Vista, or that accomplishes token replacement on a process in the same manner that NtSetInformationProcess could do pre-Vista.
Of course it must not be a terrible hack... this is to enable a popular application that is used by thousands on XP to work under Vista, so it must be a clean, understandable implementation that does not destabilize the system.
Driver must be legacy style (not WDM) so that it can be dynamically loaded. Code must be in C or C++ and build as a VisualStudio 2008 project. You should include a small command line sample project that loads the driver and calls your function as a demonstration of it working.