Function 在另一个函数(即嵌套函数)中调用程序集函数
Function 在另一个函数(即嵌套函数)中调用程序集函数,function,assembly,nested,call,fasm,Function,Assembly,Nested,Call,Fasm,我尝试在自定义汇编函数中调用windows函数 伪代码类似于: MYFUNC PUSH EBP PUSH WINDOWSFUNCTIONPARAMETER CALL [IMPORTEDWINDOWSFUNCTION] POP EBP RET 所以我知道,如果我只调用其中的一个函数,就可以安全地将其保留为这样, 因为这个堆栈无论如何都会被恢复。 问题是-为什么不能在此之后添加esp,0x04?-应用程序崩溃 我甚至不确定是否需要这样做,但我认为在功能完成后这样做更安全 调用,但不知何故,我无法
我尝试在自定义汇编函数中调用windows函数
伪代码类似于:
MYFUNC
PUSH EBP
PUSH WINDOWSFUNCTIONPARAMETER
CALL [IMPORTEDWINDOWSFUNCTION]
POP EBP
RET
所以我知道,如果我只调用其中的一个函数,就可以安全地将其保留为这样,因为这个堆栈无论如何都会被恢复。
问题是-为什么不能在此之后添加esp,0x04?-应用程序崩溃
我甚至不确定是否需要这样做,但我认为在功能完成后这样做更安全
调用,但不知何故,我无法在函数内部实现此功能
非常感谢您的帮助:)
我不知道您所说的“在此之后”是什么意思。基本上:
- 在x86体系结构上,堆栈向下增长李>
- 根据您的调用约定,调用者或被调用者都会清理堆栈