Getting decompilation to display strings assigned via SIMD instruction #6925
-
How does one get the decomplication to to display strings when SIMD instructions like MOVUPS/MOVAPS are used to assign the string? For example, in the screenshot below, we can see in the assembly that the data is defined as a unicode string but the decompilation doesn't display the string: Relevant as well: https://reverseengineering.stackexchange.com/questions/24974/how-to-improve-ghidra-decompilation-of-sse-instructions |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 4 replies
-
Beta Was this translation helpful? Give feedback.
-
In the latest Ghidra 11.2, which should be released in a few days, and the main branch, the decompiler now recovers stack strings and there is initial support for optimized heap strings. The implementation may require more work for strings built using SIMD registers, however it might work for your case. |
Beta Was this translation helpful? Give feedback.
-
I think detecting the type of the variable from the string already created in memory would be a worthwhile change. I can't speak to how easy that change would be. I've created an issue from the discussion #6985. Feel free to augment the issue. I've also put in an internal ticket to consider using the fact that a string has been defined in memory that is being loaded into the SIMD register. |
Beta Was this translation helpful? Give feedback.
In the latest Ghidra 11.2, which should be released in a few days, and the main branch, the decompiler now recovers stack strings and there is initial support for optimized heap strings. The implementation may require more work for strings built using SIMD registers, however it might work for your case.