![]() |
eXeL@B —› Вопросы новичков —› Проблема с отладкой сервиса. |
Посл.ответ | Сообщение |
|
Создано: 09 января 2012 20:32 · Поправил: Loh_Ushastik · Личное сообщение · #1 Пробую затащить в Олю сервис, не получается. После установки программы, он прописывается и с панели инструментов (в службах) с правой кнопки запускается, выбрасывает сообщение (адрес текста месаги - 00522C88) при закрытии которого рубится (это я и хочу обойти). Посмотрел что параметры с которыми он стартует - "/i /Service", пробую запустить в Оле с этими параметрами - немного (несколько секунд) поработает, сообщение не кажет и рубится снова. Приаттачится к нему могу, но цепляюсь когда сообщение он уже выдал, а хотел как раз обойти его. И вот в тупике. Лицензию программа проверяет как раз в сервисе. Криптоанализ показал : Base64 Alphabet |- Signature 41424344 found at offset 00127DF8 (VA: 00527DF8) RC4 |- Signature fffefdfc found at offset 001210E4 (VA: 005210E4) |- Signature fbfaf9f8 found at offset 001210E0 (VA: 005210E0) |- Signature f7f6f5f4 found at offset 001210DC (VA: 005210DC) |- Signature f3f2f1f0 found at offset 001210D8 (VA: 005210D8) но тоже мало чего дало. Дайте совет. Сам файл сервиса - http://zalil.ru/32457764 ![]() |
|
Создано: 09 января 2012 20:42 · Личное сообщение · #2 |
|
Создано: 09 января 2012 21:00 · Личное сообщение · #3 |
|
Создано: 09 января 2012 21:11 · Личное сообщение · #4 |
|
Создано: 09 января 2012 23:10 · Личное сообщение · #5 |
|
Создано: 10 января 2012 06:09 · Личное сообщение · #6 |
|
Создано: 10 января 2012 09:31 · Личное сообщение · #7 многие сервисы сейчас гибридные, т.е. можно запускать прямо из командной строки, другие же запускают сами себя как сервис после запуска, в любом случае для запуска используется StartServiceCtrlDispatcher и точка входа там другая, нежели чем у основного exe, найти EP можно в структуре к StartServiceCtrlDispatcher в памяти - SERVICE_TABLE_ENTRY+4 валится с ошибкой - нужно оригинальные байты восстанавливать, прежде чем отпускать и плагины оставь только самые необходимые ![]() |
|
Создано: 10 января 2012 09:49 · Личное сообщение · #8 |
|
Создано: 10 января 2012 11:39 · Личное сообщение · #9 |
|
Создано: 11 января 2012 09:20 · Личное сообщение · #10 |
|
Создано: 11 января 2012 16:04 · Личное сообщение · #11 |
|
Создано: 11 января 2012 16:31 · Поправил: Loh_Ushastik · Личное сообщение · #12 Если поправить условный переход по адресу 0047C8CE JNZ SHORT 0047C925 на обратный (т.е.) он будет срабатывать - то с панели сервис корректно заводится и корректно останавливается. Но обход этой части кода в результате коррекции: Code:
видимо критичен и сервис не может обеспечить поток необходимых программе данных и приложение не видит сервер приложения ![]() Ниже по адресам 0047C970 6A 00 PUSH 0 и 0047C980 6A 01 PUSH 1 если их внопить - то пропадают сообщения о незерегистрированной версии и об окончании триала, НО сервис выбрасывает окно (свое не системная ошибка) о том что сервис отработал с ошибкой и через 10 сек будет остановлен и и перезапущен. Истина где то рядом ![]() ![]() ![]() |
|
Создано: 11 января 2012 16:40 · Личное сообщение · #13 Loh_Ushastik пишет: Ниже по адресам 0047C970 6A 00 PUSH 0 и 0047C980 6A 01 PUSH 1 если их внопить Если их занопить, ты нарушаешь целостность стека и происходит колапс, который обрабатывается своим обработчиком исключений с последующим информированием пользователя. Вот отсюда и окно ----- Research For Food ![]() |
![]() |
eXeL@B —› Вопросы новичков —› Проблема с отладкой сервиса. |