如何在Deviare挂钩时SkippCall?

时间:2014-02-06 17:45:20

标签: python api hook

有没有人如何在Deviare(Python)中使用SkipCall()? 他们说的是: HRESULT SkipCall()     跳过调用原始函数。 当我尝试这样做时,它不起作用。它在同一个呼叫中循环。我想我也应该在寄存器上做一些事情(比如恢复EBP)。但问题是NktCallInfo.Register集在Python中不起作用。我试着像:

NktHookCallInfo.Register(ESP, EBP)

但它不起作用。请帮忙吗?

1 个答案:

答案 0 :(得分:3)

我最近看到了这个问题。期待不要迟到。 (我是Deviare开发人员)

当您调用SkipCall时,您必须使用提供的' INktHookCallInfo'来设置返回值和可选的Win32 lasterror。方法。如果挂钩的函数在数据库中,它将根据调用约定从堆栈中删除参数。

如果您在未指定功能的情况下挂钩任意地址,则必须通过将ESP / RSP寄存器设置为适当的方式手动取消。