ILD

Modifying binary during execution
作者:Yuan Jianpeng 邮箱:yuanjp89@163.com
发布时间:2022-9-24 站点:Inside Linux Development

当进程运行的时候,ld.so 将可执行文件和共享库mmap到进程的虚拟地址空间。只有当一个page被访问的时候,才会加载到内存。

所以不是一下就立即加载的。


mmap之后,是不能修改文件的,尝试修改将返回Text file busy。

[yuanjianpeng@fedora test]$ ./a.out &
[2] 59437
[yuanjianpeng@fedora test]$ > a.out
-bash: a.out: Text file busy


但是可以删除文件,此时inode隐藏。



https://unix.stackexchange.com/questions/187931/modifying-binary-during-execution

https://stackoverflow.com/questions/8506865/when-a-binary-file-runs-does-it-copy-its-entire-binary-data-into-memory-at-once


Copyright © linuxdev.cc 2017-2024. Some Rights Reserved.