- 博客(5)
- 收藏
- 关注
原创 写着写着就从执行命令到内核execve源码分析了
``C```我们直接跳到最后来看它是如何替换进程空间的,这里面牵扯的知识太多、我只能做一些简单的介绍,写得不好欢迎指正。在新的程序执行之前会有许多的前置工作,检查当前的进程、用户线程是否超过限制。binprm结构用于保存加载二进制文件时使用的参数。例如,它包含vm_area_struct,表示将在给定地址空间中连续间隔内的单个内存区域,将在该空间中加载应用程序。mm字段,它是二进制文件的内存描述符,指向内存顶部的指针以及许多其他不同的字段。``````
2023-10-19 16:01:36
97
1
原创 深入理解 Cilium 的 eBPF 收发包路径(datapath)
本文翻译DigitalOcean 的工程师 Nate Sweet 在 KubeCon 的一篇分享。
2023-10-18 17:49:21
197
1
原创 手把手教你写一个rdp的静态虚拟通道
虚拟通道的能力拓展是在RDP协议的协商阶段进行announce的,这部分在BCGR那一部分文档介绍的比较清楚、MCS就是Multi-Channel Support,RDP协议有许多通道拓展,例如RDPDR、RDPEI、RDPCLIRDR等,MCS通过使用多通道(channels)来实现,每个通道可以处理特定类型的数据传输。虚拟动态通道可以随时创建和销毁,并且静态虚拟通道是依赖于静态通道来进行建立的。另外RDP协议也留给了开发者一些接口、这样我们就能开发自己的拓展通道了。
2023-09-15 16:52:26
432
原创 vscode中配置基于cmake的clangd开发环境
vscode自带的C/C++工具实在是有些不友好,经常开发的时候找不到头文件,导致代码跳转和补全功能都有问题,于是乎决定抛弃Microsoft C/C++转向Clangd,配合clang-format来格式化代码。两者都是基于LLVM开发的插件,接下来让我看如何配置吧。至于如何安装这些插件这里就不多做赘述,相信使用过vscode的同学都已经熟悉了,接下来我们第一步首先来写cmake文件来开启clangd的功能。
2023-07-10 18:20:44
1913
原创 关于在OpenEuler上安装wireguard
本来很高兴国产操作系统能有一个比较跟得上时代的版本、但是OpenEuler一些蜜汁操作真是能把人搞死了,接下来讲述如何在欧拉上安装wireguard.首先你去yum查这个包,结果是这样的:不得不说欧拉官方是真的骚、他把wireguard内核模块砍掉了,然后源里面还维护着?????????当然了这是后话,看到这我还是对欧拉心怀希望的,然后我尝试手动挂载wireguard:好家伙,怎么没有这个内核module?嗯?难道没编译?可以理解,毕竟咱国产操作系统也不能全抄不是。
2023-07-10 18:19:15
965
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人