reverse engineering/CodeEngn

코드엔진 - basic 06

heegong 2020. 9. 16. 12:03
728x90

오늘은 코드엔진 basic 6번 문제를 풀어보겠습니다.

 

 

 

 

 

이러한 문제입니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

실행시켰을때 입니다.

 

 

 

 

 

 

 

 

 

UPX로 패킹이 되어있습니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

pushad 발견

 

 

 

 

 

 

 

 

 

popad 후 jmp

 

 

 

 

 

 

 

 

 

 

원본코드

그러면 OEP는 00401360 입니다.

 

 

 

 

 

 

 

 

 

 

 

 

문자열 찾기로 틀렸을때 나오는  Wrong serial!!! 로 이동해봅시다.

 

 

 

 

 

 

 

 

 

 

 

0040107D가 분기점입니다.

 

 

 

 

 

 

 

 

 

 

 

 

브포 걸고 실행한 다음에 12345 입력 후 Check Serial 클릭

 

 

 

 

 

 

 

 

401290을 호출한다. 그리고 내가 입력한 Serial이랑 AD56DFS547을 push한다.

 

 

 

반환값이 1이다. 일단 strcmp라고 추측해볼 수 있다.

 

 

 

 

 

 

 

 

 

 

 

 

다시 실행해서 AD46DFS547를 입력해보니

반환값이 0이다. 

 

 

 

 

 

 

 

 

 

 

 

이제 f9로 실행을 하면

잘 동작한다.

 

그러면 Serial은 : AD46DFS547

OEP : 00401360

답은 00401360AD46DFS547

 

 

 

 

 

 

 

 

 

 

 

 

 

이미 풀어서 이런식으로 나온다. 

 

 

 

 

 

 

 

 

 

답 : 00401360AD46DFS547