И снова здравствуйте!
Есть у меня исходник одного примера инжекта исполняемых файлов в процесс, исходник очень простой, даже помнится мне пару лет назад мы его уже обсуждали, но в связи с давними переездами форума видимо тема где то затерялась, ну да ладно, не суть...
так вот, в исходнике есть одна процедура, вот кстати и она:
Код
procedure MyFunc(Mass: Pointer); stdcall;
begin
with TMass(Mass^) do
begin
@WinExec:=GetProcAddress(LoadLibrary(Kernel32), WinExecName);
@Sleep:=GetProcAddress(LoadLibrary(Kernel32), SleepName);
while true do
begin
WinExec(MyName, 5);
Sleep(10000);
end;
end;
end;
но вот незадача, необходимо реализовать проверку на то запущен ли наш файл из процесса в который мы проинжектились, дабы не запуститься дважды, или не запущен.
необходимо как то добавить функцию проверки процесса (она кстати тоже есть в исходнике, но она относится к основной программе инжектору) в процедуру которая инжектится с файлом в процесс, как это можно реализовать?
выкладываю исходник что бы все было более менее понятно, если не затруднит, подскажите пожалуйста, будьте так любезны?Добавлено (27.12.2013, 19:57)
---------------------------------------------
И еще, вот в этом примере инжектиться не сам исполняемый файл в процесс, а лишь только часть кода которая его запускает оттуда где лежит сам исполняемый exe файл, а может быть кто нибудь знает как целиком инжектить файл в процесс ну или в память, или проще переписать код в библиотеку и инжектить уже её ?