본문 바로가기

리버싱

[CodeEngn]코드엔진 basic RCE L11

문제: OEP를 찾으시오. Ex) 00401000 / Stolenbyte 를 찾으시오.
Ex) FF35CA204000E84D000000 정답인증은 OEP+ Stolenbyte
Ex ) 00401000FF35CA204000E84D000000

 

OEP와 Stolenbyte를 찾는 문제이다.

Ollydbg를 열면 PUSHAD가 되어있고, 밑에 NOP으로 채워져있는 것을 확인할 수 있다.

NOP에 Stolenbyte가 있을 듯 하다.

Ctrl+F를 통해 POPAD를 찾아보도록 한다.

POPAD를 검색해보니 이 밑 부분이 NOP에 채워질 듯 하다.

일단 이 부분을 breakpoint로 해주었다.

이 부분까지 와보니, 아까는 없었던 문자열이 보인다.

윗부분에서 계속 F8을 눌러보니 이 부분으로 왔다.

OEP는 0040100C임을 확인했다.

이제 StolenByte가 무엇인지 확인해야 한다.

 

아까 breakpoint를 걸어주었던 곳으로 이동한다.

그럼 이제 이 6A00~~~이 Stolenbyte임을 알 수 있다.

 

근데 답이 아니라고 한다.

그래서 break포인트로 이동하여 다시 끝으로 가보았다.

아까는 이동한 후 위를 안 봤는데, 위에 다 NOP으로 채워져있다.

따라서 OEP는 00401000이다.

 

OEP+Stolenbyte를 입력하면 정답이라고 나온다.

반응형

'리버싱' 카테고리의 다른 글

[CodeEngn]코드엔진 basic RCE L13  (0) 2020.07.26
[CodeEngn]코드엔진 basic RCE L12  (0) 2020.07.26
[CodeEngn]코드엔진 basic RCE L06  (0) 2020.07.23
[CodeEngn]코드엔진 basic RCE L08  (0) 2020.07.22
[CodeEngn]코드엔진 basic RCE L07  (0) 2020.07.22