gpt4 book ai didi

linux-kernel - 如何确定 Linux 内核 'uImage' 的构建/版本?

转载 作者:行者123 更新时间:2023-12-03 18:18:26 25 4
gpt4 key购买 nike

我正在尝试追踪内核二进制文件; 有没有办法确定 Linux 'uImage' 二进制文件的版本(构建字符串)?

运行

strings uImage

输送到各种尾随 grep陈述让我认为我正在处理压缩图像......

最佳答案

根据内核的格式规范,这里是 C 代码:

kver.c

#include <stdio.h>

int main(int argc, char** argv){
if (argc > 1){
FILE* f = fopen(argv[1], "r");
short offset = 0;
char str[128];
if(f){
fseek(f, 0x20E, SEEK_SET);
fread(&offset, 2, 1, f);
fseek(f, offset + 0x200, SEEK_SET);
fread(str, 128, 1, f);
str[127] = '\0';
printf("%s\n", str);
fclose(f);
return 0;
}else {
return 2;
}
} else {
printf("use: kver [kernel image file]\n");
return 1;
}
}

编译并运行:
gcc -o kver kver.c
./kver /boot/vmlinux-something

关于linux-kernel - 如何确定 Linux 内核 'uImage' 的构建/版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3180029/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com