Invoke is Too High Level (2018)
xlogicx.net
Invoke is Too High Level (2018)
1–8 of 8 posts
Re: Invoke is Too High Level (2018)
#2Re: Invoke is Too High Level (2018)
#3Is the problem merely that they don't like how the strings are inlined in the code section? (Where else would you put it? Automagically putting them in the data section would also be non-obvious). Or is the problem that they think invoke should error out if the parameter is not an integral type that can be a directly pushed? Or is the problem with macro assemblers and high-level features in general?
The reason for such a macro is because it makes calling Windows functions more similar to how they are documented. I think it's still possible to use an assembler yet want such a macro for common uses (like calling Windows functions).
Re: Invoke is Too High Level (2018)
#4This sounds like a pretty weird thing to complain about (especially coming from the reversing direction). Is the problem merely that they don't like how the strings are inlined in the code section? (Where else would you put it? Automagically putting them in the data section would also be non-obvious). Or is the problem that they think invoke should error out if the parameter is not an integral type that can be a dire…
Re: Invoke is Too High Level (2018)
#5This sounds like a pretty weird thing to complain about (especially coming from the reversing direction). Is the problem merely that they don't like how the strings are inlined in the code section? (Where else would you put it? Automagically putting them in the data section would also be non-obvious). Or is the problem that they think invoke should error out if the parameter is not an integral type that can be a dire…
It sounds like the real problem is that the debugger (windbg) isn't smart enough to handle inline strings. If they had used a more powerful debugger they wouldn't have been confused enough to write a blog post about it.
Re: Invoke is Too High Level (2018)
#6Earlier quoted context omitted.
It sounds like the real problem is that the debugger (windbg) isn't smart enough to handle inline strings. If they had used a more powerful debugger they wouldn't have been confused enough to write a blog post about it.
Do inline strings even truly exist in assembly?
Re: Invoke is Too High Level (2018)
#7This sounds like a pretty weird thing to complain about (especially coming from the reversing direction). Is the problem merely that they don't like how the strings are inlined in the code section? (Where else would you put it? Automagically putting them in the data section would also be non-obvious). Or is the problem that they think invoke should error out if the parameter is not an integral type that can be a dire…
Re: Invoke is Too High Level (2018)
#8Nasty. I love it.
What is the rationale for doing this, rather than putting the strings in the rodata section or whatever they have in PE files, and pushing addresses as immediates?
Do the strings end up in the instruction cache? They are never interpreted as instructions, but they will be on the same cache lines as real instructions.