Здравствуйте, PotapovPV, Вы писали:
PPV>Насколько я понимаю, что бы вызвать LoadLibrary новым потоком, достаточно получить ее адрес и выставить EIP контекста нового потока на него? Подскажите, как, в таком случае, передать этой функции строку с параметром?
непонятно чо за проблемы ты решаешь? у Рихтера же полное описание есть (во всяким случает раньше было).
в качестве стартового адреса для CreateRemoteThread указываешь адрес LoadLibrary (благо он во всех процессах один и тот же). строку с именем dll пишешь в адресное пространство целевого процесса с помощью WriteProcessMemory. адрес этой строки в удаленном процессе передаешь в remote_thread_function с помощью CreateRemoteThread. еще какие-то детали нужны или осилишь дальше сам?
c SetContext и установкой eip лучше не связываться — нормально работать не будет.
если по каким-то причинам не подходит CreateRemoteThread юзай NtCreateRemoteThread.