在 Linux CentOS 中为 32 位程序使用 C++ 和 NASM 程序集。
我想用 C++ 打开一个文件,然后用 NASM Assembly 修改它。
我听说您可以创建一个fstream
,并将其指针作为参数发送给NASM 中的一个函数,然后您可以对该指针中的字节进行操作.
以上似乎对我不起作用,因为将指向 fstream
的指针发送到 NASM 似乎不会产生文件中的字节。我最多只能读取文件中的字节,将它们放入 char
vector 中并将其作为参数发送给我的 NASM 函数,但我在那里所做的修改不会影响文件,对吧?
我获取字节的方式是 http://www.cplusplus.com/doc/tutorial/files/ 中描述的方式,在“二进制文件”下。
如何使用 NASM 程序集读取和修改文件的字节,并使用 C++ 打开/关闭文件?
最佳答案
将文件的所有数据加载到内存中,并传递一个指向该内存的指针。完成后,简单地将(现在修改的)数据写回文件。
关于c++ - 如何使用 NASM 程序集读取和修改文件的字节,并使用 C++ 打开/关闭文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20188123/