我想在每一个二进制JMP般的指令后添加无害unconditional branches
,以确保告吹分支可以观察到,当我们请的执行分支指令记录使用英特尔的Last Branch Record
。像这样的代码:添加JMP指令
if(a==0){
f1();
}
else{
f2();
}
当执行else
部分,一个jne
指令可能会被执行。但是,没有jmp-related
指令观察到if
部分被执行。
- 是否有工具来静态地二进制级别或源级添加的条件语句这些
unconditional jmp
说明? - 我尝试使用
TestCocoon
这样的:csgcc --cs-branch -g test.c
但是,仪表开销是相当高(约3倍的原始可执行文件)。我想我没有使用正确的编译器选项。这将是巨大的,如果你能添加无害无条件分支低的仪器开销提供一些指引。