Использование псевдорегистра с целочисленным типом, когда требуется другой, чем целочисленный тип - PullRequest
0 голосов
/ 27 июня 2011

В моем скрипте Windbg определен псевдо-регистр, в котором хранится целое число. Далее, из моего скрипта вызывается .writemem. Первый параметр .writemem принимает имя файла. Я хочу, чтобы имя файла было значением псевдорегистра.

Это упрощенная версия моего скрипта Windbg, которая не работает (поскольку псевдорегистр является целочисленным, а первый параметр .writemem ожидает тип, отличный от целого).

r $ t0 = 0;

Последовательность кода $$ может изменить значение $ t0

.writemem $ t0 eip L100

Ответы [ 2 ]

1 голос
/ 05 июля 2011

Вы можете создать строку псевдонима из значения псевдорегистра и использовать его. Например:

0: kd> r @$t0 = 5+5
0: kd> aS /x ${/v:fileName} @$t0
0: kd> .writemem ${fileName}.txt @eip L100
Writing 100 bytes.

Создает файл с именем "0xa.txt".

-Скотт

0 голосов
/ 27 июня 2011

Псевдорегистры можно использовать с r?, что позволяет назначать тип регистру.

Вот пример для назначения строк в регистр

r? @$t0 = (_UNICODE_STRING*) 0x0139df70+0x8

Вот записать об использовании этого.

...