如何在内联汇编中修改/替换堆栈值?

时间:2017-05-02 13:46:45

标签: c++ winapi assembly

我正在尝试修改/替换函数的参数值。这是堆栈,突出显示的位置是目标。

(esp + 8)( struct sockaddr

enter image description here

我正在使用钩子函数执行内联汇编。一旦它已经在堆栈上或甚至在推入参数之前我应该​​修改/替换它吗?

我应该注意什么?

1 个答案:

答案 0 :(得分:0)

如果你正在挂钩一个函数,这意味着你自己的函数是用原始参数调用的,你可以在某些时候将这些参数(改变与否)转发给原始函数。通常更容易更改您收到的参数而无需复制并传递它们。如果你正在使用用户登陆或内核登陆到内核登陆,那么你可能不想触摸原始进程/内核内存指针 - 为了安全而复制。