new life

Overview

太久没有写作,感觉自己都不太会表达了。这两天总算忙完了毕业和所里一地鸡毛的琐事,终于有时间和心气做一些自己想干的事情。2023年对我来说确实是各种意义上不如意的一年,我多次质疑自己是不是应该放弃这条道路去转行做些别的,不过小镇做题家的思维成了我的救命灵药,也是我最痛苦时期的精神慰藉。回望这一年,我确实放慢了脚步,很多时间在内耗和焦虑中渡过,真正解决问题的时间只占很少一部分。不过我现在终于能平复自己的心情,面对那些我以前一直逃避的枷锁和困顿。

学业

2023年在学业上没有太多长进,publication至今只有年初灵光一闪,改了一个printable shellcode编码器的工具然后随便投了一个workshop。在这之后去读了ae64和alpha3的源码,然后产生了写一个更完善的alphanumeric shellcode编码器的想法,尽可能应对CTF出现过各种刁钻的shellcode过滤的情况,但碍于时间和自己的状态也不了了之了。至于自己毕业做的工作,出于对自己的不自信且心力交瘁的状态,我不清楚自己是否还有心力将其改一改再做一点工作投出去。

CTF

这一年参加CTF次数和2022年大抵是不相上下的,主要还是和本科同学一起。印象比较深的比赛只有两三场,SCTF拿了第五(因为彪几乎把re给ak了),和一场比较简单的国外比赛n00bzCTF(我ak了pwn)。还有一些自己solo的比赛没什么印象了,除了刚刚结束的picoCTF2024,solo最后拿到了6725分176名,写完了re、general和大部分pwn、forensics的题目。总的来说对自己这一年在CTF的表现是比较失望的,国内大型比赛现在已经十分之卷了,每一个方向卷的程度都远胜过三四年前,pwn和re坐牢基本是整个队一起坐牢(众所周知,Nebula只有pwn和re选手ORZ)。

我学到的

angr算是入了个门,但是这东西除非比赛特定出题或者去做科研几乎没有实际价值(或者说我没有看到符号执行的价值),picoCTF2024出了一个angr入门的逆向,更麻烦一点的,用angr去符号化堆栈上的数据结构会更恶心,angr_ctf这个仓库里举了很多例子。

在pwnable.kr上打到了400+名次,现在可以继续小镇做题家模式了。pwn.college真的很不错,我希望这一年能拿到blue_belt然后收到ASU邮寄的真实蓝带。

发现了值得一看的论坛和板块。reddit的reverse_engineering和cybersecurity板块很有用,re板块能找到一些实用的工具,cybersecurity能看些乐子和了解行业现状(我看之前绝对想不到,北美的nurse也有想转安全的),我在re上发现了一个很有用的工具hexwalk,取代了我之前使用过的所有hex-editor。

在用了两年Ghidra之后,我最后还是投入了IDA的怀抱。这件事情经过很有意思,我再也无法忍受Ghidra那非人类的类型推断和人工推断函数调用约定(Ghidra把这个称之为Function Signature),所以当有人问我Ghidra里函数签名与真实的调用约定不一致时如何处理时,我回答他:用IDA。

在解决pwn.college的逆向模块时,出于需要我用golang写了一个极简的Emulator,然后在pwncollege Discord对应频道上分享了我开源的Emulator,但是显然没有预料到这样做的后果。Yan Shoshitaishvili(Zardus)看到后私信我希望能把仓库转为私有仓库,更尴尬的是,ASU的一些同学翻看了我的博客发现我把Shellcode Injection模块的解法全部放在了之前的文章上面。我在把Emulator转为私有仓库的同时,然后用了hexo-blog-encrypt包将之前的文章加密。但我很快就意识到这无异于掩耳盗铃,因为我的hexo源文件与Github Pages位于同一个仓库的不同分支,所以正确或者通用的做法是,私有仓库用来存放博客的源文件,Github Pages只需要放博客的静态页面即可。ASU的同学很快也指出了这一点,但那个时候已经接近我摸鱼的尾声,我也无暇顾及太多,这件事到我现在完成一堆琐事之前不了了之。如果就地修改,我需要彻底删除大量commit然后才能做到彻底的销声匿迹,但这样做的精力成本实在太高,对于git我向来是用的时候再查,如果碰上问题也能很快从GPT那得到有大量实践的答案,但是定制就地修改这一需求实在是太过麻烦,最终我还是选择最粗暴的解决方式,删库重建,虽然简单但是有效且立竿见影。

我玩过的

这一年大部分时间还是在打刀,玩了一些单机但是不多。

四海兄弟重置版(Mafia),很经典的30年代黑帮游戏,完完全全的刻板印象合集。游戏流程观感就和电影一样,因此也有人觉得枯燥无趣。剧情上没有硬伤,但是确实如那些玩不下去的人所说的,这部游戏很无聊,无聊到你能大致猜出来主角的人生经历,趣味程度不及GTA SA这类20年前的游戏。一部俗套经典的黑帮老电影。

Pythagorea,一个很有意思的手机游戏,只能使用格点连线和交点做直线,完成绘制各种图形例如直角梯形、菱形、角平分线等形状,和USTC steam群群友沉迷几何无法自拔。

帕鲁世界,感觉没那么好玩,我玩就是为了摸疾旋鼬(摸定你了,兄弟)。

奥伯拉丁的回归,神中神。一年前的时候玩没玩下去,再玩的时候打了连续三天通关,不可多得的推理作品。听说巧舟的幽灵诡计和这部作品的玩法很像,但系统有点太古老了。

一段有意思的经历

回家前去交大闵行校区鼠居了五天,然后二月初从虹桥乘动车回重庆。中间在湖北遇上了暴雪,动车速度一度低至37km/h,原定晚上十点到重庆结果凌晨三点才到。到了之后我和同学匆匆忙忙地找到了预订的旅馆,重庆的地形确实很魔幻,所有客房都在五六十层楼高的公寓里面。我在楼下吃了碗小面和两个卤蛋当夜宵,那个时候能吃的东西也只有小面和抄手了。第二天中午我们去吃了重庆火锅,确实和四川比较是别有特色的。

总结

男人什么罐头我说,Python出去。又结束了颠沛流离的一年。