Сейчас на форуме: Magister Yoda, subword (+9 невидимых)

 eXeL@B —› Основной форум —› Работа с сервисом. Арма в частности.
Посл.ответ Сообщение


Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 15 апреля 2008 10:57
· Личное сообщение · #1

Интересуют способы отладки сервисов. Как то раньше не задумывался над этим, т.к. достаточно было приатачиться к сервису и протрассировать определенный участок кода. А тут встала проблема восстановления наномитов в защищенном армадиллой сервисе. Т.к. двойным кликом по exe сервис не запускается, а первый наномит срабатывает где то в глубинах сервиса, то при попытке восстановить наномиты арминлайном/армагедоном сервис выгружается до вызова первого наномита. Если никак не получится я конечно буду искать таблицы наномитов и дампить их, но это лишь половина проблемы. Дальше надо отследить все вызовы интересующих меня АПИ функций, начиная от EP.
Кто знает как можно подгрузить сервис в отладчик и дать ему окончательно прогрузиться, и как можно не извращаясь с таблицами распознать наномиты?

-----
Yann Tiersen best and do not fuck




Ранг: 36.7 (посетитель)
Активность: 0.010
Статус: Участник

Создано: 15 апреля 2008 13:10
· Личное сообщение · #2

обычно сервис запускается параметром. к примеру "test.exe -service -start" запускаешь свой экзе с этим параметром и вперед. пропусти сервис через отладчик и посмотри какие параметры ему нужны. это слава богу просто.



Ранг: 159.1 (ветеран), 7thx
Активность: 0.130
Статус: Участник

Создано: 15 апреля 2008 14:10
· Личное сообщение · #3

PE_Kill
http://www.exelab.ru/f/action=vthread&forum=1&topic=9769&p age=0

Шестое снизу сообщение




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 15 апреля 2008 14:23
· Личное сообщение · #4

В том то и дело что не вижу я там параметров, может плохо смотрел. Ладно посмотрю конкретней раз не один я так думаю.

-----
Yann Tiersen best and do not fuck





Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 31 октября 2008 19:28
· Личное сообщение · #5

Новых идей не появилось? Если делать как в посте tempread - сервис виснет напрочь. Не хочется юзать Syser.
Без регистрации сервис спокойно завершает работу...




Ранг: 462.8 (мудрец), 468thx
Активность: 0.280
Статус: Участник
Only One!

Создано: 31 октября 2008 19:55
· Личное сообщение · #6

PE_Kill

А кей заделать не получается?
Или у сервиса своя защита накрытая армой?

-----
aLL rIGHTS rEVERSED!





Ранг: 328.7 (мудрец), 73thx
Активность: 0.170.01
Статус: Участник

Создано: 31 октября 2008 22:20
· Личное сообщение · #7

патчер в руки - и с песнями



Ранг: 159.1 (ветеран), 7thx
Активность: 0.130
Статус: Участник

Создано: 01 ноября 2008 00:39 · Поправил: tempread
· Личное сообщение · #8

Ara
как в посте tempread - сервис виснет напроч

В MSDN http://msdn.microsoft.com/en-us/library/ms686324.aspx написано, что функция StartServiceCtrlDispatcher должна выполнится в течении 30 секунд после запуска сервиса. Это условие соблюдается, при попытке отладки?




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 01 ноября 2008 01:36
· Личное сообщение · #9

дык виснет почему-то сервис при аттаче олькой



Ранг: 384.1 (мудрец)
Активность: 0.250
Статус: Участник
www.int3.net

Создано: 01 ноября 2008 07:42
· Личное сообщение · #10

Ara
Иногда помогает пауза/снять паузу или установка бряка на создание треда в АПИ

-----
Подписи - ЗЛО! Нужно убирать!





Ранг: 500.6 (!), 7thx
Активность: 0.260
Статус: Участник

Создано: 01 ноября 2008 07:56
· Личное сообщение · #11

Как вариант, воткнути EBFE после выполнения StartServiceCtrlDispatcher.




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 01 ноября 2008 08:23
· Личное сообщение · #12

С тредом не помогало, я уже пробывал.
NIKOLA пишет:
Как вариант, воткнути EBFE после выполнения StartServiceCtrlDispatcher.

Делал и так, в итоге до бряка на EB FE дело даже не доходит - все виснет. Наверно, все-таки придется юзать Syser. Хотя еще мож есть какие варианты? Идеально было бы конечно запустить с параметрами из ольки...



Ранг: 75.7 (постоянный)
Активность: 0.020
Статус: Участник

Создано: 01 ноября 2008 09:59
· Личное сообщение · #13

Какаято у вас не правильная постановка задачи.
Думаю отлаживать сервис с навешеным протом, не благодарная затея.
Я бы вначале снимал прот, а затем отлаживал сервис.
Да и, не видя пациента, трудно ставить диагноз.




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 01 ноября 2008 10:27
· Личное сообщение · #14

DaRKSiDE пишет:
Или у сервиса своя защита накрытая армой?

Своя.

vel пишет:
Думаю отлаживать сервис с навешеным протом, не благодарная затея.

а здесь нигде и не написано что пытаются отладить сервис вместе с протом, проблема именно в дебаге сервиса начиная с EP.

vel пишет:
Да и, не видя пациента, трудно ставить диагноз.

Возьми любой сервис и попробуй подгрузить его в дебагер чтобы он полностью прогрузился и заработал. В моем сервисе я так и не нашел каких либо параметров.

-----
Yann Tiersen best and do not fuck





Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 01 ноября 2008 10:32 · Поправил: Ara
· Личное сообщение · #15

ЗЫ: у мну сервис без прота, просто новую тему начинать не стал такую же =)
В моем сервисе параметры есть, но из-под ольки с заполенными Arguments он все равно робит не так, как положено. Из командной строки - тож самое. А вот если запускать net start ServiceName - всё ОК.



Ранг: 75.7 (постоянный)
Активность: 0.020
Статус: Участник

Создано: 01 ноября 2008 11:50
· Личное сообщение · #16

Если все упростить, то запустить exe как сервис - это запустить как dll.
И отладка нечем не отличается, как еслибы мы отлаживали dll.
Нужно обратится к конкретной экспортируемой функции.


 eXeL@B —› Основной форум —› Работа с сервисом. Арма в частности.
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати