iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 26
0
Security

CTF30系列 第 26

CTF ?: 工具介紹 - qira

qira

qira 是一個 timeless debugger

timeless debugger?

qira 的全名是 QEMU Interactive Runtime Analyzer。

如其名,qira 背後其實是用 QEMU 來執行程式。與一般的 debugger 不同的是,它可以做到 無視時間 (timeless debugger)。
一般的 debugger 是只能往後執行的,所以在 rr 等工具出來之前,就只能很痛苦的執行到程式的某位置,然後撞斷點,開始 debug (或拆程式)。

rr 的狀況下,就是:
(官網上的例子)

$ rr record /your/application --args
...
FAIL: oh no!

The entire execution, including the failure, was saved to disk. That recording can now be debugged.

$ rr replay
GNU gdb (GDB) ...
...
0x4cee2050 in _start () from /lib/ld-linux.so.2
(gdb)

rr 是指 record-replay。但可惜的是,它不能倒退嚕。

倒退嚕的 debugger

qira 之所以可以倒退嚕,是因為背後使用 qemu 的機制,在執行時紀錄程式的動向。可以參考 Geohot 在 USENIX 2016 上講的內容。
USENIX Engima 2016 - Timeless Debugging

又因為使用 qemu 的關係,所以可以支持 x86/arm/mips 等平臺。

參考資訊

Timeless Debugging of Complex Software | Ret2 Systems Blog


上一篇
CTF 15: auth3ntication (Web, BSides Delhi CTF 2018)
下一篇
CTF 16: MyFileUploader (Web, noxCTF 2018)
系列文
CTF3030

尚未有邦友留言

立即登入留言