-
Notifications
You must be signed in to change notification settings - Fork 142
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Function parameters are reported, but not the name #14
Comments
The reason of this behavior is, the tags (including the called function name) are produced by the function Line 98 in ae72aa3
which takes as an argument EIP from where the function was called. This EIP is then checked against the list of the traced shellcodes. If the EIP is within the traced area, the call is logged. On the other hand, the arguments trace is produced by the function Lines 398 to 427 in ae72aa3
where not the call EIP is passed, but the return EIP: RTN_InsertCall(funcRtn, IPOINT_BEFORE, AFUNPTR(LogFunctionArgs),
IARG_RETURN_IP,
IARG_ADDRINT, fName, The inserted function will be used as a callback when the execution entered into the monitored function. Pin provides no way to pass the EIP of the line that executed the call, only the EIP where it will return. So, in the situation where the call was made not from the EIP that is within the trace shellcode, but yet it returns to the traced shellcode, the parameters will be logged, but not the origin. Example:
It happens because the call is implemented by CALL-JMP: 0CBE3704 | E8 A792FFFF | call <JMP.&InternetOpenA> | and the jump table is in another allocated region: 0CBDC9B0 | FF25 CC72BE0C | jmp dword ptr ds:[<&InternetOpenA>] | JMP.&InternetOpenA |
After the changes, if the call is done from an untraced shellcode, but it returns to the traced area, the return will be logged.
If we enable tracing all the shellcodes (i.e.
|
In case if a function has parameter tracking enabled, but it is called from a shellcode that is not traced, its parameters are reported, but not the name.
Example:
Used settings:
TinyTracer.ini
params.txt
Sample:
The text was updated successfully, but these errors were encountered: