Несогласованные значения регистров после их настройки в модуле Jprobes
Этот вопрос является продолжением моего предыдущего вопроса о перехвате загрузчика ELF.
Теперь точная проблема заключается в том, что ранее кодовая логика была реализована в рамках load_elf_binary
функция, в которой в конце функции eax, ebx, ecx and edx
регистры были установлены с помощью встроенного вызова asm, непосредственно перед возвратом функции.
Я посадил jprobe
на load_elf_binary
работать так, как мне нужно, чтобы получить доступ к struct linux_binprm *bprm
аргумент, но так как я устанавливаю значения регистра в обработчике jprobe, это вызывает несогласованность, когда элемент управления возвращается к фактической функции и приложение завершается с ошибкой сегментации.
Что может быть возможным решением этого?