一般情况下我们很少去修改ebp,即使使用汇编也只是用到eax 、ebx等几个通用寄存器,ebp和esp都是让编译器自动安排的。但有时ebp的修改就成为必须,如进行inline hook的时候,这时就要小心因为ebp的修改而带来的bug,以下为示例代码:
NTSTATUS My_PsCreateSystemThread(
_Out_ PHANDLE ThreadHandle,
_In_ ULONG DesiredAccess,
_In_opt_ POBJECT_ATTRIBUTES ObjectAttributes,