label:
invoke Sleep,10000h
jmp label
А можно ли с помощью Olly отлаживать службы?
А если нет, то с помощью чего их можно отлаживать?
А если можно, то как?
Цитата: Meatcoins
А можно ли с помощью Olly отлаживать службы?
А если нет, то с помощью чего их можно отлаживать?
А если можно, то как?
А если нет, то с помощью чего их можно отлаживать?
А если можно, то как?
У меня из под админа OllyDbg сумел приаттачиться к SqlServer2005.
З.Ы. ндя... опечатался =))
А! В Olly можно присоединиться в памяти к процессу, а службы выполняются с правами LocalSystem... А к какому процессу присоединяться???
Цитата: Meatcoins
А! В Olly можно присоединиться в памяти к процессу, а службы выполняются с правами LocalSystem...
Не обязательно LocalSystem. Есть еще NetworkService и любые другие учетные записи NT.
Цитата: Meatcoins
А к какому процессу присоединяться???
А какую службу отлаживаете? Служба - суть того же процесса.
Цитата:
А какую службу отлаживаете? Служба - суть того же процесса.
Это классно, конечно, но не даёт понятия как же всё-таки отладить-то службу?
Отладить с помощью Olly как приложение не получается.
Можно теоретически сделать пустой цикл типа:
Код:
А потом присоединиться в памяти и отладить.
Но к чему присоединяться?
В списке процессов служб нету!!!
Может быть она исполняется как поток какого-то другого процесса? Например, services.exe или System?
Там всё есть.Единственная проблема–это то,что службы многопоточны,а как с помощью Ольки отлаживать многопоточные программы,я не знаю.Поможете?
————————
А ведь я уже спрашивал,как отлаживать многопоточные программы с помощью Ольки…Так никто и не ответил:(
Цитата:
Как нет служб!?
Ну, а где они тогда?
Цитата: Meatcoins
Ну, а где они тогда?
Открой окно "Службы" винды из серии "Администрирование" и посмотри свойства служб. Там прописан файл, в котором служба выполняется. Обрати внимание, что один файл может иметь несколько служб.
Например:
Служба IPsec выполняется как C:\WINDOWS\system32\lsass.exe
Служба протокола HTTP SSL - C:\WINDOWS\System32\svchost.exe
Точно!
Попробую!
Это идея!
Делаем в службе что-то типа:
Код:
label:
invoke Sleep,1000
jmp short label
invoke Sleep,1000
jmp short label
Узнаём от какого процесса выполняется наша служба - подсоединяемся с помощью Olly в памяти к этому процессу - ищем нужный поток и отлаживаем!
Это я так теоретически...
Практически надо это ещё попробовать сделать...
Так как всё-таки отлаживать многопоточные приложения?OllyDbg при распараллеливании приложения на потоки просто ставит статус "Paused" и не хочет дальше отлаживать:(
Причём Мы будем находиться где-нибудь в NTDLL.
Это, наверное, из-за того, что почти все процессы в основном бездействуют. Или находятся в цикле DispatchMessage или Sleep какой-нибудь.
У меня всё руки до этого не дохоят - лето одним словом!