-
Notifications
You must be signed in to change notification settings - Fork 539
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
regression on ALIGNED_MEMORY with manual symbolization #889
Comments
Erf.... Thanks for this report @PixelRick. I will try to fix this issue asap (probably monday) |
I cannot wait until Monday... |
Can you tel me if it works on your side? @fvrmatteo can you also test on your programs? |
Looking into it, I realized that in assignSymbolicExpressionToMemory the split in byte refs happens on the given expression's node instead of a reference node to the given expression. Is it intended this way ? If the answer is "not necessarily", what do you think about having the split happen on a reference to the SE of the full memory access (created or given) in the 3 related methods ? As for which SEs are referenced in the instructions, if we have the aligned SE instead of the per byte ones then the nodes retrieved through getMemoryAst are ensured to always contain a reference to it. Necessary for backward slicing if I'm not missing something there.. edit: I cherry picked the commit onto my branch and it's working again. |
Thanks, I think I will release a |
I'm closing this as it's fixed but I keep in mind that could do a potential refactoring for the |
Sorry for the delay @JonathanSalwan, I've been super busy, but I finally managed to test the fix using Triton on my tools and I can confirm that the issue I had with that same commit is now fixed with this |
Aligned memory optimization is no longer working in API::createSymbolicMemoryExpression and API::symbolizeMemory since e6122cc.
In these methods the symbolic expressions created specifically for the aligned memory map only rely on the map itself to stay alive, but they no longer can:
The text was updated successfully, but these errors were encountered: