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