Open
Description
Stack variables can be addressed both from the base (ebp - [offset]
) and the top (esp + offset
) of the stack. Debug builds only ever use the former, while release builds use both. This causes two kinds of issues for stackcmp
:
- The top of the stack changes during the execution of a function. This is not currently accounted for, leading to misdetections (both false positives and false negatives).
- The same variable can be referenced from both the top and the bottom of the stack. These different kinds of references are not matched at the moment.