Interceptar o carregador ELF no kernel do linux: arquivo fs / binfmt_elf.c via módulo carregável do kernel

Eu sou novo na codificação do kernel e, atualmente, estou trabalhando com arquivos ELF que foram modificados um pouco para fins de segurança, para os quais preciso examinar alguns dos cabeçalhos de seção personalizados e extrair a chave de criptografia de código exclusiva para o arquivo CPU para descriptografar o conteúdo do ELF modificado.

Atualmente, a lógica acima foi implementada dentro doload_elf_binary função nofs/binfmt_elf.c na árvore de origem do kernel, no entanto, são apenas cerca de 250 linhas de alteração de código para as quais eu preciso recompilar todo o kernel, por isso estou procurando improvisar essa funcionalidade implementando-a como um módulo de kernel carregável (LKM) para que sempre Quando um ELF é carregado, ele verifica se é o ELF modificado ou não e, se for, extende a chave da seção correspondente.

EDIT: Para resumir, estou tentando criar um módulo do kernel carregável para ler as seções de um ELF e buscar o conteúdo de uma seção personalizada que contém a chave de criptografia e os metadados relacionados e definir esses valores nos registros da CPU.

questionAnswers(1)

yourAnswerToTheQuestion