Как мы можем рекурсивно искать структуры для значения переменной в windbg, используя скрипт - PullRequest
0 голосов
/ 25 мая 2018

можем ли мы написать скрипт для поиска определенного значения в структурах рекурсивно?Один из способов (и времени), который я могу придумать, - это создать файл журнала с помощью «dt -r» и искать его вручную.

1 Ответ

0 голосов
/ 25 мая 2018

что вы подразумеваете под рекурсивным поиском значения?

dt -r следует за структурами внутри структур, и поэтому их адрес не будет смежным

вы можете использовать простое s команда поиск в ограниченном пространстве, как это

kd> r? $t0 = sizeof(nt!_EPROCESS)
kd> ? @$t0
Evaluate expression: 704 = 000002c0

kd> r? $t1 =  @@masm(@$proc)
kd> ? @$t1
Evaluate expression: -2063606960 = 84ffdb50


kd> $$ @$proc is pointer to current process in kernel mode
let us search for char 'k' within this range

kd> s -b @$t1 l?@$t0 'k'

84ffdcbc  6b 64 2e 65 78 65 00 00-00 00 00 00 00 00 00 02  kd.exe..........

kd> dt nt!_EPROCESS ImageFileName @$proc
   +0x16c ImageFileName : [15]  "kd.exe"

kd> ? @$t1+0x16c
Evaluate expression: -2063606596 = 84ffdcbc
kd>
...