SMALL
[문제]
[풀이]
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 |