用C++编辑十六进制

Qos*_*smo 3 c++

我们假设我想要更改可执行文件的000F5344地址中的内容.我该怎么办呢?

min*_*gos 13

@Pablo Santa Cruz提供了一种很好的方式,但在C语言中.如果您更喜欢纯C++,请按以下步骤操作:

  1. 打开文件:fstream :: open(记得使用二进制标志)
  2. 设置put指针位置:fstream :: seekp
  3. 在put指针位置写入数据:fstream :: put
  4. 关闭文件:fstream :: close

但这并不比C版更好.


Pab*_*ruz 11

以下是四步解决方案:

  1. 使用二进制标志打开文件(使用fopen).
  2. 移动到地址(偏移)(使用fseek).
  3. 写下你的数据(使用fwrite).
  4. 关闭文件(使用fclose).

使用谷歌获得有关上述四个函数调用的帮助.也将在C中工作.

  • 只是为了正确,这不是fseek而不是ftell吗? (3认同)