|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
19.08.2014, 10:14 | #11 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
Цитата:
К вашему сведенью хук API так и ставится. Адрес базовой функции заменяется вашей функцией, а ваша функция должна вызвать базовую функцию... Хотя вроде это один из возможных способов. Динамический импорт из DLL так не ловится. Если знаете другие способы, просвятите меня Кажется на хабре видел большую статью на тему перехвата API. |
|
19.08.2014, 17:10 | #12 |
Регистрация: 18.08.2014
Сообщений: 7
|
Большое спасибо за ответы!
Т.е. если подытожить: 1.Берём приложение с ListBox 2.Ищем адрес на функцию TextOut(как это сделать ума не приложу, совершенно не знаю что это такое, полагаю нужны знания asm) 3.Изменяем его на адрес процедуры TextOut из своей DLL( ) 4.Запускаем приложение с ListBox и приложение перехватчик 5.Рисуем текст, перехватываем, считываем параметр 6.Вызываем оригинальную процедуру TextOut из gdi32.dll (вроде бы она там) Конечно очень непростое мероприятие(для меня) |
19.08.2014, 17:24 | #13 | |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
Цитата:
А тогда адрес узнать - это просто: @TextOut. Дальше возня с правами на запись, байтиками, указателями и прочий гемор. http://xakep.ru/articles/22263/ И да. Спасибо Человек_Борща. |
|
19.08.2014, 17:36 | #14 |
Регистрация: 18.08.2014
Сообщений: 7
|
Sibedir, спасибо за ссылку!
Сейчас почитаю, попробую, отпишусь. |
20.08.2014, 03:20 | #15 | |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,888
|
Цитата:
Но CreateRemoteThread - это другой с точки зрения ОСWindows способ. P.S. Это уже просто офтоп. "Просвятить" тебя у меня нет никаких прав ни от всевышнего, ни от господа бога и т.д. и т.п. |
|
20.08.2014, 10:08 | #16 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
Цитата:
|
|
28.08.2014, 20:18 | #17 |
Регистрация: 18.08.2014
Сообщений: 7
|
В общем пытаюсь, не получается.
Допустим в библиотеке простой код begin ShowMessage('Message'); end. запускаю приложение, на кнопке которого обработчик - найти процесс по наименованию exe(другое приложение), и создать в его адресном пространстве поток, который собственно загружает библиотеку. Библиотека загружается, и код срабатывает, но сообщение привязано (модальное окно) к первому приложению, второе вообще можно закрыть, а сообщение висит. Почему так? |
28.08.2014, 20:37 | #18 |
Регистрация: 18.08.2014
Сообщений: 7
|
Помогите кто знает
|
30.11.2014, 16:29 | #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 |