HikariObfuscator/Hikari

Mark obfuscated functions are no-opt accordingly

Closed this issue · 6 comments

Currently globally we rely on the user is not naive enough to pass -O3 so the aggressive DCE won't kick in. This can be fixed by adding attributes to the functions we are obfuscating instead. Similar to what we did in lib/Transforms/Obfuscation/AntiDebugging.cpp

ScaffCC use -Xclang -disable-O0-optnone -S -emit-llvm, then use opt -PASS and opt -load ScaffCC-Library -PASS separately.

True. However Xcode and similar IDEs don't provide options like this without explicitly introducing loads of scripts. So it's probably best we make it seamlessly

Is Xcode open source? hack Xcode :)

Nope. Further than that even the llvm used in Xcode is not open-source, unless you consider source from almost two years ago open

Seems like various backends still takes opt-level and ignore function attribute in some cases.
Let's not attempt to fix issues raised by idiotic programmers