ну да ... VirtualAllocEx + WriteProcessMemory + CreateRemoteThread - пишешсься и выполняешься в другом процессе, а в инжект запихни TerminateProcess (твоего приложения), потом редактируй свой екзешник и снова запускай его хоть WinExec'ом ... Если надо, могу скинуть проект по инжекту в другой процесс (Visual Studio) ... потом могу скинуть пример, как выполняется TerminateProcess (Builder) ... ну а редактирование как-нибудь уж сам =) ... Напиши, что тебе нужно из предложенного мной.
зачем так сложно? копируешь себя в новый .exe, патчишь новый .exe, запускаешь его, завершаешь исходный процесс, переименовываешь новый .exe в старый
Можно себя скопировать в temp directory, передать там себе управление (запустить), а старый ЕХЕ перезаписать, а потом обратно.
нет, мне не подходит факт запуска второго exe. А можно выполняющемуся exe прописать другой путь, чтобы файл exe исчез из места запуска, но не перезапуская exe?
ну варианта тут имхо 2: 1) почитать статью о работе с занятыми файлами 2) сделать MoveFile себя в левую (например временную) папку, а на своем месте создать пропатченый ехе
прочитал бегло статью по работе с занятыми файлами, вопрос - там в примере только чтение кластеров, а запись, да ещё запущенного exe пройдёт?
процесс привязан к объекту секции - так что нужно либо отвязать от нее процесс либо изменить файл на диске прямым доступом к диску и сбросить кеш фс конечно попробовал бы в ручную любой тулзой для анализа фс, чтобы не переспрашивать одно и тоже (winhex/flexhex/...)
Sun07 нет! всё на си =( Здесь найдёшь даже готовый проект по внедрению в другой процесс с комментами http://wasm.ru/forum/viewtopic.php?id=32034 а вот в эту фунцию Код (Text): DWORD WINAPI func(LPVOID) тебе нужно запихать TerminateProcess http://msdn.microsoft.com/en-us/library/ms686714(VS.85).aspx handle по PID объявить сможешь - пример есть в проекте с инжектом =) ну и конечно свое редактирование запихни после Terminate, а потом простой WinWxec =) вот только если для тебя критично запуск стороннего процесса - перезапуск твоего приложения - это не критично ?? оно оконное ?