  Code obfuscation increases the difficulty of understanding programs, improves
software security, and, in particular, OLLVM offers the possibility of
cross-platform code obfuscation. For OLLVM, we provide enhanced solutions for
control flow obfuscation and identifier obfuscation. First, we propose the
nested switch obfuscation scheme and the in-degree obfuscation for bogus blocks
in the control flow obfuscation. Secondly, the identifier obfuscation scheme is
presented in the LLVM layer to fill the gap of OLLVM at this level. Finally, we
experimentally verify the enhancement effect of the control flow method and the
identifier obfuscation effect and prove that the program's security can be
further improved with less overhead, providing higher software security.
