[CodeEngn] Basic RCE L09 - 보고서 본문
StolenByte를 구해야 한다.
이번에도 UPX로 패킹되어 있는 프로그램이다.
esp트릭으로 언패킹을 진행하는 과정까지 쫓아간다.
근데 3개의 이상한 값을 스택에 넣고 있다.
그리고 oep로 진입을 한다.
oep로 진입한 후 push 0을 진행하고 MessageBoxA를 호출한다.
하지만 해당 함수는 인자 값이 4개가 필요하지만 oep이전에 push를 하고 들어온다.
이것이 문제점이다.
이상태로 언패킹을 진행할 시 오류가 발생한다.
'
oep위에 푸시 값들을 복사해서 넣어 준다.
그 후 oep를 401000으로 설정 후 dump를 뜨고 iat를 설정해준다.
오류 없이 프로그램이 실행된다.
즉 stolen byte는 이 녀석이다.
------------------------------------------------------------------------------------------
문제는 여기서 끝이지만 해당 프로그램을 크랙 해보기로 했다.
프로그램 실행 시 이런 문구가 나온다.
디버거로 살펴본 결과 CreateFileA로 파일이 있는지 확인하는 것 같았다.
abex.l2c라는 파일을 만들어주었다.
그 후 파일의 문자열 길이를 검사를 하기에 아무 문자 0x12만큼 넣어 주었다.
그랬더니 성공 문자가 나온다.
'wargame > CodeEngn' 카테고리의 다른 글
[CodeEngn] Basic RCE L11 - 보고서 (0) | 2022.03.26 |
---|---|
[CodeEngn] Basic RCE L10 - 보고서 (0) | 2022.03.26 |
[CodeEngn] Basic RCE L08 - 보고서 (0) | 2022.03.26 |
[CodeEngn] Basic RCE L07 - 보고서 (0) | 2022.03.25 |
[CodeEngn] Basic RCE L06 - 보고서 (0) | 2022.03.24 |
Comments