У меня есть массив относительных виртуальных адресов (RVA), расположенных по определенному адресу памяти.Я могу сбросить его в windbg и увидеть список RVA, как показано ниже:
dd 77f10000 + 00002650 и вывод: 77f12650 000034a6 000034af 000034b9 000034ce ....
Здесь 77f10000 - этоБазовый адрес DLL, а 00002650 - это RVA массива, который я отобразил.
Теперь каждый из этих RVA в дампе памяти может быть добавлен к базовому адресу DLL и соответствующей строке вместоположение можно просмотреть.
Например, если я возьму первую запись в массиве: 000034a6
Добавив этот RVA к базовому адресу DLL, 77f10000 и отобразив его следующим образом:
da 77f10000 + 000034a6 и вывод: 77f134a6 "AbortDoc"
теперь, таким образом, я могу просмотреть следующую строку для следующего соответствующего RVA в массиве, выполнив следующее:
da 77f10000 + 000034af и вывод: 77f134af "AbortPath"
Точно так же я хочу перебрать оставшиеся записи в массиве и отобразить соответствующие строки.
Я хочу сделать это, используя скрипт с одним вкладышем в windbg.Я хочу узнать, как это сделать, однако я не смог найти в сети достаточно документации или примеров, которые бы помогли мне создать нечто подобное.
Я думаю, что для этого можно использовать команду .foreach:
Пример: .foreach (myVariable {dd 77f10000 + 00002650}) {! Do} myVariable будет хранить выходные данные команды windbg.Однако мне нужно выбрать один элемент за раз из строки и выполнить итерацию.
Любая помощь будет принята.
Спасибо.