scriptcmd

在运行脚本的上下文中执行命令。

参数

与其他命令不同,此命令将 scriptcmd 之后的所有内容直接转发给命令处理器。

例如 scriptcmd add rax, 0x1245 将执行命令 add rax, 0x1234

结果

此命令不设置任何结果变量。

执行行为

此命令会阻塞,直到指定命令完成执行。脚本执行由单个专用线程处理,确保命令按提交顺序执行,不受其他操作的干扰。

示例

此命令可与 SetBreakpointCommand 结合使用,以在断点回调时执行脚本:

fn_addr = module.dll:$0x1234 // 模块.dll RVA 0x1234
bp fn_addr
SetBreakpointCommand fn_addr, "scriptcmd call mycallback"

// TODO:确保脚本不会被卸载(使用 run)

mycallback:
log "fn({arg.get(0)}, {arg.get(1)})"
ret