|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Запретить создание иконок в трее конкретной программе
Подскажите, пожалуйста, как предотвратить появление иконок в трее? После удаления иконки, некоторые приложения проверяют ее наличие, и если ее нет, они ее пересоздают. Есть мысль, что надо ставить хук, но не знаю как правильно это делать и что там ловить.
|
#2
|
||||
|
||||
Смотри в таблице импорта ф-ии shell32.
Дальше вызовы этой ф-ии просто занопай. — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#3
|
|||
|
|||
Цитата:
А можно пример? Ни разу такого не делал. |
#4
|
||||
|
||||
Разбирайся с OllyBDG.
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#5
|
||||
|
||||
Цитата:
В дебаге бряк на вызов функции создания трей-иконки, потом берем из стека адрес возврата, находим место вызова. Потом заполняем сохранение параметров функции (push) и сам вызов (call) командами NOP. Можно прямо в EXE файле на диске. jmp $ ; Happy End! The Cake Is A Lie. |
#6
|
|||
|
|||
Цитата:
А из своей программы, кодом, можно это сделать? А то получается уже отдельной прогой лезть и изменять. |
#7
|
||||
|
||||
Можно. Инжектимся в процесс и заменяем код процедур работы с иконками на ret. Адреса можно узнать разными методами.
Либо пишем лоадер, который убивает эти функции ещё при запуске (по совпадению имени и DLL). Но тогда без перезапуска эту штуку не провернёшь. Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#8
|
||||
|
||||
Можно и не инжектиться, достаточно VirtualProtect/WriteProcessMemory.
jmp $ ; Happy End! The Cake Is A Lie. |