이번에도 이전 문제와 비슷하게 Serial을 구하는 것이 문제였다.
일단 실행을 시켜보았다!
어마어마하게 자그마한 창이 뜨고 아무 값이나 입력하면 오른쪽 위의 그림처럼 “Mal Cracker!!!”라는 문구가 뜨고 창이 하나 뜨는 것을 볼 수 있다.
일단 Exe INFO에 넣어서 확인해보았다.
패킹도 되어있지 않고 별다른 특징이 없길래 바로 x32디버거를 사용해서 분석해보았다.
파일을 열고 문자열 찾기를 들어가 보니 아래의 그림과 같이 프로그램 실행에 관련된 명령어들까지 모두 보여주게 출력이 되는 것을 확인할 수 있었다.
그림 5에서 보이는 것처럼 보통 이런 경우 실행을 하면 문자열 찾기 출력 결과가 달라졌던 경험이 자주 있어서 이번에도 실행을 시키고 다시 문자열 찾기를 확인해보았다.
예상했던 대로 실행하니 문자열 찾기 결과가 달라지는 것을 볼 수 있었다!
그리고 여기에서 하나 짚고 가야 할 부분이 있는데, 이렇게 실행시키면서 분석해야 하는 파일들의 경우 기본 BP가 아닌 Hardware BP를 사용해야 한다!!
보니 "Bien!!!"이라고 되어 있는 부분이 성공 flag일 것이라고 추측할 수 있었다.
해당 부분으로 이동해보았다.
위의 그림은 동적 분석 중에 캡처한 사진이다.
사실 처음에 Ctrl+A로 모듈 분석을 하기 전에 위의 402476 위치의 함수가 “vbaStrCmp”라는 이름으로 보여서 비교하겠구나를 알고 문제를 풀기 시작했는데,
중간에 모듈 분석을 누르니까 함수가 sub~~ 형식으로 바뀌어서,,, 해당 표기법이 보이지가 않았다,, 왜 이러는겨,,?
그래서 “abcefg”라는 랜덤 값을 넣고 문자열을 비교하는 부분을 확인해본 결과 abcefg와 677345라는 값이 들어가서 비교 함수를 거치고 있는 것을 볼 수 있다.
여기에서 677345라는 값이 serial 값이라고 유추할 수 있었다.
끝!!!
'Reversing > CodeEngn' 카테고리의 다른 글
[CodeEngn] Advance RCE L07풀이 (0) | 2021.11.13 |
---|---|
[CodeEngn] Advance RCE L06풀이 (0) | 2021.11.13 |
[CodeEngn] Advance RCE L04풀이 (0) | 2021.10.05 |
[CodeEngn] Advance RCE L03풀이 (0) | 2021.10.05 |
[CodeEngn] Advance RCE L02풀이 (0) | 2021.10.05 |