有人在Deviare(Python)中如何SkipCall()吗?
他们说:
HRESULT SkipCall()
跳过调用原始功能。
当我尝试这样做时,它不起作用。它在同一调用中循环进入。我想我也应该在寄存器上做一些事情(例如恢复EBP)。但事实是NktCallInfo.Register设置在Python中不起作用。我尝试类似的东西:
NktHookCallInfo.Register(ESP, EBP)
但这是行不通的。请帮助 ?
最佳答案
我最近看到了这个问题。期望不会迟到。 (我是Deviare开发人员)
调用SkipCall时,必须使用提供的“ INktHookCallInfo”方法设置一个返回值,以及可选的Win32 lasterror。如果被钩住的函数在数据库中,它将根据调用约定从堆栈中删除参数。
如果要挂接任意地址而不分配功能,则必须通过将ESP / RSP寄存器设置为适当来手动展开。