본문 바로가기

Hacking/Reversing

CodeEngn_basic_12

Basic RCE L12

 

Key를 구한 후 입력하게 되면 성공메시지를 볼 수 있다
이때 성공메시지 대신 Key 값이 MessageBox에 출력 되도록 하려면 파일을 HexEdit로 오픈 한 다음 0x???? ~ 0x???? 영역에 Key 값을 overwrite 하면 된다.
문제 : Key값과 + 주소영역을 찾으시오
Ex) 7777777????????

 


 

역시 가장 먼저 실행이다.

 

실행시키면 이렇게 뜨는데 입력을 해도 아무런 반응이 없다.

맞는 Key값을 입력하면 뭔가 출력시킬 듯 하다.

 


 

Ollydbg로 열어준 뒤에 text를 확인해보자 ( 보통 정답과 입력값을 비교할 때에는 text string에 성공일 때, 실패일 때 출력하는 메세지가 저장되어 있기 때문 )  

 

 

성공 텍스트로 들어가보면

 

 

이렇게 EAX와 7A2896BF를 비교하는 비교문이 있는데 CMP문에서 두 문자열이 같으면 congratulation... 을 출력하고 아니면 그냥 아무것도 없이 무시하는 것 같다.

여기서 EAX에는 우리가 입력한 입력값이 들어가고 그 입력값을 7A2896BF라는 값과 비교하는데 이 값은 현재 16진수이고 우리는 10진수로 입력을 해야 하기 때문에 입력할 키 값을 10진수로 변환시켜준 뒤에 입력하면 성공문이 나온다.

 

 

이제 저 출력부를 수정해 줄 일만 남았는데, 이건 간단하다 저 Congratulation... 의 text가 저장되어있는 hexdata의 주소로 가서 수정해주면 된다.

 

 

Congratulation... 부분에 우클릭 한 뒤에 Follow in Dump에 I=immediate constant를 클릭하면 해당 text가 저장되어있는 주소의 hexDump로 이동한다.

 

 

여기인데 여기서 시작하는 부분의 주소인 00403543( 시작부분 ) ~ 00403579( 끝 부분 )

에서 끝의 4자리를 추출하면 된다.

'Hacking > Reversing' 카테고리의 다른 글

CodeEngn_basic_14  (0) 2020.07.05
CodeEngn_basic_13  (0) 2020.07.05
CodeEngn_basic_11  (0) 2020.06.27
UPX 언패킹 하는법  (0) 2020.06.21
CodeEngn_basic_10  (0) 2020.06.21