这里我显示的指令序列不是很全,其实他指令序列里面应该还包含了那些其他寄存器的,这个指令序列在实践中是非常有用的,它可以在用在脱壳中,比如说我们想判断什么时候到达壳的入口点,或者说在去虚拟化,去vmp虚拟化当中它也能用,我们假设我们...
之前有了解过一点点VMP的虚拟机,其中存在一种混淆机制,就是在执行之后将虚拟机的寄存器轮转,这样每个指令的寄存器就不一样了,极大的增加了数据流分析的难度。可能理解有点问题,但是这种思想也可以应用于源码级混淆。所以我就基于LLVM实现了一种变量轮转的混淆方式,发现能够能够阻碍数据流分析,迷惑看代码的人。 在...
图 4 虚假控制流示意 Figure 4 Illustration of bogus control flow 基于浮点数类型转换和运算的不透明谓词混 淆算法如算法 1 所示. 算法 1 基于浮点数类型转换和运算的不透 明谓词混淆算法 输入 待混淆的 LLVM 中间代码 target_code 输出 混淆后的 LLVM 中间代码 result_code 开始 1) Add_Array={...