Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > ОС и железо
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 12.09.2013, 09:39
x-zey x-zey вне форума
Прохожий
 
Регистрация: 24.08.2013
Сообщения: 4
Версия Delphi: Delphi 2009
Репутация: 10
Печаль Запретить создание иконок в трее конкретной программе

Подскажите, пожалуйста, как предотвратить появление иконок в трее? После удаления иконки, некоторые приложения проверяют ее наличие, и если ее нет, они ее пересоздают. Есть мысль, что надо ставить хук, но не знаю как правильно это делать и что там ловить.
Ответить с цитированием
  #2  
Старый 12.09.2013, 11:53
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Смотри в таблице импорта ф-ии shell32.
Дальше вызовы этой ф-ии просто занопай.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #3  
Старый 12.09.2013, 13:40
x-zey x-zey вне форума
Прохожий
 
Регистрация: 24.08.2013
Сообщения: 4
Версия Delphi: Delphi 2009
Репутация: 10
По умолчанию

Цитата:
Сообщение от M.A.D.M.A.N.
Смотри в таблице импорта ф-ии shell32.
Дальше вызовы этой ф-ии просто занопай.

А можно пример? Ни разу такого не делал.
Ответить с цитированием
  #4  
Старый 12.09.2013, 14:10
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Разбирайся с OllyBDG.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #5  
Старый 12.09.2013, 15:50
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Цитата:
Разбирайся с OllyBDG.
Или IDA PRO, старая бесплатна.
В дебаге бряк на вызов функции создания трей-иконки, потом берем из стека адрес возврата, находим место вызова. Потом заполняем сохранение параметров функции (push) и сам вызов (call) командами NOP. Можно прямо в EXE файле на диске.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием
  #6  
Старый 12.09.2013, 17:42
x-zey x-zey вне форума
Прохожий
 
Регистрация: 24.08.2013
Сообщения: 4
Версия Delphi: Delphi 2009
Репутация: 10
По умолчанию

Цитата:
Сообщение от Bargest
Или IDA PRO, старая бесплатна.
В дебаге бряк на вызов функции создания трей-иконки, потом берем из стека адрес возврата, находим место вызова. Потом заполняем сохранение параметров функции (push) и сам вызов (call) командами NOP. Можно прямо в EXE файле на диске.

А из своей программы, кодом, можно это сделать? А то получается уже отдельной прогой лезть и изменять.
Ответить с цитированием
  #7  
Старый 12.09.2013, 17:47
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Можно. Инжектимся в процесс и заменяем код процедур работы с иконками на ret. Адреса можно узнать разными методами.

Либо пишем лоадер, который убивает эти функции ещё при запуске (по совпадению имени и DLL). Но тогда без перезапуска эту штуку не провернёшь.
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
  #8  
Старый 12.09.2013, 20:39
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Можно и не инжектиться, достаточно VirtualProtect/WriteProcessMemory.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 00:38.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter