본문 바로가기

리버싱

crack_me[1] 리버싱 [Reversing] Crack_me [1] 리버싱입니다. - x64dbg : 올리디버거와 같은 디버깅 툴입니다. 올리디버거는 업데이트가 끊킨듯 하여 x64dbg를 사용하였고 gui 환경도 더 깔끔한 편입니다. - PEview : 윈도우 PE 파일의 구조를 보기위한 툴입니다. 핵사값으로 PE 파일의 구조가 들어있습니다. - crack me [1]은 '컴퓨터에서 하드디스크를 CD-ROM으로 인식하게 만들어라' 라는 파일입니다. 먼저 해당 파일을 리버싱 하기위해 'x64dbg'에서 열어주고 'EntryPoint'를 찾아야 합니다. 'EntryPoint'는 프로그램의 시작위치로 디버거로 파일을 열었을 때 자동으로 중단점(Brack Point)를 잡아줄 때도 있지만 없을 때도 있습니다. 그럴 때 프로그램의 시작 위치를 찾는 여러 방.. 더보기
Flag 레지스터 [Reversing] Flag 레지스터는 test, cmp 명령을 통해 즉, 조건문을 통과한 후 조건에 따른 참 거짓을 보여주는 레지스터입니다. 단순히 맞다 틀리다가 아닌 '어떤 상황이다.'를 알려주기 때문에 Flag 레지스터를 확인하는 것은 중요합니다. - 각각의 Flag의 의미는 다음과 같다. ZF : 비교 연산과정 후 두 값이 같으면 즉, 두 값을 뺏을 때 0이 되면 같다는 의미로 '1'로 셋트 된다. PF : 비교 연산 후 하위 1byte 중 1bit가 짝수 이면 '1' 홀수 이면 '0'으로 셋트된다. AF : 산술 논리 연산 후 하위 3bit에 올림 또는 내림이 발생할 경우 '1'로 셋트된다. OF : 산술 논리 연산 후 결과값이 넘칠 경우 '1'로 셋트된다. SF : 비교 후 최상위 비트가 0이면 양수 1이면 음수.. 더보기