![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]() Цитата:
К вашему сведенью хук API так и ставится. Адрес базовой функции заменяется вашей функцией, а ваша функция должна вызвать базовую функцию... Хотя вроде это один из возможных способов. Динамический импорт из DLL так не ловится. Если знаете другие способы, просвятите меня ![]() Кажется на хабре видел большую статью на тему перехвата API. |
|
![]() |
![]() |
![]() |
#12 |
Регистрация: 18.08.2014
Сообщений: 7
|
![]()
Большое спасибо за ответы!
Т.е. если подытожить: 1.Берём приложение с ListBox 2.Ищем адрес на функцию TextOut(как это сделать ума не приложу, совершенно не знаю что это такое, полагаю нужны знания asm) 3.Изменяем его на адрес процедуры TextOut из своей DLL( ![]() 4.Запускаем приложение с ListBox и приложение перехватчик 5.Рисуем текст, перехватываем, считываем параметр 6.Вызываем оригинальную процедуру TextOut из gdi32.dll (вроде бы она там) Конечно очень непростое мероприятие(для меня) |
![]() |
![]() |
![]() |
#13 | |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
![]() Цитата:
А тогда адрес узнать - это просто: @TextOut. Дальше возня с правами на запись, байтиками, указателями и прочий гемор. http://xakep.ru/articles/22263/ И да. Спасибо Человек_Борща. |
|
![]() |
![]() |
![]() |
#14 |
Регистрация: 18.08.2014
Сообщений: 7
|
![]()
Sibedir, спасибо за ссылку!
Сейчас почитаю, попробую, отпишусь. |
![]() |
![]() |
![]() |
#15 | |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,926
|
![]() Цитата:
Но CreateRemoteThread - это другой с точки зрения ОСWindows способ. P.S. Это уже просто офтоп. "Просвятить" тебя у меня нет никаких прав ни от всевышнего, ни от господа бога и т.д. и т.п. ![]() |
|
![]() |
![]() |
![]() |
#16 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]() Цитата:
![]() |
|
![]() |
![]() |
![]() |
#17 |
Регистрация: 18.08.2014
Сообщений: 7
|
![]()
В общем пытаюсь, не получается.
Допустим в библиотеке простой код begin ShowMessage('Message'); end. запускаю приложение, на кнопке которого обработчик - найти процесс по наименованию exe(другое приложение), и создать в его адресном пространстве поток, который собственно загружает библиотеку. Библиотека загружается, и код срабатывает, но сообщение привязано (модальное окно) к первому приложению, второе вообще можно закрыть, а сообщение висит. Почему так? |
![]() |
![]() |
![]() |
#18 |
Регистрация: 18.08.2014
Сообщений: 7
|
![]()
Помогите кто знает
![]() |
![]() |
![]() |
![]() |
#19 |
Регистрация: 18.08.2014
Сообщений: 7
|
![]()
Сделал!
Помогли примеры из интернета. Всем спасибо! |
![]() |
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Перехват значений параметров POST запросов | alumium | Работа с сетью в Delphi | 2 | 03.12.2012 00:45 |
Перехват спецссылок и чтение параметров из них TWebBrowser | The SCS | Компоненты Delphi | 3 | 20.02.2012 21:10 |
TextOut и шрифт | Lemon2009 | Общие вопросы Delphi | 10 | 01.09.2010 12:41 |
canvas и TextOut | Lokos | Общие вопросы Delphi | 1 | 27.08.2010 08:03 |
TextOut | xzDelphi | Помощь студентам | 9 | 23.10.2007 12:29 |