문제:

OEP를 구한 후 '등록성공' 으로 가는 분기점의 OPCODE를 구하시오.
정답인증은 OEP + OPCODE
EX) 00400000EB03

 

immunity로 열어보니

패킹이 되어있는 것을 확인할 수 있었습니다.

패킹방식은 Aspack.. UPX 툴로는 언패킹하지 못할 것 같습니다.

 

대신 원리를 살펴보면 패킹을 한 바이너리는

PUSHAD -> POPAD -> OEP 이런 과정을 거쳐서 원래의 entry point로 가게됩니다.

POPAD를 찾아봅시다.

POPAD를 찾고 F8을 이용해서 456501 까지 가면 PUSH 했던 445834로 뛰는 것을 볼 수 있습니다. 이 곳이 OEP라고 할 수 있겠습니다.

445834로 가봤더니 이런식으로 되어있는데 ctrl + A 나 Analysis -> Analyse code 를 누르면 

이렇게 어셈블리어를 보실 수 있습니다.

여기서 문자열을 확인해보면

( 문자열 확인법은 ->

2020/02/23 - [Forensics/Reversing] - [CodeEngn 06] Basic RCE L06 )

 

[CodeEngn 06] Basic RCE L06

문제: Unpack을 한 후 Serial을 찾으시오. 정답인증은 OEP + Serial Ex) 00400000PASSWORD 무작정 실행을 해봤는데 틀렸다고 한다.. ㅎㅎ 그러면 디버거를 통해서 "Wrong serial" 문자열 검색 후 그 전 후를 살펴..

h32j00.tistory.com

뭔가 성공을 이야기하는 문자열이 보입니다. Enter나 더블클릭으로 가줍니다.

분기문의 OPCODE는 7555가 되겠네요.

그 조건을 만족 못할 시에는 '등록성공'으로 못갈 것 같습니다.

 

답: 004458347555

 

'Forensics > Reversing' 카테고리의 다른 글

[CodeEngn 08] Basic RCE L08  (0) 2020.02.23
[CodeEngn 07] Basic RCE L07  (0) 2020.02.23
[CodeEngn 06] Basic RCE L06  (0) 2020.02.23