我是新手内核编码员,目前正在处理已经为安全目的稍作修改的ELF文件。我需要查看其中一些自定义节头并从中提取唯一的代码加密密钥,以便CPU解密修改后的ELF内容。
目前,上述逻辑已在内核源树中的
编辑:总之,我正在寻找制作可加载内核模块的方法,以读取ELF的各个部分并获取包含加密密钥和相关元数据的自定义部分的内容,并将这些值设置在CPU寄存器中。
目前,上述逻辑已在内核源树中的
fs/binfmt_elf.c
文件中的load_elf_binary
函数中实现,但仅涉及大约250行代码更改,因此我希望通过将其实现为可加载内核模块(LKM)来改进此功能,以便每次加载ELF时都会检查它是否是修改后的ELF,如果是,则从相应的部分提取密钥。编辑:总之,我正在寻找制作可加载内核模块的方法,以读取ELF的各个部分并获取包含加密密钥和相关元数据的自定义部分的内容,并将这些值设置在CPU寄存器中。
Docuementation/kprobes.txt
,因为我正在通过这个内核模块设置一些 CPU 寄存器的值,所以我想kretprobe
应该是最好的选择,对吧? - bawejakunal