C++ write(); 反向写入给定的字节值

C++ write(); writes given byte value in reverse

本文关键字:字节 write C++      更新时间:2023-10-16

目前正在编写一个程序,该程序打开一个文件,移动到给定的偏移量,然后更改偏移量的字节。

这是代码:

void write(int offset, int modifiedBytes) {
fstream Binary("path/to/file");
if(!Binary) {
cout << "File not found!";
}
Binary.seekg(offset); //Go to given position from the given binary file
Binary.write((char *)&modifiedBytes,4); //put modified bytes into the given position from above
}

然后我有一个单独的函数,如果需要,可以向其添加乘法内容:

void doInjection() {
write(0xfe,0x7047); //write 7047 to 0xfe
}

虽然它确实写入给定文件,但它反向写入7047(4770(。

我也尝试使用put();而不是write,但这允许我只使用 2 个字节,但它没有反向写入。

有人知道为什么它会反向写入我的给定值吗?

你正在做的一切都取决于 de 机器及其架构。 此外,根据 int 的大小,它可以意外地工作,这取决于 CPU 架构。

看看字节序