我想在每一個二進制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倍的原始可執行文件)。我想我沒有使用正確的編譯器選項。這將是巨大的,如果你能添加無害無條件分支低的儀器開銷提供一些指引。