挂钩免疫 - LogBpHook 不工作

逆向工程 调试 免疫调试器 函数挂钩
2021-06-30 03:41:54

我尝试在 Immunity 中的不同内存分配函数上使用一个简单的钩子。但是钩子根本没有反应(没有记录)。

首先我的钩子类:

class AllocHook(LogBpHook):
    def __init__(self):
        LogBpHook.__init__(self)

    def run(self, regs):
        imm = immlib.Debugger()
        imm.log("     ++++++++++++++++++ HOOOKED")
        imm.log(str(regs))
        imm.log("     ++++++++++++++++++ HOOOKED")

用于初始化和添加钩子的函数。

def hookAlloc(imm):
    global vAllocHo
    # Retrieve address of Allocs
    # Create hook object and add hook
    va1 = imm.getAddress("kernel32.LocalAlloc")
    vAllocHo = AllocHook()
    vAllocHo.add("va alloc",va1)
    vAllocHo.enable()

所以log出现在断点窗口中,但该run()函数实际上从未被调用。

Breakpoints, item 26
Address=76C91668 kernel32.LocalAlloc
Module=kernel32
Active=Log
Disassembly=MOV EDI,EDI

当钩子被激活时,断点的日志消息至少会消失。例如,激活挂钩后,不再显示以下日志消息:

Log data, item 40
Address=76C91668 
Message=[19:12:51] Breakpoint at kernel32.LocalAlloc

剩下的选项中是否有特殊设置,我必须首先考虑?

1个回答

一时兴起,我没有以管理员身份启动 Immunity。所以在调试过程中缺少权限导致了这种行为。