I saw the ADVobfuscator
project which has a finite state machine obfuscation for function calls. However, this functionality requires Boost
which I cannot use for a certain project. Is there a standard C++
way of writing templates to obfuscate arbritrary function calls in a similar fashion as this library? Or maybe any hints towards accomplishing this?
function_to_protect("did", "again");
OBFUSCATED_CALL(function_to_protect, "did", "again");
The goal is that calls/references to the protected function/library do not show up in disassemblers like IDA Pro
or Ghidra
.
See these slides for illustration.
I do not want to define struct
s or function wrappers similar to this answer since it's far less elegant than wrapping calls into a macro
. Plus, the references to the functions still show up at initialization.