gpt4 book ai didi

windows - 如何确定 Windows 10 上可执行二进制文件的体系结构

转载 作者:可可西里 更新时间:2023-11-01 14:41:45 24 4
gpt4 key购买 nike

给定 Windows 上的一些 Random.exe,我如何确定

  1. 其 CPU 架构,例如 Intel/ARM,以及
  2. 它的位数,例如 32 或 64。

我可以使用文件资源管理器、其他工具或编程方法中的属性吗?

最佳答案

可执行文件的体系结构写在 COFF header 的 Machine 字段中。您可以通过编程方式或使用十六进制编辑器手动检索它:

  • 转到文件中的偏移量 0x3C。那里的四个字节包含 COFF header 的偏移量(从文件的开头开始)。
  • 转到上述字段指向的 COFF header ,并前进四 (4) 个字节。
  • 接下来的两 (2) 个字节是 Machine 字段。

可以看到PE结构here .列出了有效的机器字段值 here .

编辑:这是一个未经测试的 C 代码:

int main(int argc, char *argv[]) {
FILE *f = fopen(argv[1], "rb");
uint32_t offset = 0;
fseek(f, 0x3c, SEEK_SET);
fread(&offset, sizeof(offset), 1, f);
fseek(f, offset + 4, SEEK_SET);
uint16_t machine = 0;
fread(&machine, sizeof(machine), 1, f);
printf("Machine: 0x%.4x\n", machine);
}

关于windows - 如何确定 Windows 10 上可执行二进制文件的体系结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54834984/

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