![]() |
|
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]()
|
|
| a.S.d |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 20.2.2005 Репутация: нет Всего: 2 |
Я внедряю длл в чужой процесс. В длл код, который должен отсылать почту. Но почему-то ничего не отсылается(если сделать просто приложение, то отсылка работает).
Вот код, внедряющий длл:
Сама длл:
В чём тут дело? |
||||
|
|||||
| a.S.d |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 20.2.2005 Репутация: нет Всего: 2 |
Причём запарывается на smtp.Connect(100000); почему-то.
|
|||
|
||||
| a.S.d |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 20.2.2005 Репутация: нет Всего: 2 |
Как выяспилось в библиотеке не работает всё, что связано с сетью, даже просто соединение сокетов, не зависимо от того какой процесс её подгружает. Как сделать чтоб отправка работала?
Это сообщение отредактировал(а) a.S.d - 15.3.2005, 00:24 |
|||
|
||||
| oleg1973 |
|
|||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy Репутация: нет Всего: 34 |
я вообще удевляюсь как оно у тебя работает
фактически ты просто впихиваеш длл в процесс,даже не как длл а как просто кусок кода, без учета специфики загоузки РЕ файлов в винде, тамже нада импорты заполнить да и секции раскидать по своим местам -------------------- SST 465555 icq 200-512-712 |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 14 Всего: 112 |
Дык вроде у него судя по коду всё-таки DLL подгружается к чужому процессу... CreateRemoteThread "вызывает" LoadLibrary ('c:\testlib.dll')... А в DLL при подключении делаются свои дела... Delphi нормально должна компилить DLL, с импортами и секциями... Или ты про что ?... -------------------- С уважением, г-н Посол. |
|||
|
||||
| RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 7 Всего: 115 |
А причём тут внедрение?
проблема там где ты пытаешься отправить почту, тот код отправки сам посебе вобще работоспобен? и что за smtp.Connect(100000); ? у моих индейцев такого вообще нет, просто smtp.Connect; (может у меня старая версия индейцев) Добавлено @ 06:21 Кстати есть такаой компонент CTRLSOCK (не VCL) специально для таких целей. http://tothpaul.free.fr/zip/CRTSOCK.ZIP Это сообщение отредактировал(а) RAdmin - 15.3.2005, 06:22 |
|||
|
||||
| a.S.d |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 20.2.2005 Репутация: нет Всего: 2 |
RAdmin
Код работоспособен, я же написал что если сделать приложение а не библиотеку, то всё работает. |
|||
|
||||
| RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 7 Всего: 115 |
a.S.d Ладно тогда покажи полный код того как ты внедряешь DLL.
|
|||
|
||||
| oleg1973 |
|
|||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy Репутация: нет Всего: 34 |
вся фигня в том что после этого куска что происходит? выполнив LoadLibrary треад заканчивает свою работу и соответственно автоматом выгружается либа я думаю тут косяк -------------------- SST 465555 icq 200-512-712 |
|||
|
||||
| RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 7 Всего: 115 |
Знач, после этого куска нужно вставить WaitForSingleObject(Thread,INFINITE);
|
|||
|
||||
| Girder |
|
||||||||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 25 Всего: 155 |
PS: Если не хочеш по паролю и все такое... то береш нужный тебе домен к примеру newmail.ru и через DNS определяеш Mail сервера (IdDNSResolver.QueryRecords:=[qtMX]) для данного адресса и пытаешся послать письмо через полученные Mail сервера(в ентом случаи smtp.AuthenticationType:=atNone). -------------------- Как слышим, так и пишим. Истина где-то там... |
||||||||
|
|||||||||
| RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 7 Всего: 115 |
Я просто имел в виду это:
|
|||
|
||||
| Girder |
|
|||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 25 Всего: 155 |
PS: a.S.d не забудь выгружать библиотеку Это сообщение отредактировал(а) Girder - 15.3.2005, 15:48 -------------------- Как слышим, так и пишим. Истина где-то там... |
|||
|
||||
| a.S.d |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 20.2.2005 Репутация: нет Всего: 2 |
Всем спасибо, всё работает, проблема была здесь:
|
|||
|
||||
| a.S.d |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 20.2.2005 Репутация: нет Всего: 2 |
Ещё вопрос: почему приложение, которое подгружает библиотеку, всё время виснет, ведь библиотека работает независимо от приложения? Как этого избежать?
Girder А как её выгружать? Надо опять писать в память процесса процедуру выгрузки? |
|||
|
||||
| Girder |
|
||||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 25 Всего: 155 |
-------------------- Как слышим, так и пишим. Истина где-то там... |
||||
|
|||||
| p0s0l |
|
||||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 14 Всего: 112 |
-------------------- С уважением, г-н Посол. |
||||
|
|||||
| Girder |
|
||||||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 25 Всего: 155 |
Главное помнить енто:
Т.o:
PS: Можеш в меня камнем... бросить - если я ошибаюсь Это сообщение отредактировал(а) Girder - 17.3.2005, 12:44 -------------------- Как слышим, так и пишим. Истина где-то там... |
||||||
|
|||||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 14 Всего: 112 |
А ну ты так... а я про другое подумал
-------------------- С уважением, г-н Посол. |
|||
|
||||
![]()
|
| Правила форума "Delphi: WinAPI и системное программирование" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |