Never Stop Running
[CodeEngn] BASIC 10 본문
* 리버싱 공부를 위한 문제풀이로
정답을 찾는 것과는 조금 다를 수 있습니다.
[CodeEngn] BASIC 10
문제 풀이 환경 |
Windows 10 / Intel / x32dbg / UPX |
문제 URL |
BASIC 10번 문제.
문제는 OEP를 구하는 것과, '성공'으로 가는 분기점의 OPCODE를 구하는 것이다.
OEP를 구하는 방법은 BASIC 6번에서 자세히 설명했다.
PUSHAD를 지나고 스택에 Break Point를 걸었다.
JMP문 대신 PUSH로 주소값을 넣고 RET를 했다. 이렇게 가도 OEP는 맞다.
들어가서 보이는 첫번째 주소가 OEP이다.
그 상태에서 [다음을 찾기] - [현재 모듈] - [문자열 참조]를 하면 등록이 성공적이라는 문자열을 볼 수 있다.
이 문자열의 출력을 결정하는 분기문의 OPCODE는 7555이다.
'Training > Codeengn' 카테고리의 다른 글
[CodeEngn] BASIC 13 (0) | 2018.09.24 |
---|---|
[CodeEngn] BASIC 12 (0) | 2018.09.24 |
[CodeEngn] BASIC 08 (0) | 2018.09.24 |
[CodeEngn] BASIC 07 (0) | 2018.09.24 |
[CodeEngn] BASIC 06 (0) | 2018.09.24 |
Comments