2012-01-12 233 views
6

我知道您可以通過使用ptrace來捕獲系統調用。但是我想要做的就是忽略系統調用。因此,ptrace可能會捕獲一個系統調用,查看其編號,如果該編號是必須忽略的系統調用,則系統調用將停止繼續或系統調用立即返回。忽略系統調用

問題是,我們應該通過使用ptrace來讓應用程序忽略特定的系統調用。

回答

3

您可以試試PTRACE_GETREGSPTRACE_SETREGS
如果您將eip更改爲系統調用後,並且eax將返回值設爲有效,則可能會跳過呼叫。
但我沒有嘗試它,如果它不起作用,也不會感到驚訝。

+0

將eip更改爲系統調用後!這並不容易,我的朋友:(! – MetallicPriest 2012-01-12 19:35:19

+3

@MettalicPriest:不容易,但爲了改變被感染的程序的行爲,你需要仔細研究機器內部的狀態。 – 2012-01-12 22:19:02