利用Google Speech自动视频字幕
ELF-from-hex2
Posted on
Edited on
之前写过一篇关于如何手写最小ELF的文章。但偶然间在油管上发现了一个很好的视频,参考文末链接。
可以进一步缩小ELF文件。大概思路是:
- 将之前64bit的文件改写成32bit
- 整个e_ident部分是可以被覆盖的
- e_shoff e_flags e_ehsize e_shnum e_shstrndx p_flags 是可以去掉的。
- 代码段一堆放不下,是可以用JMP跳转的
怎样精确计算CPU频率
Intel指令AMX_TMUL
一个可读可写的procfs模板,基于kernel-5.12
Posted on
Edited on
一个最简单的内核模块,其中创建一个最简单的可读可写的proc fs的模板,供大家参考和备忘。
首先创建一个文件,或者干脆把新模块文件放在<linux source>/fs/proc/
文件夹中,命名debug_sy.c
1 | #include <linux/module.h> /* Specifically, a module */ |
创建一个mini内核
Posted on
Edited on
由浅入深CrosVM(五)—— Crosvm的开发和调试
创建mini虚拟机镜像
ELF可执行文件详解
本文我们来一起探索下ELF的真容。我们将尝试从头开始以十六进制生成Linux的”Hello world”程序。为了讲解最底层的ELF原理,我们这里尽量不使用gcc,ld等编译工具。希望通过本文,让读者对操作系统如何加载和运行程序的原理有所了解。
为了使生活更轻松,本文将仅关注一种体系结构:AMD64(x64)和一种操作系统Linux。不需要编译器、链接器甚至标准库。我们创建最简单的ELF可执行程序,直接使用系统调用。我将详细介绍并描述所有“源代码”,即十六进制的文件。然后使用工具’xxd’将其转换为二进制文件。