This transformation replaces a function call with the body of the function. Here is an example script:
tigress --Seed=0 --Statistics=0 --Verbosity=0 --Environment=x86_64:Darwin:Clang:5.1 \
--Transform=InitEntropy --Functions=main --InitEntropyKinds=vars \
--Transform=InitOpaque --Functions=main --InitOpaqueStructs=list \
--Transform=Inline \
--Functions=foo,bar \
--InlineKeepFunctions=bar \
test1.c --out=obf.c
Recursive functions and functions with variable number of arguments cannot be inlined.
Option | Arguments | Description |
---|---|---|
--Transform | Inline | Replace the functions calls with the body of the function. Delete the functions after done inlining. |
--InlineKeepFunctions | String,String,... | Do not delete these functions after inlining. Default=NONE. |
--InlineDumpCallGraph | BOOLSPEC | Save the callgraph as a .dot file. Default=False. |
--InlineOptimizeKinds | constProp, copyProp, mergeLocals, gotos | List of optimizing transformations to apply Default=NONE.
|