OLLVM指令替换
常见的替换方式:
a = b - (-c)
a = -(-b + (-c))
r = rand (); a = b + r; a = a + c; a = a - r
r = rand (); a = b - r; a = a + b; a = a +
OLLVM虚假控制流程
IDA分析特征:
x、y开头的全局变量,未初始化(一般是LDR加载),但被IDA识别成可能有值。
IDA查看Exports导出函数时,会看到很多x、y开头的全局变量,可以帮助我们分析。
参考
https://github.com/obfuscator-llvm/obfuscator/wiki/Instructions-Substitution
https://github.com/obfuscator-llvm/obfuscator/wiki/Bogus-Control-Flow