Re: 5 байт самомодификации

From
Vladimir Ivanov ()
To
Gennady Mayko
Date
2002-10-22T21:25:47Z
Area
SU.WINDOWS.NT.PROG
From: "Vladimir Ivanov" <vivanov@tmsoft-ltd.kiev.ua>

Hi!
> Думаю, что это не так просто гаранитровано остановить уже "бегущие"
thread'ы
> процесса "изнутри" какого-то одного из них.
>После "остановки" одного thread'a, другой, еще бегущий, теоретчески может
его перезапустить...
Не должен. Suspend/Resume - имеют внутренние счетчики suspend'ов. Так что
если и запустит - то лишь "нелегальным" ResumeThread.
Однако, проблема, при желании, решается (просьба ногами сильно не пинать)
путём перехвата ResumeThread :-)

По остальному согласен. Правда, использование внешнего процесса-отладчика, к
сожалению, не везде возможно: например если у процесса уже есть приатаченный
отладчик.

----
Меня ещё интересует упоминавшийся здесь метод перехвата путём перекройки
таблиц импорта (совместно с перехватом LoadLibrary/GetProcAddress).
В нём нет проблем с атомарностью, т.к. заменяется всего лишь 4 байта.
Есть ли у этого метода другие недостатки/побочные эффекты ?

С уважением,
Владимир Иванов




--- ifmail v.2.15dev5
 * Origin: A poorly-installed InterNetNews site (2:5020/400)