为什么我没有放上WHUCTF2026的WP呢?
在我昨天晚上把自己的博客文章从头到尾读了一遍之前,我甚至觉得这个话题完全没有单独写一篇博客的意义。毕竟不想写就是不想写,是一种感觉,哪里能说道出那么多的大概念呢?
最主要的原因当然是因为我也是可悲的梭狗。有两道题我看都没看,直接喂给GPT写,我再把GPT写的WP放上来——这不觉得贱得慌吗?写WP是记录自己的思路,希望给后人启发,我别说思路了,思都没思,把这么一篇自己一个字都没有过目的“文字的排列组合”以自己的名义发布在自己的博客上,既让人觉得膈应和恶心,也未免有不尊重自己的个人品牌,砸自己招牌,毁自己声誉之嫌。
至于其他勉强能算得上“自己解出”的题,也无非是让GPT一层层推进代码逆向,命令它读逻辑,重命名符号,写模拟脚本,写解密脚本——是的,即使是我厚颜无耻说“并非梭出”的题,也不过是把AI自己思考要干啥变成了我思考AI下一步要干啥(并下命令),把手弄脏的始终不是我,每一道题我都做得“脚不沾地”。
人与自己的造物疏离了,疏远的沟壑中间是冰冷冷的智能,题目于我变成黑盒,我于题目变成看客。但没关系,我有Token可烧,让AI去做脏活累活吧,不是因为你要增质提效,是因为你知道你根本就不会这些东西。那些看起来繁琐的跟栈,读汇编,写脚本,跑模拟,看起来能被AI替代掉的活,你其实一点都不会,你之所以还道貌岸然地坐在选手席上只是因为你知道你给Opus 4.6充了足够的钱,它能继续稳定地给你这种无所不能的幻觉。
拿到题,哦,是VM(虚拟机保护),好吧,告诉AI说这是一个VM挑战,帮我找到Dispatcher,分析字节码类型和handler table,写simulation.py。看起来你什么都知道,但上面每一步你都只是重复了Wiki上说的那些高屋建瓴泛泛而谈的东西。你觉得你什么都知道了,思路如此清晰,但你其实根本不知道什么是Dispatcher,如何把Handler Table从密密麻麻的汇编里拎出来。OK,那你只能把自己全部的身家性命压在这个概率机器上了。一旦选择开始梭,要么成功,要么从零开始。
“梭”这个东西从一开始就是一场赌博,绝无可能让一个人“先让AI做”,等AI出麻烦了再“人类介入干预”。别做梦了,你跟AI共享了一丝一毫上下文吗?AI做了一半的题对你来说就是完全陌生的东西,等你自己跟着AI的思路把题看一遍,比赛是否还在继续暂且不论,耗时跟你自己从头做一遍也没啥区别了,白白浪费Token,增加复杂度。
那让AI每一步都写文档,不就可以共享上下文了吗?首先,AI既然已经卡在半路了,就说明它之前的某个步骤错了,哪个步骤呢?你要不要一步一步排查呢?其次,看过WP的都知道,看别人写的东西和自己亲自写一遍,差异是天差地别的,就像把高数课本通读一遍不如自己动手做题,把汇编教材翻烂不如跟着gdb自己单步调试一个程序,你看完了AI的解题思路,再打开IDA看题,依然“圣质如初”,不知道从何下手。因此,“赌”恐怕是每个梭狗都不得不选择的信仰之跃。
没有AI做不来题的人类,做着为了防AI出得诘屈聱牙的怪题,真可谓是一对苦命鸳鸯。
另外,还有两个点值得提一提。
第一个是我在提交给主办方的WP开头写的一段话,我想放在这里很合适:
注:本场比赛由于时间原因(比赛时限内尽可能追求多的解出 + 比较紧张的WP提交时间无法确保赛后复现),会有一些题是
AI解出,AI写WP。这类题目我们会标记为“[梭]”,评审组可选择跳过不看,但此类题目的开头末尾一般会有解题者想说的话,也有一些对于规则和技术的感慨。AI解出并不一定等同于选手能力不足,也许更是竞赛属性导致的对分数的天生追求,和对“别人都在梭,三血只是不同的人在浪费codex的token做着一样事情”的不忿而催生的某种必然。我无意用这些话语为我们的放弃思考“脱罪”,只是想将事实与我们的思考呈现在各位眼前——有人的地方就有江湖,hack for fun从来只有置身事外的人能心安理得地喊。
愿竞赛回归本质,祝CTF一切都好,大家一切都好。
另一个是我在一位朋友的邀请下玩了玩BombLab ↗,在两天时间里对这个简单到不能再简单的逆向题进行了分析,没有使用IDA,没有看任何反编译结果,gdb下断,跟栈,用rizin辅助了一下看汇编(还是那个原则,没有使用rz-ghidra反编译),手动编写反编译代码(我不会用python,所以代码全部用c++写出)。整整两天,不紧不慢,没有什么分数和时间在催着我,我得以完全沉浸在逆向的快乐中,学到了去年半年都没有学到的调试和汇编的知识,看花指令,分析控制流,乃至人肉反汇编,似乎突然就得心应手了。
第一次,我对以赛促学的口号产生了一点怀疑。但可能并不是口号错了,也不是我们错了,只是口号和我们错配了吧。

比赛结果是总榜第二,前面由于几道RE梭得太厉害了,VM放题后几分钟就有解出,“抢血”实在是不那么现实,没办法,第二就第二吧~
队友们真的都很给力,Web手忙得觉都没睡好,凌晨惊醒想到了新的攻击思路;Crypto手要同时身兼密码和Misc两个方向,人和AI都忙得脚不沾地;Pwn手独自坚守在AI无能为力的阵地,手搓脚本和友队另一个巨神结结实实较量了一场;至于我,虽然一血拖了后腿,但好再最后还是AK了Re方向,没太丢人。最重要的一点是,大家都很团结,打完校赛后会互相安慰,互相鼓励。
感谢大家,各位都辛苦了,能遇见各位真是太幸运了。
那么最后,暂时地,再见了,所有的CTF。



