镣铐与舞蹈——个性与共性之迷思
前言 大家好,好久不见,我是某昨。 这篇文章诞生于一直以来想改变一下这个博客存在形式的构想。TG 群里的各位应该知道,从这个博客正式创立以来,我就想改变它的存在形式了。这种想法在 KossCloud 倒闭的那个月达到了顶峰。不是我负担不起迁移的成本,而是迁移暴露出来的问题开始让我反思这个博客动态的存在形式是否合理。 但讽刺的是,这样的存在形式激励着…
Go 学习笔记(2): 找准 io 之道
嘛,好久一年半不写 Go 相关的文章的,这期我们来看一看 Go 的 io 库。 io 是 Go 中非常重要,但同时也非常简单的部分。它抽象出了最基本的 Reader 和 Writer,并实现了 MultiWriter 和 Pipe。代码很简单,很简单,但是却是一切的基础。正是因为它非常简单,这篇文章才能带上源码讲( godoc 固然方便,但它也有它…
NAT Slipstreaming v1 原理浅析
大家好,好久不见,这里是某昨。这是一篇从 2021 年春节一直咕到现在的文章,因此文中的「今天」等指代时间的词语均代表当时的时间,请各位在阅读时自行转换(笑) 今天无意在 OSChina 的公众号看到一篇讲解 Chrome 将一些端口加入黑名单以防止 NAT Slipstreaming 攻击的新闻。原文是这样描述的: 这个新型 NAT Slipst…
thumbnail
绕过「9-nine-」的 CDKEY 验证——KrkrPlugin 正(?)向实录
前段日子突然对分割商法有点兴趣,于是从 2dj 上把 9-nine 拖了下来。但如何运行却成了难题。由于资源本身是 PKG 版的,因此需要输入 CDKEY,而显然这是我们所没有的,怎么办呢—— 安装 因为资源提供的是 CD 镜像,所以安装这一步就遇到了麻烦,如图所示: 如果输入错误的话,这个「次へ」的按钮是不能点击的。 分析安装过程,我们在 %te…
thumbnail
静流的青春纪念册——「サクラノ刻 -櫻の森の下を歩む-」体验版感言
2021年9月10日北京时间下午18时,樱之刻第一章体验版如期而至。 这次体验版自哥哥吐来的第一章是穿插于樱之诗第四章前后的故事。全章的故事大抵是以静流视角展开的第一人称叙述,时而穿插了些许回忆录式的旁白,以灰白的单色色调呈现。 本文内含大量内容剧透,阅读前请确保您已通关「サクラノ詩 —櫻の森の上を舞う—」及「本体验版」。 [bgm118] 时过境…
thumbnail
Project Anni 之旅(1)clap——从 builder 到 derive
Project Anni 的第一笔 commit 是从去年(2020年)12月20号开始的,而 clap 则是在当天的第三个 commit 中引入的。当时引入的是 2.3.3,也就是 clap 2 的最后一个版本,这个版本中还没有 derive 的身影。随着 clap 3.0.0-beta 版本的发布,带着尝鲜的心情,anni 的 clap 版本也…
[Google CTF 2021] CPP WriteUp
打完 CISCN 2021 无事,想起群里之前说到的 DRM,于是和队友一起尝试了一下( 预处理 由于各种 #xxx 完全没有缩进,因此使用 clang-format 对预处理器进行格式化处理: clang-format --style='{IndentPPDirectives: AfterHash}' cpp.c 缩进后的代码虽然算不上好读,但至…
【Rust】90 行代码实现 AsyncTeeReader
大家好,好久不见,这里是某昨。 这段 AsyncTeeReader 的代码是我在实现 anni-backend 的时候写的。虽然之后没有用到直接全删了,但个人感觉之后肯定还会有用到的时候,并且在书写这段代码的过程中我也学到了很多东西,故撰写此文以作记录。 代码带简单注释、new、use 和空行一共 90 行,从中或许可以稍微了解一下异步的代码该怎么…