Я хочу собрать модуль ядра для чтения содержимого памяти (ram) после перезагрузки. Как определить адреса или диапазоны памяти, которые я могу прочитать и которые не используются системой.
- ЦП: 64-разрядная ARMv8-A, ОЗУ: 4 ГБ
Мой код:
#include <linux/module.h>
#include <linux/kernel.h>
int init_module(void)
{
long start_addr;
long end_addr;
long *i;
long *start;
long *end ;
start_addr = 0xffffffbffc00201c; //
end_addr = 0xffffffbffc00303c; //
start= (long*)start_addr ;
end= (long*)end_addr;
for(i=start ; i <= end ; i++ ){
printk(KERN_ALERT "\nThe Address = 0x%p\n", i);
printk(KERN_ALERT "\nThe content = %lx\n", *i);
}
return 0;
}
void cleanup_module(void)
{
printk(KERN_ALERT "Goodbye world 1.\n");
}