Wargame/CodeEngn

[CodeEngn] Basic RCE L08

핏디 2021. 8. 4. 12:35
SMALL

[문제]

08.exe
0.05MB


[풀이]

1. UPX 언패킹 후 디버깅

IDEA로 디버깅을 시도하니 upx 패킹이 되어있었다. 문제에서 구해야 하는 것이 OEP이므로 패킹만 풀어주면 쉽게 구할 수 있다. 이에 cmd에서 upx를 풀어주고 IDEA나 Ollydbg로 디버깅하였다.

 

언패킹 후 아이다에서 start함수를 열어주면 OEP를 한 번에 구할 수 있다.

 

2. 패킹 상태로 문제 풀이

패킹이 된 파일을 Ollydbg로 열면 PUSHAD와 POPAD를 찾아볼 수 있는데, POPAD부분에서 JMP분기문을 발견할 수 있다. 이는 패킹 후 실제 코드가 들어있는 부분이므로 분기문 속을 Stepin하면 OEP를 발견할 수 있다.

LIST

'Wargame > CodeEngn' 카테고리의 다른 글

[CodeEngn] Basic RCE L09  (0) 2021.08.11
[CodeEngn] Basic RCE L07  (0) 2021.07.30
[CodeEngn] Basic RCE L05  (0) 2021.07.29
[CodeEngn] Basic RCE L04  (0) 2021.07.22
[CodeEngn] Basic RCE L03  (0) 2021.07.22