jmp 1f push %eax 1: movl $100, (%eax) call __debugbreak int3 ret
假设我们想在push %eax指令上设置一个断点。我们可以通过调用debugbreak重写push %eax来实现吗?上面的方法有什么问题?为什么在这种情况下用int3重写是可行的?
发布于 2019-02-06 17:38:03
int3是单字节指令(本例中的push也是单字节指令)。call并非如此,如果你用jmp而不是call重写你的push,你的push会跳到int3的“中间”。但是,除非有一种方法可以到达push (我在它之前看不到可以跳转/调用的标签),否则在push上设置断点是没有用的,不是吗?
https://stackoverflow.com/questions/54550052
复制相似问题