摘要:参考资料: Playing with ptrace, Part I Playing with ptrace, Part II 这两篇文章里的代码都是在x86平台上运行的,本文中将其移植到了x86_64平台。 ptrace提供让一个进程来控制另一个进程的能力,包括检测,修改被控制进程的代码,数据,寄存
阅读全文
摘要:实验平台i386,linux kernel版本:2..6.22(之后版本原理都是一样) 首先上一副图: 首先知道cpu看到的都是虚拟地址,CR3寄存器,页表中都是存的物理地址,通过MMU把虚拟地址映射到页表中的物理地址,这幅图说的很清楚了,接下来要获取到sys_call_table在内核中的内存地址
阅读全文
摘要:instruction set to provide isolation of resources at hardware level. Since Qemu is a userspace process, the kernel treats it like other processes from
阅读全文
摘要:在Linux中,大家应该对syscall非常的了解和熟悉,其是用户态进入内核态的一种途径或者说是一种方式,完成了两个模式之间的切换; 而在虚拟环境中,有没有一种类似于syscall这种方式,能够从no root模式切换到root模式呢?答案是肯定的,KVM提供了Hypercall机制, x86体系架
阅读全文
摘要:https://chengyi818.gitbooks.io/fat-cheng-s-xv6-journey/content/LEC_21/LEC_21.html https://www.usenix.org/conference/osdi12/technical-sessions/presenta
阅读全文
摘要:The rapid pace of innovation in datacenters and the software platforms within them has transformed how companies build, deploy, and manage online appl
阅读全文
摘要:https://www.cnblogs.com/liujunjun/p/12444772.html In contrast to container, the concept Virtual Machine represents another category of isolated execut
阅读全文
摘要:https://christine.website/blog/howto-usermode-linux-2019-07-07 https://christine.website/blog/howto-usermode-linux-2019-07-07 User Mode Linux is a por
阅读全文
摘要:User Mode Linux 可以在用户态启动一个 Linux。这使我们能在类似 OpenVZ 虚拟化技术的系统上,使用最新的 Linux 内核;甚至可以在非 root 用户下启动。 但有些 OpenVZ VPS 的 TOS 可能不允许你这么做;另外,这样可能会有一定的性能损失。 准备 rootf
阅读全文
摘要:https://terassyi.net/posts/2020/04/14/gvisor.html Wenbo Shen 申文博 https://wenboshen.org/posts/2018-12-25-gvisor-inside.html System calls For Linux kern
阅读全文
摘要:以软中断或指令方式执行的系统调用,需要切换到内核空间,无论采用早期的int 0x80/iret中断,还是sysenter/sysexit指令,再到syscall/sysexit指令,是一个比较慢的操作。例如像gettimeofday()这种,若每次为了从内核读取时间值而都切换上下文的话,成本就太高了
阅读全文
摘要:curl https://mirrors.huaweicloud.com/bazel/3.7.1/bazel-3.7.1-linux-arm64 --output bazel-3.7.1-linux-arm64
阅读全文
摘要:Bazel 国内镜像源加速下载: https://mirrors.huaweicloud.com/bazel/ root@cloud:/gvisor# bazel version Build label: 3.7.1 Build target: bazel-out/aarch64-opt/bin/s
阅读全文
摘要:Go 技巧分享:Go 国内加速镜像 0 个改进 651 说明 众所周知,国内网络访问国外资源经常会出现不稳定的情况。 Go 生态系统中有着许多中国 Gopher 们无法获取的模块,比如最著名的 golang.org/x/...。并且在中国大陆从 GitHub 获取模块的速度也有点慢。 因此设置 CD
阅读全文
摘要:Monolithic Kernel 相信只要是接触过计算机的,一定对『内核』这两个字不会陌生。只要在使用电脑的时候,都离不开跟内核打交道。无论是Windows还是Linux等等,这些寻常使用的操作系统,都是用内核和管理和使用硬件的。 在这其中,最有名的是Linux Kernel,最早是由Linus实
阅读全文
摘要:https://www.cnblogs.com/longronglang/p/8453047.html 1、编辑README文件 大标题(一级标题):在文本下面加等于号,那么上方的文字就变成了大标题,等于号的个数无限制,但一定要大于0 大标题 中标题(二级标题):在文本下面加下划线,那么上方的文本就
阅读全文
摘要:When working with potentially dangerous, unverified, or simply raw software, developers often use sandboxes. These are special environments that isola
阅读全文
摘要:The web is an ugly place, and anything that touches it in any significant capacity is likely to be attacked. Programs are full of bugs and exploits, a
阅读全文
摘要:Seccomp is basic yet efficient way to filter syscalls issued by a program. It is especially useful when running untrusted third party programs. Actual
阅读全文