Форум: "Прочее";
Текущий архив: 2015.11.29;
Скачать: [xml.tar.bz2];
ВнизПодмена адреса функции WinAPI Найти похожие ветки
← →
KSergey © (2015-03-30 16:28) [0]Есть процесс, в который легально подгружается моя DLL
Хочется подменить для этого процесса вызов какой-либо функции WinAPI на свою (в частности, GetSystemMetrics)
Это надо городить всю эту мутатень с таблицами экспорта и всё такое? Антивирусы сразу ай-яй-яй скажут? или нет
Есть ли простые варианты?
← →
Rouse_ © (2015-03-30 16:32) [1]Там много вариантов, выбирай любой:
http://alexander-bagel.blogspot.ru/2013/01/intercept.html
http://alexander-bagel.blogspot.ru/2013/05/intercept2.html
← →
KSergey © (2015-03-30 20:01) [2]Спасибо большое!
← →
Rouse_ © (2015-03-30 21:45) [3]У тебя нюанс есть - то, что ты легально подгрузился, еще не означает что тебя все пустят на запись в область библиотек. Зависит от антивиря.
Проверяй через VirtualQuery память, вполне возможно что она тебе уже доступна контролирующей библиотекой, которая будет давать отлуп на VirtualProtect
← →
KSergey © (2015-03-31 09:59) [4]Вот я про антивирей уже подумал, беспокоит этот момент. Кстати, а Windows 7 как отреагирует своим запросом админских прав?
Впрочем, надо для начала проверить - вдруг мне повезет и открывать доступ на модификацию не придётся
← →
Rouse_ © (2015-03-31 10:23) [5]Если ты уже в АП нужного процесса, то никто у тебя ничего спрашивать уже не будет :)
← →
Кто б сомневался © (2015-04-02 15:13) [6]
> Вот я про антивирей уже подумал, беспокоит этот момент.
Думаю нормально все будет, или придется писать в саппорт некоторым на false positive.
PuntoSwitcher так же работает - ставит хук на клавиатуру.
← →
Дмитрий С © (2015-04-04 01:25) [7]Я в чужой, мной запущенный, процесс пишу и поток ещё там запускаю - никто не возникал.
На мой взгляд, если ты ничего криминального не делаешь, об антивирусах можно не задумываться - это их проблемы.
← →
KSergey © (2015-04-04 09:50) [8]> Дмитрий С © (04.04.15 01:25) [7]
> Я в чужой, мной запущенный, процесс
Кстати, сразу вопрос, если позволите: я верно понимаю, что для запуска процесса обязательно надо иметь exe-файл под него в Windows? "Из памяти" это никак ведь не выйдет?
← →
Дмитрий С © (2015-04-04 17:57) [9]
> KSergey © (04.04.15 09:50) [8]
Теоретически можно, думаю.
Делаешь createprocess и указываешь путь к своему exe (paramstr(0)) и флаг create_suspended. А потом пишешь в его память что хочешь, а потом запускаешь удаленный поток. Основной поток прибить можно не запуская.
Но лучше, конечно, rouse_ расскажет.
← →
Rouse_ © (2015-04-04 20:04) [10]
> Кстати, сразу вопрос, если позволите: я верно понимаю, что
> для запуска процесса обязательно надо иметь exe-файл под
> него в Windows? "Из памяти" это никак ведь не выйдет?
Какой-то экзешник, посредством которого порождается процесс-донор, должен быть (хоть тот-же calc.exe). А так технология проста, как описал Дима, стартуем процесс-донор, в него пишем данные по нашему процессу (новое тело экзешника), потом правим EIP, чтобы указывала на точку входа и резюмим основную нить.
← →
Дмитрий С © (2015-04-04 20:34) [11]Забавно же получается :)
Запускаем по этой технологии какой нибудь smss.exe, копируем в его память свой код и получаем легальный процесс с нелегальным кодом:)
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2015.11.29;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.003 c