|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Янв 25, 2004 02:35:12 ...и, как результат, код ,подобный приведенному тобой в начале, будет верен для любого процесса/потока |
|
|
Дата: Янв 25, 2004 13:35:13 Действительно, для разных потоков разный DWORD - я проверил :-( |
|
|
Дата: Янв 25, 2004 15:21:46 Asterix, в НТ все тебы идут через страницу вниз. Т.е. TEB первого потока лежит по адресу 7FFDE000, второго - 7FFDD000 и т.д. Соответственно в fs:[18] и будет адрес теба для этого потока. |
|
|
Дата: Янв 25, 2004 15:42:22 Four-F Спасибо, я уже проверил для второго потока в fs:[18] лежит 7FFDD000 теперь буду знать почему. |
|
|
Дата: Янв 25, 2004 16:09:02 Four-F, а если я помещу в ячейку [eax+2] нулевой байт, могу ли я заблаговременно предполагая что IsDebuggerPresent будет вызываться из второго потока поместить 00h в ячейку [eax+2] соответствующую TEB второго потока или заранее нельзя? .text:77E72E92 mov eax, large fs:18h .text:77E72E98 mov eax, [eax+30h] .text:77E72E9B movzx eax, byte ptr [eax+2] .text:77E72E9F retn |
|
|
Дата: Янв 25, 2004 18:37:35 · Поправил: Grenader Asterix батенька, поле BeingDebugged - это часть PEB, а не TEB. а PEB только один для каждого процесса. Так что спокойно меняй - и из какого потока не спрашивай, везде получишь нолик (в пределах данного процесса) :) |
|
|
Дата: Янв 25, 2004 21:08:46 Grenader Хорошо если так, потом проверю.. |
|
|
Дата: Фев 24, 2004 04:03:50 Есть ли у кого-нибудь идеи как повлиять на результат выполнения IsDebuggerPresent под win9x из ring-3 ? А без драйвера? .text:BFF946F6 ; BOOL IsDebuggerPresent(void) .text:BFF946F6 public IsDebuggerPresent .text:BFF946F6 IsDebuggerPresent proc near .text:BFF946F6 mov eax, dword_BFFC9CE4 .text:BFF946FB mov ecx, [eax] .text:BFF946FD cmp dword ptr [ecx+54h], 1 .text:BFF94701 sbb eax, eax .text:BFF94703 inc eax .text:BFF94704 retn .text:BFF94704 IsDebuggerPresent endp |
|
|
Дата: Июл 20, 2004 10:06:58 Grenader и когда же Руссиновича читать будем ...... ? |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.039 |