TOCTTOU: time of check to time of use
stat() vs. fstat()
stat() works on filenames, while fstat() works on file descriptors.
The major reason is security: if you first stat() the file and then open() it, there is a small window of time in between where the file could have been modified (or had its permissions changed, etc) or replaced with a symlink.
Single most powerful and used fuzzing tools; used by testers & attackers.
Trying different inputs to break system,
systematically.
Read more on fuzz testing.
strace and ltrace are powerful, even if the executable is read-protected.