I am writing a program that runs through pintools, to perform dynamic taint analysis and am stuck with an issue. The problem is, when a user provides data to the program through say, scanf or gets or any such function, it boils down to a low level read() and I can find the data provided by the user through instrumenting system calls and finding those system calls that perform a read() and eventually getting the data by looking at the parameters and return value pf the read() sys call ! Whereas, if the data is provided by the user as a commandline argument, I don’t see it boiling down to a read() system call and am not sure how to get that data ! Any information regarding this would be helpful. Kindly, let me know if you need further information or if I have been ambiguous in my issue description ?
Thank you for your time.
If I understand what you’re trying to do, you should be able to see the command line arguments by tracing the sys call for
execve().