Y7n05h
https://blog.y7n05h.dev/img/Y7n05h.webp
2023-03-19T00:00:00.000Z
https://blog.y7n05h.dev/
Y7n05h
Hexo
网络拾遗--IPv6 地址自动配置
https://blog.y7n05h.dev/IPv6/
2023-01-09T00:00:00.000Z
2023-03-19T00:00:00.000Z
<h2 id="前言"><a href="#前言" class="headerlink" title="前言"></a>前言</h2><p>近年来,就 Y7n05h 的主观体验来说,虽然 IPv4 地址资源耗尽早已不是什么新鲜的话题,但 IPv6 的发展一直处于不温不火的境地。<br>也许海外地区对 IPv6 的应用更为广泛,这一点 Y7n05h 就不得而知了,因此也不做过多的讨论
Speed up DNSDist with AF_XDP
https://blog.y7n05h.dev/speedUpDnsdistWithAFXDP-en/
2022-08-16T00:00:00.000Z
2022-08-16T00:00:00.000Z
<p>Chinese readers can read <a href="/speedUpDnsdistWithAFXDP-zh">the Chinese version</a> of this article.<br>中文读者可阅读本文的<a href="/speedUpDnsdistWithAFXDP-zh">中文版本</a>
用 AF_XDP 加速 DNSDist
https://blog.y7n05h.dev/speedUpDnsdistWithAFXDP-zh/
2022-08-16T00:00:00.000Z
2022-08-16T00:00:00.000Z
<p>英文读者可阅读本文的 <a href="/speedUpDnsdistWithAFXDP-en">英文版本</a>
浅谈 C++ 异常的性能
https://blog.y7n05h.dev/exception/
2022-05-02T00:00:00.000Z
2022-05-02T00:00:00.000Z
<h2 id="起因"><a href="#起因" class="headerlink" title="起因"></a>起因</h2><p>这件事的开端有些离奇,Y7n05h 在完成 Leetcode 题目 <a href="https://leetcode-cn.com/problems/lru-cache">LRU Cache</a> 时写出了这样的代码:</p>
<figure class="highlight c++"><table><tr><td class="gu
MatrixOne 开发感悟
https://blog.y7n05h.dev/MatrixOneExp/
2022-03-14T00:00:00.000Z
2022-03-14T00:00:00.000Z
<h2 id="初识"><a href="#初识" class="headerlink" title="初识"></a>初识</h2><p>这里也还没听说过 MatrixOne 的读者介绍一下:</p>
<blockquote>
<p>MatrixOne is a future-oriented hyper-converged cloud and edge native DBMS that supports transactional, analytical, and str
真正的异步--io_uring 闲谈
https://blog.y7n05h.dev/io-uring/
2022-01-04T00:00:00.000Z
2022-01-04T00:00:00.000Z
<h2 id="历史的接口"><a href="#历史的接口" class="headerlink" title="历史的接口"></a>历史的接口</h2><p>IO 一直是件麻烦事.对冯诺依曼模型的计算机来说,IO 可以说是计算的开始和结束.因此 IO 十分麻烦,但异常重要.<br>高效的 IO 方式,是构建高效的应用程序必不可少的,更是计算机科学家与工程师们一直探讨的话题.</p>
<p>在本文中,笔者将简要的回顾 Linux Kernel 已有的 IO 接口.</p>
使用 Btrfs 文件系统快照
https://blog.y7n05h.dev/Btrfs/
2021-11-29T00:00:00.000Z
2021-11-29T00:00:00.000Z
<p>和其他的 ArchLinux 的用户一样,Y7n05h 也很热衷于尝试一些有趣且实用的技术.</p>
<p>Btrfs 早就因 Cow、透明压缩和子卷管理让 Y7n05h 感到心动.在此早在本文写作的 1 年之前,Y7n05h 就尝试过了 Btrfs 这一 Linux Kernel 的源码树内 fs.<br>当时 Y7n05h 只是浅层次的使用 btrfs(btrfs 具有而 xfs 没有的功能 Y7n05h 没用到),到了现在 Y7n05h 也尝试过了 btrfs 的
LinuxKernel-list.h 源码不完全分析
https://blog.y7n05h.dev/LinuxKernel-list/
2021-11-13T00:00:00.000Z
2021-11-13T00:00:00.000Z
<p>有一段时间没认真写博客了,没能一直坚持着,实在让 Y7n05h 感到惭愧,所以今天写出本文也算是补救一下吧.</p>
<p><strong>info</strong><br><strong>License</strong><br>本文引用了部分来自 <a href="http://kernel.org/"><code>Linux Kernel</code></a> 的源码,源码取自 LinuxKernel v2.6.34 基于 <a href="https://gith
gyctf_2020_signin
https://blog.y7n05h.dev/gyctf-2020-signin/
2021-11-13T00:00:00.000Z
2021-11-13T00:00:00.000Z
<p><strong>info</strong><br><strong>License</strong><br>本文引用了部分来自 <a href="https://www.gnu.org/software/libc/"><code>GNU C Library</code></a> 的源码,源码取自 <code>GNU C Library</code> 基于 <a href="https://www.gnu.org/licenses/">LGPLv2.1</a>.</p>
<
WriteUp-长安杯2021-决赛 AWD-nowaypwn
https://blog.y7n05h.dev/%E9%95%BF%E5%AE%89%E6%9D%AF2021-nowaypwn/
2021-10-20T00:00:00.000Z
2021-10-20T00:00:00.000Z
<p>Y7n05h 非常激动能有机会(虽然是以替补的身份)参加长安杯 2021 决赛.这是 Y7n05h 第一次参加 CTF 线下赛,因为缺少经验,Y7n05h 犯了不少错误.在本文中,Y7n05h 将复盘比赛时的行为.<br>同时也感谢「摸一把」战队的大师傅,指出了 Y7n05h 的指点.<br>在 AWD 赛制中,Y7n05h 对没有做出这道 nowaypwn 十分的遗憾.</p>
<p>现在就让 Y7n05h 重新审视一下这道题目,看看它究竟考察了什么吧.</p>
<p
「不一样的 flag」 题解
https://blog.y7n05h.dev/%E4%B8%8D%E4%B8%80%E6%A0%B7%E7%9A%84flag/
2021-10-17T00:00:00.000Z
2021-10-17T00:00:00.000Z
<h2 id="不一样的flag"><a href="#不一样的flag" class="headerlink" title="不一样的flag"></a>不一样的flag</h2><p><strong>info</strong><br><strong>题目来源</strong><br><a href="https://buuoj.cn/challenges#不一样的flag">不一样的flag</a>.</p>
<h3 id="解题过程"><a href="#解题过程" c
WriteUp-长安杯2021-baigei
https://blog.y7n05h.dev/%E9%95%BF%E5%AE%89%E6%9D%AF2021-baigei/
2021-10-13T00:00:00.000Z
2021-10-13T00:00:00.000Z
<p><strong>warning</strong><br><strong>免责声明</strong></p>
<p>本文所述 <strong>PWN</strong> 均属 CTF(Capture The Flag)参赛行为或赛前训练行为.笔者所 <strong>PWN</strong> 的对象均为 CTF 比赛或练习中平台方提供的靶机.<br>本文意在分享网络安全与 CTF 相关技术与技巧,共同提升实力.<br>请本文读者谨记相关法律法规与政策.读者需为自身行为承担相应
信号与栈-SROP 原理分析
https://blog.y7n05h.dev/SignalAndStack/
2021-09-13T00:00:00.000Z
2021-09-13T00:00:00.000Z
<p><strong>warning</strong><br><strong>免责声明</strong></p>
<p>本文所述 <strong>PWN</strong> 均属 CTF(Capture The Flag)参赛行为或赛前训练行为.笔者所 <strong>PWN</strong> 的对象均为 CTF 比赛或练习中平台方提供的靶机.<br>本文意在分享网络安全与 CTF 相关技术与技巧,共同提升实力.<br>请本文读者谨记相关法律法规与政策.读者需为自身行为承担相应
Arch Linux 安装指引
https://blog.y7n05h.dev/ArchLinuxInstallationGuide/
2021-09-01T00:00:00.000Z
2021-11-04T00:00:00.000Z
Arch Linux,GNU/Linux
Bitset 和字节序
https://blog.y7n05h.dev/BitsetAndEndianness/
2021-09-01T00:00:00.000Z
2021-09-01T00:00:00.000Z
<h2 id="Bitset-和字节序"><a href="#Bitset-和字节序" class="headerlink" title="Bitset 和字节序"></a>Bitset 和字节序</h2><p>近日,笔者希望通过 Bitset 来完成部分繁琐的 bit 级 io 操作,在测试后发现 Bitset 与自己所想有较大的落差.最为重要的问题在于 Bitset 会受到字节序的影响.</p>
<h3 id="字节序"><a href="#字节序" class="hea
C/C++ 调试工具
https://blog.y7n05h.dev/CPPDebugTools/
2021-09-01T00:00:00.000Z
2021-09-01T00:00:00.000Z
<p>众所周知,计算机程序在开发过程中不出现 <code>Bugs</code> 是困难的,随着程序设计的日益复杂,「Bug Free」也才成为了一种可贵的能力.「Bug Free」通常是困难的,也离不开长期努力的学习和练习.期待先达成「Bug Free」,再开始写程序是不切实际的幻想,Bugs 又必须修复,故此才体现了调试的价值.</p>
<h2 id="Lint"><a href="#Lint" class="headerlink" title="Lint"></a>Li
「GKCTF X DASCTF应急挑战杯」 Random
https://blog.y7n05h.dev/random/
2021-09-01T00:00:00.000Z
2021-09-01T00:00:00.000Z
<h2 id="Random"><a href="#Random" class="headerlink" title="Random"></a>Random</h2><p>解压题目提供的压缩包,得到了出题人给出的 Python 脚本.其中使用写打开 <code>Random.txt</code> 文件并在其中填充由 Python 的 Random 模块生成的随机数据.</p>
<p>众所周知,在编程中通常使用的是伪随机数, Python 的 Random 模块生成的伪随机数可
数论初探--从同余到 RSA
https://blog.y7n05h.dev/%E6%95%B0%E8%AE%BA%E5%88%9D%E6%8E%A2/
2021-09-01T00:00:00.000Z
2021-09-01T00:00:00.000Z
<h2 id="数论初探—从同余到-RSA"><a href="#数论初探—从同余到-RSA" class="headerlink" title="数论初探—从同余到 RSA"></a>数论初探—从同余到 RSA</h2><p><strong>secondary</strong></p>
<p><strong>致谢</strong></p>
<ul>
<li>感谢李老师指出本文关于欧拉函数积性的说明中 $\varphi(ab)=\varphi(a)\cdot\varphi(b
C/C++ 代码检测工具
https://blog.y7n05h.dev/cpptest/
2021-09-01T00:00:00.000Z
2021-09-01T00:00:00.000Z
<p>在 <a href="/CPPDebugTools">上文</a> 中,笔者简单的介绍了 C/C++ 检测与调试常用的工具,在本文中,笔者将测试</p>
<ul>
<li>clang-tidy</li>
<li>cppcheck</li>
<li>AddressSanitizer</li>
<li>valgrind memcheck</li>
</ul>
<p>这 4 种工具,在笔者故意编造的简单的 C 语言代码中的常见错误中的表现情况.</p>
<p>笔者进行测试的环
x86_64函数调用
https://blog.y7n05h.dev/x86-64%E5%87%BD%E6%95%B0%E8%B0%83%E7%94%A8/
2021-09-01T00:00:00.000Z
2021-09-01T00:00:00.000Z
<h2 id="x86-64-函数调用"><a href="#x86-64-函数调用" class="headerlink" title="x86_64 函数调用"></a>x86_64 函数调用</h2><p>本文将讨论 x86_64 平台的函数调用过程,简要介绍部分常见的调用约定.阅读本文需要读者对 x86_64 汇编语言有一些基本的了解.</p>
<p>本文只讨论「长度不大于 64 bit 的整数类型」与「指针类型」作为函数参数、返回值时传递的方式,不涉及「长度大于 6