본문 바로가기

전체 글

C++ 뜯어보기 관련 되는대로 하나씩 정리. 1. C++ 가 이벤트 드리븐 방식으로 동작하기 때문에이벤트 발생 시에 해당 이벤트에 연결된 이벤트 핸들러를 찾는 것이 중요한 포인트아직까지는 핸들러 스택 프레임이 일반적이지 않은 케이스를 본 적은 없지만push ebp 류로 시작하지 않는 핸들러도 있다고 하니이런 방법론에 대해서도 잘 정리할 필요가 있겠다. 메시지 맵 struct 를 보면 struct AFX_MSGMAP_ENTRY{ UINT nMessage; // 윈도우 메시지 WM_PAINT, WM_CREATE 등 UINT nCode; // control code or WM_NOTIFY code UINT nID; // 메시지를 발생시킨 control ID (or 0 for windows messages) UINT nLastID;.. 더보기
About overflow flag 오버플로우 플래그에 관하여2011년 8월 22일 작성본 의문의 시작은 아래 밑줄 친 부분 때문인데, 양수 + 양수 = 음수 , 음수 + 음수 = 양수 일때 OF 가 발생한다.OF는 두개의 피연산자 부호가 다를 경우 절대 발생 하지 않는다. 모 사이트에 위와 같이 나와 있었다. 원래 알고 있던 바, OF는 부호 있는 인자에 대한 오버플로우 판단 플래그이며피연산자 부호와는 상관이 없다고 알고 있었다. 아래는 책을 참조하여 만든 플래그표. 왼쪽 피연산자 오른쪽 피연산자 연산자들의 관계 플래그에 미치는 영향 설명 X0X0YYOF=1 SF=1 ZF=1위의 경우와 반대의 경우로,오버플로우가 발생하며결과값은 음수다. #include main(){short value1;__asm{xor ax, axxor bx, bxm.. 더보기
test test 더보기
프로그램 시작 시 디버거에 바로 붙이는 방법 부팅되자마자 실행되는 프로세스를 디버깅해야 하는 경우나자식 프로세스를 디버깅해야 한다거나뭐 기타등등 디버거를 붙이기 곤란한 경우에 사용할 수 있는 방법 HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\ 여기에 프로그램명으로 키를 만들고 ex ) HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\iexplorer.exe 그 밑에 string value 를 만든다. 이름은 Debugger, 내용은 경로로. Debugger : REG_SZ : x64 에서 돌아가는 x32 프로세스의 경우 경로가 좀 다르다 HKLM\SOFTWARE.. 더보기
uaf - 8pt 보호되어 있는 글입니다. 더보기
cmd2 - 9 pt 보호되어 있는 글입니다. 더보기
cmd1 - 1pt 보호되어 있는 글입니다. 더보기
blackjack - 1pt 보호되어 있는 글입니다. 더보기