我第一次尝试注入代码,到目前为止基本上一切正常。但问题是,在我运行程序并调用方法 MessageBoxA() 后,会发生访问冲突。
问题是,ESI cpu 寄存器没有有效值。
MessageBoxA() 调用
PUSH DWORD PTR DS:[ESI-5]
在它被调用之后。我必须在 ESI 中存储什么才能避免出现此错误?我已经将该方法的参数推送到堆栈上,所以我只是不知道这条指令想要我做什么..
如果您需要更多信息,请告诉我。
谢谢你。
编辑
程序的第一条指令跳转到我的代码。在我调用 MessageBoxA 后,我跳回到标准程序(目前没关系)
在这里,您可以看到我调用 MessageBoxA 后程序的去向。第三条指令已经导致了问题。
我希望这会有所帮助^^