CodeEngn.com [코드엔진]
코드엔진은 국내 리버스엔지니어링 정보공유를 위해 2007년 부터 리버스엔지니어링 컨퍼런스 및 세미나, 워크숍을 현업 실무자들과 함께 운영하고 있는 비영리 커뮤니티입니다.
ch.codeengn.com
남은 군 생활이 며칠인지 찾고 MD5 해시로 변환하여 인증을 하면 될 것 같다.
일단 파일을 실행시켜보았다.
지옥의 시작이었는데,,,
확인을 누르면 끝도 없이 값이 올라간다,,,, 결국 포기하고 창 닫기를 눌렀는데 숫자가 올라간다,,,ㅎ,,, 작업 관리자로 종료를 해야 사라진다,,,
끔찌ㄱ,,,
EXE INFO로 확인해보았다.
AUTOIT으로 작성된 파일이고 UPX 패킹이 되어있다고 한다.
언패킹을 진행하고 (이제 언패킹은 생략,, 앞에서 많이 했으니까,,,!)
생각해보니까 AUTOIT 디컴파일러가 있어서 넣어봤더니,,,
답이 1초만에 나왔는데,,,
1부터 790까지니까 790을 MD5로 암호화하면 FLAG 인증 완료,,,
그래서 결과적으로 답은 아래와 같다.
[ 2DACE78F80BC92E6D7493423D729448E ]
그래도 Advance 문제를 이렇게 쉽게 풀고싶지 않아서 디버거로도 분석을 시도해보았다!
결론적으로는 중간에서 막히긴 했다,,
언패킹을 하고 X32 디버거로 열어주고 실행을 하였더니,,,
또 디버거 탐지 함수가 있는 것 같다,,,
일단 찾아서 우회해서 패치파일을 만들어 놓았다.
보기 편하게 그래프 모드로 확인해보았는데
그림 7에서 맨 윗 노드에서 JNE를 통해 그림 5와 같은 에러창을 띄워주는 곳으로 점프한다.
JE로 수정해서 디버거 탐지를 우회할 수 있는 패치파일을 만들어주었다.
이제 패치파일로 다시 분석을 진행하였다.
일단 문제 실행파일에서 메시지 박스가 어마어마하게 떴으니까 모듈 검색에서 MESSAGEBOX를 검색해보았다.
다 BP를 걸고 실행을 시켜보았다.
했더니 그림 9와 같은 위치에서 멈췄다!
그리고 다시 1과 함께 지옥의 창이 뜨는데
그때 확인을 눌러주면 다시 디버거에서 진행이 가능하다.
일단 아무것도 모르겠어서 쭉 진행을 해보았는데 어마어마어마어마어마어마하게 긴 흐름이 이어지고,,,
갑자기 위의 그림과 같은 위치로 돌아오더니 2와 함께 창이 떴다,,,
그게 한 흐름인지 이때 처음 알았다,, 창 하나 띄우는데 실행 흐름이 어마어마하게 길다,,,
그런데 도저히 모르겠어서 풀이를 찾아봤는데 실행하다보면 EBP가 나온다는데 나는 도저히 찾을 수가 없다,,, 어디있는거야,,,,
'Reversing > CodeEngn' 카테고리의 다른 글
[CodeEngn] Advance RCE L08풀이 (2) | 2021.11.13 |
---|---|
[CodeEngn] Advance RCE L07풀이 (0) | 2021.11.13 |
[CodeEngn] Advance RCE L05풀이 (0) | 2021.11.13 |
[CodeEngn] Advance RCE L04풀이 (0) | 2021.10.05 |
[CodeEngn] Advance RCE L03풀이 (0) | 2021.10.05 |