void get_system_map_addr( unsigned long long int in_var )
{
extern unsigned char secondary_startup_64[];
//ffffffff81000030 T secondary_startup_64
unsigned long long int g_offset, result;
printk(KERN_NOTICE "secondary_startup_64 = 0x%llx\n", secondary_startup_64 );
g_offset = secondary_startup_64;
printk(KERN_NOTICE "g_offset = 0x%llx\n", g_offset );
g_offset = g_offset - 0xffffffff81000030;
printk(KERN_NOTICE "g_offset = 0x%llx\n", g_offset );
printk(KERN_NOTICE "in_var = 0x%llx\n", in_var );
result = in_var - g_offset;
printk(KERN_NOTICE "result = %llx\n", result );
}
打印内核函数的地址 system_map
最新推荐文章于 2024-08-24 15:43:32 发布
本文介绍了一个C语言函数,用于在Linux内核中将输入变量转换为相对于secondary_startup_64的地址。通过减去固定偏移量,该函数计算并打印了调整后的地址。
3322

被折叠的 条评论
为什么被折叠?



