Assembly 在运行时自动打开的可执行文件

Assembly 在运行时自动打开的可执行文件,assembly,elf,Assembly,Elf,我在汇编中编写了一段代码,试图打开一个名为“Main”的文件(使用开放系统调用),并将其第一位更改为0 我编译了它,并将最终的可执行文件命名为“Main”。我的目标是在运行时更改可执行文件“Main” 但是,在调用开放系统调用之后,我得到了一个否定的文件描述符,这意味着打开失败 我是否做错了什么,或者无法要求可执行文件打开自身?执行程序时,无法修改可执行文件(它已被系统锁定)。你尝试一些不可能的事情 但是,在调用开放系统调用之后,我得到了一个否定的文件描述符 执行开放系统调用的汇编代码可能不正确

我在汇编中编写了一段代码,试图打开一个名为“Main”的文件(使用开放系统调用),并将其第一位更改为0

我编译了它,并将最终的可执行文件命名为“Main”。我的目标是在运行时更改可执行文件“Main”

但是,在调用开放系统调用之后,我得到了一个否定的文件描述符,这意味着打开失败


我是否做错了什么,或者无法要求可执行文件打开自身?

执行程序时,无法修改可执行文件(它已被系统锁定)。你尝试一些不可能的事情

但是,在调用开放系统调用之后,我得到了一个否定的文件描述符

执行开放系统调用的汇编代码可能不正确

另一种可能的情况是,您有类似的内容,并且该策略实际上禁止写入可执行文件

strace
(或操作系统的等效程序)下运行程序,查看开放系统调用返回的错误。

“它被系统锁定”在我知道的所有
ELF
系统上都是错误的(HP-UX可能不太可能使用)。