본문 바로가기

챌린지/CrackMe

Abex's 5th Crackme Abex의 크랙미 중 마지막 작품이다. 따로 설명이 필요할 정도로 복잡한 프로그램이 아니며 이전과 비슷하게 시리얼 키를 입력해서 비교하는 방식으로 작동한다. 프로그램을 실행시키면 간단하게 텍스트 필드와 버튼이 하나 뜬다. 다행히 비주얼 베이직으로 만든 프로그램은 아니고 델파이와 터보 링커를 활용하여 개발된 프로그램이다. 일단 바로 Check 버튼을 눌러보면 시리얼이 틀렸다는 메시지와 함께 프로그램이 곧바로 종료된다. 시리얼에 아무런 값을 입력하지 않아도 동일하게 메시지 박스가 나타난 후 프로그램이 종료된다. 더이상 얻을 정보가 없으므로 일단 디버거를 켜서 확인해보도록 하겠다. 엔트리 포인트에서 머지않아 금방 다이얼로그 박스를 그리는 함수를 호출하는 것 같다. 아직은 별다른 중단점을 설정하지 않았기에 Ch.. 더보기
Abex's 4th Crackme 이번에는 4번째 크랙미다. 사실 다른 사이트에 나와있는 풀이들도 그렇고 대부분 메모리 상에 남아있는 해답으로 푸는 방식이 대부분이지만 저렇게 몇시간동안(총 실행시간이니 22시간이나 붙잡고 있던 건 아닐것이다.. 아마도?) 붙잡고 있던 이유는 문제에서 다음과 같은 요구사항이 있었기 때문이다. 즉, 단순히 값을 찾는 게 아니라 키젠 프로그램을 만들어야 한다는 것이다. 분석해보면 알겠지만 이 크랙미는 매 시간마다 시리얼 키가 변하기 때문에 일일히 디버거를 켜서 값을 찾을수도 없는 노릇이고 결국 시리얼 키를 생성하는 키젠을 작성하는 것이 최종 해답이 될 것이다. 프로그램을 실행시켜보면 친숙한 비주얼 베이직 아이콘과 텍스트 필드, 버튼이 하나 주어진다. 일단 아무 시리얼이나 입력해보았지만 Registered 버튼.. 더보기
Abex's 3rd Crackme Abex의 3번째 크랙미다. 이번 파일은 델파이로 작성되어 있으며 크랙미와 같은 디렉토리에 위치한 유효한 키파일을 찾아야 한다. 설명은 간단하다. 그럼 우선 프로그램을 실행시켜 보자. 시작하자마자 아무런 창도 없이 바로 메시지 박스가 호출되었다. 키파일을 확인하는 단계인 것 같다. 확인을 누르니 키파일을 찾을 수 없다는 메시지 박스가 호출된 후 프로그램이 종료되었다. 확인 -> 성공/실패로 이어지는 간단한 로직의 프로그램인 것 같은데, 일단 디버거로 열어보자. 예전 첫번째 크랙미처럼 스크롤 안에 다 들어오는 간단한 구조를 가지고 있다. 호출하는 함수명을 살펴보니 MessageBoxA(), CreateFileA() 등 윈도우 API를 사용하고 있는데 이 함수들의 동작은 MSDN 등 구글링을 통해 쉽게 찾을.. 더보기
Abex's 2nd Crackme 2020.10.26 수정 - Abex's 4th Crackme를 풀면서 얻은 지식으로 키젠을 구현, 반영하였음. Abex의 두 번째 크랙미다. 이번 파일은 Visual Basic으로 작성되어 있으며 다음과 같이 시리얼 코드를 확인하는 동작을 하고 있다. 설명은 간단하다. 그럼 프로그램을 실행시켜보자. Check, About, Quit 버튼은 각각 시리얼 넘버 확인, 간단한 정보 출력, 프로그램 종료를 수행한다. 필드에 아무것도 입력하지 않고 Check 버튼을 눌러보면 어떻게 될까? 위와 같이 최소한 4글자를 입력하라는 경고가 나왔다. 그렇다면 4글자를 입력해보자. 위와 같이 올바른 시리얼을 입력하라는 문구가 나왔다. 그렇다면 어떻게 올바른 이름과 시리얼을 찾아낼 수 있을까? 우선 디버거로 이를 실행시켜보.. 더보기
Abex's 1st Crackme 리버싱 입문 도서에서 거의 빼놓지 않고 다루는 Abex의 첫번째 Crackme 파일이다. 파일은 https://crackmes.one/에서 간단한 가입 후 다운받을 수 있다. 크랙미의 목적은 이 파일이 하드 드라이브를 CD롬으로 인식하도록 조작하는 것이다. 성공한다면 "OK, I really think OK, I really think that your HD is a CD-ROM! :p"이라는 문자열을 출력하며 실패한다면 "NAH... This is not a CD-ROM drive!"라는 문자열을 출력하게 된다. 사실 문제를 풀어보기 전에 가장 좋은 습관은 그냥 실행시켜 보는 것이다. 아무런 조작을 하지 않은 채 실행시키면 처음에는 위와 같은 메시지박스가 뜨는 것을 볼 수 있다. 확인을 누르면 위와 같.. 더보기