본문 바로가기
리버싱/기타

프로세스 시작과 동시에 디버거 붙이기

by 즉흥 2016. 9. 25.
728x90
반응형

출처 : https://msdn.microsoft.com/ko-kr/library/a329t4ed(v=vs.90).aspx


디버깅 하는 프로세스가 CreateProcess 등의 함수를 호출하여 자식 프로세스를 생성하는 루틴에서 굉장히 유용한 방법이다.




------------------------------------------------------------





때로는 다른 프로세스에서 시작한 응용 프로그램의 시작 코드를 디버깅해야 할 수도 있습니다. 서비스 및 사용자 지정 설치 작업을 예로 들 수 있습니다. 이러한 시나리오에서는 응용 프로그램을 시작할 때 디버거를 시작하고 자동으로 연결할 수 있습니다.

디버거가 자동으로 실행되도록 응용 프로그램을 설정하려면

  1. 레지스트리 편집기(regedit)를 시작합니다.

  2. 레지스트리 편집기에서 HKEY_LOCAL_MACHINE 폴더를 엽니다.

  3. HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\currentversion\image file execution options로 이동합니다.

  4. Image File Execution Options 폴더에서 디버깅할 응용 프로그램의 이름(예: myapp.exe)을 찾습니다. 디버깅할 응용 프로그램을 찾을 수 없으면 다음을 수행하십시오.

    1. Image File Execution Options 폴더를 마우스 오른쪽 단추로 클릭하고 바로 가기 메뉴에서 새 키를 클릭합니다.

    2. 새 키를 마우스 오른쪽 단추로 클릭하고 바로 가기 메뉴에서 이름 바꾸기를 클릭합니다.

    3. 응용 프로그램 이름(이 예제의 경우 myapp.exe)과 같도록 키 이름을 편집합니다.

  5. myapp.exe 폴더를 마우스 오른쪽 단추로 클릭하고 바로 가기 메뉴에서 새 문자열 값을 클릭합니다.

  6. 새 문자열 값을 마우스 오른쪽 단추로 클릭하고 바로 가기 메뉴에서 이름 바꾸기를 클릭합니다.

  7. 이름을 debugger로 바꿉니다.

  8. 새 문자열 값을 마우스 오른쪽 단추로 클릭하고 바로 가기 메뉴에서 수정을 클릭합니다.

    문자열 편집 대화 상자가 나타납니다.

  9. 값 데이터 상자에 vsjitdebugger.exe를 입력합니다.

  10. 확인을 클릭합니다.

  11. 레지스트리 메뉴에서 끝내기를 클릭합니다.

  12. vsjitdebugger.exe가 들어 있는 디렉터리가 시스템 경로에 있어야 합니다. 이 디렉터리를 시스템 경로에 추가하려면 다음 단계를 따릅니다.

    1. 제어판을 클래식 보기로 열고 시스템을 두 번 클릭합니다.

    2. 시스템 등록 정보에서 고급 탭을 클릭합니다.

    3. 고급 탭에서 환경 변수를 클릭합니다.

    4. 환경 변수 대화 상자의 시스템 변수 아래에서 Path를 선택한 다음 편집 단추를 클릭합니다.

    5. 시스템 변수 편집 대화 상자의 변수 값에 디렉터리를 추가합니다. 목록의 각 항목을 구분하는 데는 세미콜론을 사용합니다.

    6. 확인을 클릭하여 시스템 변수 편집 대화 상자를 닫습니다.

    7. 확인을 클릭하여 환경 변수 대화 상자를 닫습니다.

    8. 확인을 클릭하여 시스템 등록 정보 대화 상자를 닫습니다.

    이제, 메서드를 사용하여 응용 프로그램을 시작합니다. Visual Studio가 시작되고 응용 프로그램이 로드됩니다.


728x90
반응형

댓글