1

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 structs 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.

BullyWiiPlaza
  • 17,329
  • 10
  • 113
  • 185
  • You might write your [GCC plugin](https://gcc.gnu.org/onlinedocs/gccint/Plugins.html) doing obfuscation. You may need to ask your lawyer about the legality of doing so – Basile Starynkevitch Jun 26 '20 at 11:52
  • There is no standard way. What's wrong with the solution in the linked slides? – rustyx Jun 26 '20 at 14:05
  • @rustyx: Unfortunately I cannot use `Boost` on the platform I'm targetting so the solution in the slides cannot be used. – BullyWiiPlaza Jun 26 '20 at 19:42

0 Answers0