2016-10-31 6 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-dll-just-a-thread 포럼 = windbg 등 – conio

+2

그러나 DLL은 모듈 창 목록에 없으므로 그것을 마우스 오른쪽 버튼으로 클릭하기가 어렵습니다. – conio

답변

1

Setting up visual studio c++ debugger to support symbols for modules loaded from memory에 질문 한 내용이 변경된 것 같습니다. 대답은 여전히 ​​있습니다 :

WinDbg은 그렇게 할 수있는 저수준 디버거입니다. Visual Studio 디버거는 그리 낮은 수준의 디버거이므로 그렇게 할 수 없습니다.

Blackbone가 고의로 및 악의적 PEB로드 된 모듈리스트로부터 모듈 (BBUnlinkFromLoader 참조)를 제거하고, 심지어 어느 정도 합리적인 방식으로로드 귀찮게 경우. 모듈 목록에서 모듈을 숨기고 싶습니까? VS 말한다 : "좋아."

Visual Studio GUI에서 WinDbg 디버거를 사용해 볼 수는 있지만 모든 장점과 단점이있는 WinDbg이 될 것입니다. (WDK 설치가 필요합니다.)

관련 문제