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