【发布时间】:2015-11-26 12:16:21
【问题描述】:
如果不满足某些条件,我想通过跳转到随机位置来使程序崩溃。我也想通过像
这样的语句来随机化寄存器asm("rdtsc \n");
asm ("movq %rax, %r15 \n");
...
asm ("xor %rbp, %r13 \n");
...
有没有更好/更隐蔽的方法来做到这一点?我很担心,因为rdtsc 不是程序中经常出现的语句。调用它也会不断产生类似的结果。除此之外,我还能以某种方式清除/随机化堆栈内容吗?
【问题讨论】:
-
制作一个堆栈展开代码,在每个级别随机化堆栈帧...
标签: c gcc assembly 64-bit inline-assembly