CodeEngn

CodeEngn.com Basic RCE L10

レ(゚∀゚;)ヘ=З=З=З 2023. 12. 22. 08:57
728x90

1) OEP를 구하고 '등록성공'으로 가는 분기점의 OPCODE를 구하는 문제

더보기

※ OPCODE

 : 연산코드, 프로세서가 수행할 연산과 실행할 동작을 정의하는 코드
 -
올리디버거로 열었을 경우 Hex dump에 해당되는 코드들이 OPCODE

2) 실행 시 Name, Serial 값 입력 불가능

3) PEiD - ASPack 패킹 되어있는 것 확인
4) 올리디버거를 통해 직접 ASPack 언패킹 진행

5) Find command 를 통해 retn 0c 검색

6) RETN 0c 아래 있는 두 줄에 BP를 걸어주고 실행(F9)

7) 실행 시키면 PUSH 뒤에 OEP 주소로 변경, RETN을 통해 OEP로 이동

8) OEP 부분으로 이동 후 Ctrl + A - 원래 코드 확인
9) 언패킹 완료

10) 언패킹 과정에서 OEP = 00445834 확인
11) 올리디버거 - 모든 문자열 확인 - Registered ... well done! 확인 - 해당 위치로 이동

12) JNZ : 참이 되면 문자열 보여줌, 거짓이면 점프해서 다른 부분으로 이동
13) JNZ 부분이 등록 성공으로 가는 분기점 -  7555 (OPCODE는 Hex dump에 있는 코드)

14) 정답 코드 : OEP + OPCODE = 004458347555

'CodeEngn' 카테고리의 다른 글

CodeEngn.com Basic RCE L15  (0) 2023.12.22
CodeEngn.com Basic RCE L11  (0) 2023.12.22
CodeEngn.com Basic RCE L09  (0) 2023.12.22
CodeEngn.com Basic RCE L08  (0) 2023.12.22
CodeEngn.com Basic RCE L06  (0) 2023.12.21