
CTF 대회용 CrackMe 작성 방법. 소스 코드, 기술적 설명, 안티 디버깅 및 안티 리버스 엔지니어링 트릭.
CTF(캡처 더 플래그) 대회의 인기가 높아지고, Dragon Sector와 같은 폴란드 팀들이 이 분야에서 뛰어난 성과를 거두면서, 크랙과 분석을 어렵게 만드는 몇 가지 창의적인 기법을 사용한 간단한 CrackMe의 구축 과정을 보여드리는 것이 흥미로울 것이라고 생각했습니다.

리버스 엔지니어링에 호기심이 있거나, CTF 대회에 참가해 본 적이 있거나, 자신만의 CrackMe를 만들어 다른 참가자들을 미치게 만들고 싶었다면, 이 글이 바로 여러분을 위한 것입니다.
크랙미에 대한 자세한 기술 설명과 소스 코드 주석이 포함된 기사(영문)는 다음에서 확인할 수 있습니다:
https://www.pelock.com/articles/how-to-write-a-crackme-for-a-ctf-competition
https://zaufanatrzeciastrona.pl/post/jak-napisac-ciekawe-crackme-na-ctf-instrukcja-krok-po-kroku/
이미 어느 정도 리버싱 실력을 갖추고 있고, 제가 자세히 설명하려는 CrackMe에 직접 도전해 보고 싶다면, 이 기사를 잠시 접어두고 컴파일된 실행 파일을 받아 플래그를 찾아보세요!

최선을 다해 시도해 본 후, 기사로 돌아와서 자신이 발견한 내용을 전체 이야기와 비교해 보세요. 이 CrackMe는 중간 난이도입니다.
https://www.pelock.com/download/CrackMeZ3S.zip
CrackMe 실행 파일을 실행하려면 Visual C++ Redistributable Packages for Visual Studio 2013이 필요할 수 있습니다.
CrackMe를 받으셨나요? 더 이상 읽지 말고 직접 크랙에 도전하세요! ;)
반면, 자신만의 CrackMe를 만드는 방법을 배우고 싶다면 계속 읽어보시길 권합니다...
Bartosz Wójcik