Process Explorer от Марка
Что мы видим? Адреса двух потоков определены верно. Первый: va_thread.exe+0x1405, судя по адресу, представляет основной поток (адрес совпадает с точкой входа, что легко проверить в hiew'е). Второй: va_thread.exe+0x1000 — это "честно" созданный поток (что опять-таки проверяется по адресу в hiew'е), а вот третий – KERNEL32.DLL+0xB700 – это "нечестный" поток (а чем он еще может быть?!), только его стартовый адрес определен неправильно!
Призываем на помощь OllyDbg и пытаемся разобраться в ситуации самостоятельно, без всех этих прелестей автоматизации и прочих чудес технического прогресса. Подключившись к процессу va_thread.exe, в меню "view" выбираем пункт "thread" и… обнаруживаем не три (как ожидалось), а целых четыре потока!
Ident Entry Data block Last error Status Priority
050C 7943B700 7FFDB000 ERROR_SUCCESS Active 32 + 0
0558 00000000 7FFDC000 ERROR_SUCCESS Suspended 32 + 0
055C 00000000 7FFDE000 ERROR_SUCCESS Suspended 32 + 0
0578 00000000 7FFDD000 ERROR_SUCCESS Suspended 32 + 0