디버거 http://idkwim.tistory.com/187디버거 제작 참고자료 목록 http://neilscomputerblog.blogspot.kr/2012/10/single-step-debugging-explained.html single step 관련 BHUSA09-Oh-DiffingBinaries-PAPER.pdf바이너리 디핑 자료이긴 한데 그래프 뷰 관련 내용이 있음 디스어셈블러 Intel 디스어셈블러를 제작할 시 필수 참고 자료, 이것보다 잘 나와있는 자료는 없다. http://blog.naver.com/PostView.nhn?blogId=wwwkasa&logNo=80127495218 디스어셈블러 소스코드랑 설명 https://github.com/gdabah/distormPython용 디스어..
PE_header.h123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165..
보호되어 있는 글입니다.
Single Step 구현에 관한 내용들이다. EXCEPTION_RECORD 이벤트 예외목록 참고※ MSDN : https://msdn.microsoft.com/ko-kr/library/windows/desktop/aa363082(v=vs.85).aspx Debugging Events 목록 참고※ MSDN : https://msdn.microsoft.com/ko-kr/library/windows/desktop/ms679302(v=vs.85).aspx Single Step 참고※ MSDN : http://mapview.tistory.com/entry/%EB%94%94%EB%B2%84%EA%B1%B0-single-step-%EA%B5%AC%ED%98%84 Single Step의 설정은 매우 간단하다. 우선 ..
디버거의 기능 열거디버거 자체의 기능 - 디버거 내에서 프로세스를 실행, 실행된 프로세스를 디버거에 붙이기 - 디버거에 붙은 프로세스 실행, 종료, 브레이크 포인트 설정디버거 발생 이벤트 처리 Code Section의 바이너리에 대한 디스어셈블러CPU Register 값 파싱Memory 파싱 디버거에 대한 함수는 마이크로소프트의 Windows에서 이미 API로 제공한다. 디버거를 만드는데 필요한 함수는 잘 가져와서 사용하면 된다. 디버깅 구조체 목록 ※ MSDN : https://msdn.microsoft.com/ko-kr/library/windows/desktop/ms679305(v=vs.85).aspx 디버거 기능 관련 함수CreateProcess() : Windows에서 프로세스 실행, 특정 플래그..
디버거 구현 시 중요한 세 가지 요소Break PointMemory CrashTrap, Exception 처리---------------------------------------------------------------------------------------------------------------------------------------브레이크 포인트Software Break Point : 특징 : 명령을 실행하는 CPU를 일시 중지, 한 바이트 명령어를 사용해 디버깅 대상 프로세스의 실행을 중지 코드 : 0xCC, INT 3 용도 : 보통 어플리케이션을 디버깅할 때 사용되는 브레이크 포인트, 일반적임 동작 방법 1. 현재 IP의 opcode를 뽑아서 브레이크 포인터 테이블에 저장 2. op..