информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
За кого нас держат?Spanning Tree Protocol: недокументированное применение
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / hacking
Имя Пароль
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Возможный выход... 20.04.04 18:34  Число просмотров: 2908
Автор: HandleX <Александр М.> Статус: The Elderman
Отредактировано 20.04.04 18:40  Количество правок: 1
<"чистая" ссылка>
То что это служба, плохо... Ну да ладно. Если это простая служба (не драйвер ядра), то могут помочь следующее:

1) Определиться (под отладчиком), где в коде происходит проверка на "серверность" системы. Это хорошо,что служба выводит окно с предупреждением — можно подключиться к процессу и тщательно его исследовать. Работающий процесс это уже распакованный исполняемый код.
2) Написать программу-стартер, которая запускает эту службу, и "усыпляет" её поток, после чего ищет место проверки, патчит его как надо, используя Read/WriteProcessMemory(), потом пробуждает поток... Вуаля!
Есть грабли — стартер должен успеть остановить основной поток службы до проверки... Впрочем отладка служб — это ещё тот гемор... ;-) Но есть ходики... Вот что пишет microsoft по этому поводу —

Windows NT also allows you to specify a debugger to use when starting a program. Create a key called Image File Execution Options in the following registry location:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
Create a subkey with the same name as your service (for example, MYSERV.EXE). To this subkey, add a value of type REG_SZ, named Debugger. Use the full path to the debugger as the string value. In the Services control panel applet, select your service, click Startup and check Allow Service to Interact with Desktop.


Borland для отладки служб ещё рекомендует это:

On Windows NT systems, you can use another approach for debugging service applications. However, this approach can be tricky, because it requires short time intervals:

1 First, launch the application in the debugger. Wait a few seconds until it has finished loading.
2 Quickly start the service from the Control Panel or from the command line:

start MyServ

You must launch the service quickly (within 15-30 seconds of application startup) because the application will terminate if no service is launched.


Т.е. можно написать "отладчик", который и будет делать всё, о чём мы тут говорили. Дождаться "распаковки" исполняемого кода можно, к примеру, по попытке загрузки определённой библиотеки в адр. пространство процесса (нужную можно определить экспериментално).

Успехов.
<hacking> Поиск 






Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach