WinDbg로 AcroRd32.exe
을 분석 중입니다. AcroRd32.exe
에는 2 개의 프로세스가 있으며, 하나 (father-p)가 다른 프로세스 (child-p)를 시작합니다. 이 두 프로세스를 디버그하려면 .childdbg 1
및 |1s
등의 명령을 사용합니다.다중 프로세스 디버깅을 제어하는 방법
나는 child-p로 전환 한 다음 조건부 중단 점을 사용하여 kernel32.dll의 CreateFileW
및 ReadFile
API를 모니터링하여 father-p로 다시 전환합니다. a.pdf
을 열면 CreateFileW
만 매개 변수 "C : \ a.pdf"와 함께 호출됩니다. CreateFileW
, 반환 값을 CreateFileW
가진 ReadFile
에 대한 호출이 없지만 CreateFileW
, 반환 값을 ReadFile
모니터링하려면 조건부 중단 점을 사용하는 기억 해요. 그런 다음 많은 g
명령을 사용하면 혼란스러운 일이 발생하여 a.pdf
이 열렸습니다!
혼란 스럽습니다. ReadFile
을 호출하지 않으면 PDF가 열립니다. Acrobat Reader는 어떻게 작동합니까? 나는 두 가지 가정을 가지고 있는데, 첫째는 CreateFileMapping
API를 사용한다. 다른 하나 (대부분), 아이 - p는 그것을 만든다.
두 번째 가정에 대해 살펴 보겠습니다. 내가 father-p를 디버깅 할 때, child-p는 정지하지 않았습니다. 파일을 어떻게 열어 보았습니까? 와 같은 알아 내기 위해 그 사건이기 때문에
, 그것은 또한 가능합니다
귀하의 답변으로 제 문제가 완벽하게 해결되었습니다! 초보자로서 여러 번 문제를 해결할 수 있도록 저의 밑바닥부터 감사드립니다. – xupeng
@xupeng : 천만에. WinDbg는 배우기가 어렵고 지식을 공유 할 수있어 기쁩니다. –