Adding encryption "pass" to back-end

Hi everyone,

I’m currently working with LLVM on a project about code obfuscation. My goal is to add an encryption “pass” to the back-end in order to obtain an encrypted executable.

I’ve been looking around the linker, especially the “-post-link-opt” option, as I feel the encryption has to be done at the last moment.

But I am not experienced with LLVM, nor executable encryption, I was wondering if you guys knew a bit of the subject. It’s not very common but maybe something has already been done in this direction.

Any ideas/comments/advices very welcome !

Thanks and regards,

Serge