>>I wonder whether running this one-pass program (defoxiv_9.exe) on the final executable is enough?
IMHO you should obfuscate as well. No matter how good the encryption may be, in the end it has to run unencrypted so a determined hacker will be able to figure out how that happens. Obfuscation seriously reduces the value of what they can get.
I have not reviewed Leonid's new obfuscation but certainly I like the decomposition offered by VC. If your code segment has CASE and IF statements, VC can decompose so ferociously that it can overwhelm the C++ compiler! The result is so horrible that IMHO a hacker must be willing to invest in the hundreds of thousands of dollars to reproduce useful source.
"... They ne'er cared for us
yet: suffer us to famish, and their store-houses
crammed with grain; make edicts for usury, to
support usurers; repeal daily any wholesome act
established against the rich, and provide more
piercing statutes daily, to chain up and restrain
the poor. If the wars eat us not up, they will; and
there's all the love they bear us."
-- Shakespeare: Coriolanus, Act 1, scene 1