워게임 99

[CodeEngn] Basic RCE L09

주어진 프로그램의 StolenByte를 구하는 문제입니다. StolenByte란 원래 프로그램의 코드 윗부분의 위치를 upx1로 이동시켜서 upx0이 덤프되지 않는 코드를 말합니다. 원래 OEP를 찾아서 OEP 위에 계속해서 푸쉬된 NOP이 바로 StolenByte라고 할수 있습니다. StolenByte를 찾아보겠습니다. 우선 OEP를 찾아야하기 때문에, 저번처럼 pushad로 스택에 푸쉬된 주소를 하드웨어 중단점을 걸고 실행시키면 popad가 나옵니다. popad와 jmp 사이에 push된 스택이 3개 보입니다. 바로 이 부분이 StolenByte라는 것입니다. jmp 에 있는 주소로 넘어가보면 다음과 같이 프로그램의 원래 OEP가 나옵니다. 그런에 OEP위에 여러개의 NOP이 있습니다. 그리고 Mes..

워게임/CodeEngn 2022.05.19
728x90