3 ms·
TIL (today I learned): It appears a 'diversifying C virtualizer' is an application that takes C source code, compiles it to an AST and transforms it to bytecode
by marktangotango 12y ago
TIL (today I learned): It appears a 'diversifying C virtualizer' is an application that takes C source code, compiles it to an AST and transforms it to bytecode, and inserts a bytecode interpreter in place of the function. It can generate many different such bytecode/interpreter representations of a function, thus making it more of a challenge for crackers.
- tptacek 12y agoThat same approach, obviously, works for lots of different languages. Not just C. You can even do it at the level of raw algorithms, transforming (for instance) a block cipher implementation that accepts a key as a parameter into one specialized on a specific key and from which the key is (H)ard to extract.
- v0i0-0 12y agoCould you maybe point me to such one tool, i.e. one that specializes routines for given parameters. Will these tools also perform optimizations that might be possible if the specialization took place?