4 ms·
Basically everything in Linux will create a temp file one way or another even pipes. For you to take a binary and run it directly it has to have an inode. At be
by BasedAnon 3y ago
Basically everything in Linux will create a temp file one way or another even pipes. For you to take a binary and run it directly it has to have an inode. At best you can use Python & the ctypes module to write a program into part of Python's memory and trick it into continuing execution from there.
- dietrichepp 3y agoPipes are not temp files, they’re more like kernel buffers associated with no file. When I think of temp file, I think of something that is at least associated with a filesystem. The reason that running a binary needs a file is because execve() takes a path as an argument. But, as you said, there are other ways to load code into memory.
- Denvercoder9 3y ago> Basically everything in Linux will create a temp file one way or another even pipes. pipe(2) doesn't create a file, at least not in the sense that I usually think about files (something that's accessible through the filesystem).