반응형
StolenByte = 도난 바이트
패커가 이동시킨 코드의 윗부분이다.
UPX에서는 마지막 JMP 전 POPAD이후 일정 바이트 코드를 의미한다.
OEP를 찾아주기 위해 하나는 언패킹해야하므로 복사본을 만들어줬다.
OEP는 00401000이다.
OEP를 건너뛰고 0040100C부터 시작하는걸 알 수 있다.
StolenByte를 복구안해줬으므로 이상태로 실행하면 당연히 오류가 난다.
패킹이 안된 복사본을 이제 분석해주도록 하자.
찾았다.
정답은 "6A0068002040006812204000"이다.
패킹된 프로그램에 복구를 해주면 정상적으로 실행가능한 모습을 확인할 수 있다.
찾는 방법은 굉장히 간단했다.
처음 패킹된 프로그램을 보면 MessageBoxA의 함수의 인자는 4개여야하는데 push는 하나만 되었다.
즉 Stolenbyte에서 push 3개가 빠졌다고 생각하면 굉장히 수월해진다.
반응형
'War Game' 카테고리의 다른 글
코드엔진 Basic RCE L11 Write Up (0) | 2019.07.13 |
---|---|
코드엔진 Basic RCE L10 Write Up (2) | 2019.07.13 |
코드엔진 Basic RCE L08 Write UP (0) | 2019.06.30 |
코드엔진 Basic RCE L07 Write UP (0) | 2019.06.30 |
코드엔진 Basic RCE L06 Write UP (0) | 2019.06.30 |