Re:A static binary rewriter that does not use heuristics
by resoluteteeth on Saturday May 12, 2018 @03:41PM
(#17055653)
It does not appear that "static binary rewriter" in this context means that it turns dynamically linked binaries into statically linked binaries, so probably not.
[ Parent
| on HN ]
Re:A static binary rewriter that does not use heuristics
by jitl on Saturday May 12, 2018 @04:58PM
(#17055968)
So, what does the word “static” mean in this context, that the binary’s behavior does not change?
Re:A static binary rewriter that does not use heuristics
by detaro on Saturday May 12, 2018 @05:11PM
(#17056030)
Same meaning as in a "static analyzer" for code quality: it works without executing the target program. (whereas a dynamic rewriter could run the application under debugger control, observe its behavior, extract additional meaning from that and make changes on-the-fly)
Re:A static binary rewriter that does not use heuristics
by waterhouse on Saturday May 12, 2018 @05:07PM
(#17056008)
I imagine it means that it takes the binary file, generates a new binary file, and is done, as opposed to rewriting things at runtime or needing profiling information from a prior run of the binary.
Re:A static binary rewriter that does not use heuristics
by moyix on Saturday May 12, 2018 @06:39PM
(#17056399)
This is correct. Specifically, there's a category of tool called "dynamic binary translators" (including Pin, DynamoRIO, Valgrind, and QEMU) that translate binary code one block at a time, just before it's executed.