2016-10-31 14 views
-1

Я использую печально известную библиотеку Blackbone для отображения/ввода другого модуля в другой процесс и выполнения его кода.Отладка в компонентах памяти с помощью Visual Studio

Обычно для отладки введенного модуля, я должен подключить отладчик windbg к захваченному процессу, сканировать загруженные модули, используя .imgscan символов команды и нагрузки соответственно.

Мне было интересно, если такая вещь возможна, используя хорошую старую визуальную студию. В VS есть опция, вкладка символов, для загрузки всех символов для всех загруженных модулей, но это не достигает того же эффекта, что и .imgscan/l делает. Таким образом, я получаю неразрешенный стек вызовов (только адреса памяти) и только разборку.

+0

@HansPassant: Не с инъецированными модулями ... См. Https://social.msdn.microsoft.com/Forums/vstudio/en-US/7ea7dd27-fe9e-4118- 988d-567f1dd452ba/how-to-debug-injected-remote-thread-with-symbols-not-a-dll-just-a-thread? Forum = windbg и т. Д. – conio

+2

Но DLL не находится в списке окон Modules, поэтому вид трудно щелкнуть правой кнопкой мыши. – conio

ответ

1

Я сомневаюсь, что все изменилось с тех пор, как вы задали вопрос Setting up visual studio c++ debugger to support symbols for modules loaded from memory. Ответ по-прежнему:

WinDbg - это низкоуровневый отладчик, который позволяет вам это делать. Отладчик Visual Studio является отладчиком не очень низкого уровня и не может этого сделать.

Blackbone умышленно и злонамеренно удаляет модуль из УИБ загруженных модулей списков (см BBUnlinkFromLoader), если он даже надоедает, чтобы загрузить их в более или менее разумным способом. Вы хотите скрыть модуль из списка модулей? В.С. говорит: «Хорошо».

Если это так важно, вы можете попробовать использовать отладчик WinDbg из графического интерфейса Visual Studio, но он все равно будет WinDbg со всеми его преимуществами и недостатками. (Требуется установить WDK, я думаю.)

 Смежные вопросы

  • Нет связанных вопросов^_^