随着 CTF(夺旗)竞赛的日益流行, 以及 Dragon Sector 等波兰团队在该领域的出色表现, 我认为展示如何构建一个简单的 CrackMe 会很有趣,其中会用到一些 使其难以破解和分析的创意技术。

如果你曾对逆向工程感到好奇,参加过 CTF 竞赛, 或者想创建自己的 CrackMe 并让其他参赛者抓狂,那么这篇文章就是为你准备的。
你可以找到一篇关于该 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,请先把这篇文章放在一边,获取编译好的 可执行文件,然后尝试找到 flag!

在你尽最大努力尝试之后,可以回到这篇文章, 将你的发现与完整故事进行对比。这款 CrackMe 的难度为中等。
https://www.pelock.com/download/CrackMeZ3S.zip
要运行 CrackMe 可执行文件,你可能需要 Visual C++ Redistributable Packages for Visual Studio 2013。
拿到 CrackMe 了吗?不要偷看后面的内容作弊——赶紧开干吧!;)
如果你想知道如何构建自己的 CrackMe,欢迎继续阅读……
Bartosz Wójcik