WarGame/CodeEngn

    [CodeEngn] 코드엔진 - Basic RCE 3 -

    문제 "비주얼베이직에서 스트링 비교함수 이름은?" 풀이 문제가 참 직관적이다. 일단 검색을 하고 와보자 아래는 microsoft의 있는 API이다. 음.... 사쿠라인가 아닌가 확인들어간다. 문제는 동일하게 03.7z에 PE가 하나들어있는 형태이다. 아하 일단 DLL이 하나 필요한가 보다 MSVBVM50.DLL은 다운로드 받고 레지스트리에 등록시켜보자. 등록방법을 혹시모르는 사람은 더보기를 누르자 더보기 1. C:\Windows\SysWOW64 에 해당 DLL파일이동 2. 관리자권한 명령프롬포트(CMD)에 regsvr32 [등록할 dll] 입력 실행을 하면 약간의 불필요한 메시지박스와 함께 다음의 창을 만날 수 있다. 문자열을 입력하는 Regcode 텍스트박스에 "REDUCTO"를 입력하고 엔터해보자. ..

    [CodeEngn] 코드엔진 - Basic RCE 2 -

    문제 "패스워드로 인증하는 실행파일이 손상되어 실행이 안되는 문제가 생겼다. 패스워드가 무엇인지 분석하시오" 풀이 01번문제와 동일하게 비밀번호가 걸린 압축파일 하나와 실행파일을 얻을 수 있다. 화이팅해서 디버거를 켜보자 화이팅좀 하려그랬는데, 파일이 깨졌다.ㅋㅋㅋㅋㅋㅋ 헤더의 손상이 의심은 되는데, PEVIEW로 한번 열어보자 역시 PEVIEW가 제대로 헤더를 분석하고 있지 못하다. 잠깐 이론적인 이야기로 정상적인 PE파일이라면 0x00000000 ~ 0x00000039까지 IMAGE_DOS_HEADER일것이고, 다음 0x000000D7까지 DOS_STUB일거고 다음부터 IMAGE_NT_HEADER를 가질 것이다. 여기서 IMAGE_NT_HEADER를 오프셋을 가리키는 IMAGE_DOS_HEADER의 ..

    [CodeEngn] 코드엔진 - Basic RCE 1 -

    문제 "HDD를 CD-Rom으로 인식시키기 위해서는 GetDriveTypeA의 리턴값이 무엇이 되어야 하는가." 풀이 01.7z의 압축을 해제햐면 01.exe의 PE File하나를 얻을 수 있다. 해당프로그램은 "HD를 CD-Rom으로 인식시켜 주세요." 라는 의미심장한 말과 함께 종료된다. 디버거로 한번 까보자 이화면을 보게되니 다시금 RCE문제를 풀고있구나가 느껴진다. 그래...우선 사용되는 문자열인 "Make me think your HD is a CD-Rom"이 .data에 raw로 존재하기를 바라며 찾아가보자. 굿 어렵지 않게 문자을 찾을 수 있었다. 우선 MessageBoxA의 파라미터로 들어가는 Title "abex's 1st crackme"를 찾아가자(0x00401002) 어렵지 않게 메인..

    [CodeEngn] 코드엔진 - 문제풀이를 시작하며 -

    https://codeengn.com/ CodeEngn [코드엔진] CodeEngn ReverseEngineering Conference codeengn.com 워게임은 여러 분야가 있다. 네트워크 / 포렌식 / 웹 / 모바일 / MISC 등등등 컴퓨터를 전공으로 하고 있는 필자도 아직 모르는 문제가 많을 정도로 Tricky 하고 deep 한 분야라고 할 수 있겠다. 몇 번의 ctf대회를 출전하며, 별로 좋지 못한 성적만을 거두어 왔는데, 이유는 단순하게 1. 진심을 내고 떨어지는 것이 두려워서, 2. 리버싱을 할 줄 몰라서였다. 나뭇잎 책도 읽어보고 각지의 글들을 찾아다녔는데, 아직도 리버싱은 잘 모르겠다. 어셈블리만 보면 이제 눈이 하얘진다. 가만히 앉아있다고 문제가 해결되지는 않는다. Crack M..