xXxSh@dowxXx
|
Дата: Пятница, 27.12.2013, 19:57 | Сообщение # 1
|
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
|
И снова здравствуйте!
Есть у меня исходник одного примера инжекта исполняемых файлов в процесс, исходник очень простой, даже помнится мне пару лет назад мы его уже обсуждали, но в связи с давними переездами форума видимо тема где то затерялась, ну да ладно, не суть...
так вот, в исходнике есть одна процедура, вот кстати и она:
Код
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 файл, а может быть кто нибудь знает как целиком инжектить файл в процесс ну или в память, или проще переписать код в библиотеку и инжектить уже её ?
Сообщение отредактировал xXxSh@dowxXx - Пятница, 27.12.2013, 15:19
|
|
|
|
d4rkzy
|
Дата: Пятница, 27.12.2013, 22:20 | Сообщение # 2
|
Постоянный
Зарегистрирован: 15.11.2013
Группа: Пользователи
Сообщений: 135
Статус: Offline
|
[hide]
Цитата xXxSh@dowxXx ( )
быть кто нибудь знает как целиком инжектить файл в процесс ну или в память, или проще переписать код в библиотеку и инжектить уже её ?
Прикрепил юнит для запуска файла из стрим массива в память (можно юзать стрим или стринг)
Пример использования:
Код
var
D4RKZY : string;
begin
ExecuteFromMem(ParamStr(0), '', @D4RKZY[1]);
end;
Подробней:
Код
ExecuteFromMem(ПУТЬ ДО ФАЙЛА В КОТОРЫЙ ИНЖЕКТИМ, '', @массив1]);
ExecuteFromMem('explorer.exe', '', @массив1]);[/hide]
Сообщение отредактировал d4rkzy - Пятница, 27.12.2013, 22:21
|
|
|
|