PEDIY 2009 年 Crackme 攻防大赛 (高级组)
比赛规则
============================================
序言
基于 crackme 技术的复杂性和自由度,现把比赛划分为二个组别进行 :
[初级组] - Crackme 的设计受到比较严格的限制,在评审有疑问的情况下,需要提交源码和进行解释。
[高级组] - Crackme 的设计基本上没有限制,参赛者必须是拥有足够的破解功力,并且可以应付商业软件加密。
关于初级组的比赛规则,请详见 netwind 版主发布的 "PEDIY 2009 年 Crackme 攻防大赛" 比赛文件。
本文件是针对高级组比赛的规则文件
Part 1. 高级组比赛的要求和原则
比赛方法 :
高级组的比赛方法和初级组有明显分别,详情如下
1. crackme 队伍向评审提交一个 crackme
2. 评审收集所有队伍的 crackme 后,会在一个指定时间,把所有 crackme 发布
3. 比赛时间是 7 天,所有参赛队伍,可以自由破解任何一个 crackme,成功破解便会取得分数
4. 破解方法是成功找出 2 组可用的序号
4. 每成功破解一个 crackme,便会得到 [速度分数],计算方法为
速度分数 = 比赛完结时间 - 破解成功时间
For example:
marks = ( 2009-9-30 0:00 减 2009-9-27 1:30 ) 分钟
意思是,越早成功破解,所得分数越高
5. 每成功破解一个 crackme,便会得分,所有分数累加后,便是队伍的总得分
6. 当一个 crackme 被破解后,其它队伍仍然可以破解它来得分
7. 论坛的其它会员可以尝试破解,假如某 crackme 的破解方法被公开了,参赛队伍分数计算也不受影响,队伍依然可以提交 2 组序号来破解取分
8. 最后总分最高者胜出
Part 2.
基本规则 :
1. 参赛者以队伍作单位,人数 1- 4 人,但建议最少 2 人
2. 参赛队伍向比赛评审提交一个 crackme 和一组正确的注册序号。 crackme 的界面须清楚注明成员,队伍名字
3. crackme 接受一组注册序号 (name and S/N),按下注册按钮后,如果序号正确,便显示注册成功信息
4. crackme 必须是安全的程序,不会对计算机构成任何伤害
5. crackme 不可以任意修改或破坏计算机的档案
6. crackme 不可以写入或修改 registry,但可读取
7. crackme 不可以使用网络功能,必须假设计算机为单机状态
8. crackme 可使用的语言: C, C++, VB, Delphi, ASM 。
9. 参加了初级组 (防守) 的会员,不可以同时参加高级组比赛
Part 3.
设计规则 :
crackme 基本上免除了一些初级组的限制,也不需要向评审提交保护机制的源码
1. crackme 可以使用驱动或使用各类 vm 设计。唯必须安全并且对计算机无害
2. crackme 可以加壳 (包括商业外壳和压缩壳, 例如 upx),但并不鼓励。各参赛队伍必须有心理准备,将可能面对商业壳的 crackme
3. crackme 需要通过体积限制,以降低复杂度至可比赛的水平,方法如下 :
把 crackme 进行 zip 压缩,其压缩后的大小不可以超过 32 KB
Part 4.
奖项
高级组 crackme 比赛,设立金,银,铜三奖。
另设一个「高级组最佳 crackme 设计奖」,用以嘉许设计出众的 crackme,由论坛全体投票选出
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)