이쿠의 슬기로운 개발생활

함께 성장하기 위한 보안 개발자 EverNote 내용 공유

반응형

Tool 사용법 28

MinGW 리서치

MinGW 컴파일러 (Compiler) 개발자가 C/C++, GoLang등 프로그램 언어로 작성한 것은 컴퓨터가 이해하지 못함. 컴퓨터가 이를 이해하기 위해서는 컴파일러를 통해 프로그램 언어를 기계어로 변환하는 작업을 거쳐야함. 이러한 컴파일러는 종류가 다양함. 대표적으로 GCC, G++, MSVC 등이 있음. 이 중 MinGW 이해를 위해 GCC와 MSVC에 컴파일러를 위주로 설명하겠음. GCC란? GNU Compiler Collection의 약자. GNU 프로젝트의 오픈소스 컴파일러 컬렉션이고 본래 UNIX/LINUX 개열 OS의 컴파일러임. 과거에는 C언어 전용 컴파일러 전용이여서 GNU C Compiler Collection 약자였는데 2.9 version부터 C언어 이외에도 C++, Object..

Windows Application Verifier 사용법

Windows Application Verifier Windows Application Verifier 란? Microsoft 에서 제공하는 실행 파일 검증 tool 모듈 안에서 발생 될 수 있는 위협들을 자동적으로 잡아주는 tool 프로그램의 유효성, 적절성을 검증하는 tool 올바른 동기화 관련 함수를 사용했는지, 유효하지 않은 핸들에 접근,메모리 릭 등등을 확인 가능 Windows Application Verifier 사용법 사용하기전 주의 사항 1. 프로세스가 느려지기 때문에 절대 Real환경에서는 사용해서는 안 됨 Application Verifier을 사용하게 되면 메모리 할당을 Release지만 Debug모드처럼 Memory Guard Block을 할당하고 , 메모리 침범 등 여러 가지 오류..

Windows Application Verifier 설치

Windows Application Verifier 설치 설치 패키지 download Application Verifier는 Windows 10 SDK 설치 패키지에 포함이 되어있음 [Windows 10 SDK 설치 패키지 download링크] https://developer.microsoft.com/ko-kr/windows/downloads/windows-10-sdk/ winsdksetup.exe 다운 완료. 설치 winsdksetup.exe 실행 이 부분에서 설치하고자 하는 Application Verifier를 선택함. 설치 완료. 실행

VitualBox Windows10 설치 시 한영키 사용법

VitualBox Windows10 설치 시 한영키 사용법 1. regedit 실행하여 다음 항목과 동일하게 키보드 정보를 설정한다. [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters] "LayerDriver KOR"="kbd101c.dll" "OverrideKeyboardType"=dword:00000008 "OverrideKeyboardSubtype"=dword:00000005 "OverrideKeyboardIdentifier"="PCAT_101CKEY" 2. Windows reboot 3. 한영키 확인 왼쪽 Shift + Space를 누르면 한영 변환 한글을 입력하고 왼쪽 Ctrl + Space를 누르면 한자 변환

VirtualBox 클립보드, 드래그앤드롭 설정법

VirtualBox 클립보드, 드래그앤드롭 설정법 1. 메뉴 -> 장치 -> 드래그앤드롭(클립보드도 동일) -> 양방향 선택 리눅스 윈도우 동일 2. 메뉴 -> 장치 -> 게스트 확장 CD 이미지 삽입 윈도우의 경우 CD 드라이브에서 설치한 윈도우에 맞는 EXE 파일로 설치한 후 다시 시작 참고사항 [드래그앤드롭 오류] 가상에서 -> 호스트로는 정상적으로 됨 윈도우의 경우 양방향 설정을 했음에도 호스트 PC에서 가상으로 전송이 안되는 경우가 있음 해결책 VirtualBox 의 경우 우툰투에 최적화 되어있기 때문에 Windows 10 의 경우에 드래그앤드롭이 호스트에서 가상으로 되지 않는다. 클립보드는 된다.

WinDBG 프로세스 디버깅 (유저모드 라이브 디버깅)

WinDBG 프로세스 디버깅 (유저모드 라이브 디버깅) 실행 중인 프로세스를 WinDbg 로 디버깅 Visaul studio 의 디버깅과 동일함 솔직히 그냥 Visual studio 로 보는게 편함 프로세스 WinDbg 연결 방법 1. Attach to a Process WinDbg 상단 메뉴의 File > Attach to a Process 이미 실행 중인 프로세스를 디버깅함 2. Open Executable WinDbg 상단 메뉴의 File > Open Executable 실행파일을 WinDbg 로 열기 단축키 명령어 설명 F5 명령창 : g break point 전까지 실행 Ctrl + Pause Break 일시 정지 F10 Step Over F11 Step into F9 명령창 : bp 실행파일!..

WinDBG Dump 파일 디버깅 (유저모드 덤프 디버깅)

WinDBG Dump 파일 디버깅 (유저 모드 덤프 디버깅) 실행 중인 프로세스를 WinDbg로 디버깅 Visaul studio 의 디버깅과 동일함 솔직히 그냥 Visual studio 로 보는 게 편함 Dump 파일 WinDbg 연결 방법 1. Open Crash Dump = WinDbg 상단 메뉴의 File > Open Crash Dump 2. Drag and Drop WinDbg 로 덤프 파일 open 후 확인해야 할 사항 1. 덤프 파일 종류 [전체 덤프] User Mini Dump File with Full Memory 응용프로그램이 사용하던 모든 메모리가 유효 [미니 덤프] User Mini Dump File 레지스터, 스택, 메모리 포인터만 유효 2. 운영제체 종류 3. Process Upt..

WinDBG Symbol File 이란?

Symbol File (심볼 파일) 이란? 디버그 심볼 파일이란 실행 파일을 빌드할 때 생성되는 디버그용 파일. 심볼 파일이 or 심볼이라고 불러짐 심볼 파일에 포함되는 정보 실행 파일안에 존재하는 함수, 변수의 이름, 위치, 소스 파일, 소스 라인 정보. Visual studio나 WinDbg 같은 비거거는 이 심볼 파일을 이용해 소스 라인 디버깅을 가능하게 함 심볼 파일 생성법 Visual studio 의 경우 Debug 빌드 시 자동 생성 Release 빌드는 생성 되지 않음 하지만 Release 빌드라도 심볼 파일은 생성해놔야 함 (디버깅을 위해) Relase 빌드에서 심볼 생성 방법 1. 프로젝트 메뉴의 속성 2. 상단의 구성(Configuration) 을 [Release] or [All Con..

WinDBG 사용법

WinDbg란? Windows OS에서 실행되는 제품을 개발한 후 사용중인데 프로그램이 갑자기 종료되거나 오류가 발생하는 경우가 생길 수 있음. 이런 경우 개발자는 본인이 만든 제품에 문제가 있을 시 원인을 찾아야하는데 이러한 오류를 분석하는 과정을 디버깅이라고 함. Windows 경우에는 프로그램이 runtime error가 발생하거나 원인 불명으로 종료되는 경우 당시의 상황을 파일형태로 남겨놓을 수 있는데 그 파일을 Dump파일이라고 함. 그렇다면 개발자는 이러한 Dump파일을 분석해야 정확한 오류의 원인을 파악하고 프로그램을 수정할 수 있음. WinDbg는 개발자가 Dump파일을 분석할 때 사용할 수 있는 Tool임. MS에서 배포하는 Windows OS 전용 디버깅 툴로 유져모드 어플리케이션, 드..

SVN Revision 주석 다는 법

SVN Revision 주석 다는 법 C, C++, JAVA등 각종 언어에서 주석을 추가하여 commit에 대한 정보를 자동으로 남길 수 있음 1. 관리 하고자 하는 파일에서 마우스 우클릭 -> TortoiseSVN 2. Properties 클릭 3. 창이 나오면 우측 하단의 New.. 클릭 4. Other 클릭 5. 창이 나올 것 6. 상단의 Property name : 을 svn:keywords 선택 7. Property value: 에 항목 추가 Id Revision LastChangedBy 8. 저장 후 창 모두 닫기 9. 완료가 된 상태에서 주석에 다음과 같이 추가 $Id$ $LastChangedBy$ $Revision$ 10. 완료 후 SVN commit 하면 commit 정보가 주석에 저장됨..

Tool 사용법/SVN 2020.09.11
반응형