From 50dc43d90d5bb1bb61d42a0facd3272f124e5d0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20B=C3=BChler?= <david.buhler@cea.fr> Date: Mon, 25 Feb 2019 14:28:59 +0100 Subject: [PATCH] [obfuscator] Do not obfuscate functions with attribute FC_BUILTIN or fc_stdlib. Instead of all functons with no definition. --- src/plugins/obfuscator/obfuscate.ml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/plugins/obfuscator/obfuscate.ml b/src/plugins/obfuscator/obfuscate.ml index 5eb3a8bf65f..1226530bf22 100644 --- a/src/plugins/obfuscator/obfuscate.ml +++ b/src/plugins/obfuscator/obfuscate.ml @@ -87,7 +87,9 @@ class visitor = object if Cil.isFunctionType vi.vtype then try if vi.vname <> "main" - && Kernel_function.is_definition (Globals.Functions.get vi) then + && not (Cil.is_builtin vi) + && not (Cil.is_special_builtin vi.vname) + && not (Cil.hasAttribute "fc_stdlib" vi.vattr) then vi.vname <- Dictionary.fresh Obfuscator_kind.Function vi.vname with Not_found -> assert false else begin -- GitLab