3 ms·
So, what does the word “static” mean in this context, that the binary’s behavior does not change?
by jitl 9y ago
So, what does the word “static” mean in this context, that the binary’s behavior does not change?
- waterhouse 9y agoI 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.
- moyix 9y agoThis 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.
- detaro 9y agoSame 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)