VC 内联汇编中的一个注意事项
生活随笔
收集整理的這篇文章主要介紹了
VC 内联汇编中的一个注意事项
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
2019獨角獸企業(yè)重金招聘Python工程師標準>>>
? 為了方便 有時候在匯編里面直接引用 函數(shù)的參數(shù) 這樣是可行的 但是要注意 編譯器默認使用 ebp 作為標準來尋址 所以
需要前面加上?
push ebp
mov ebp,esp
才行
比如下面的代碼
BOOL __declspec(naked) __stdcall Detour_CreateProcessInternalW(HANDLE hToken,LPCWSTR lpApplicationName,LPWSTR lpCommandLine,LPSECURITY_ATTRIBUTES lpProcessAttributes,LPSECURITY_ATTRIBUTES lpThreadAttributes,BOOL bInheritHandles,DWORD dwCreationFlags,LPVOID lpEnvironment,LPCWSTR lpCurrentDirectory,LPSTARTUPINFOW lpStartupInfo,LPPROCESS_INFORMATION lpProcessInformation,PHANDLE hNewToken) {__asm{push ebpmov ebp,esppush hNewTokenpush lpProcessInformationpush lpStartupInfopush lpCurrentDirectorypush lpEnvironmentpush dwCreationFlagspush bInheritHandlespush lpThreadAttributespush lpProcessAttributespush lpCommandLinepush lpApplicationNamepush hTokencall jmp_backpop ebpretn 0x30} }
轉(zhuǎn)載于:https://my.oschina.net/sincoder/blog/113377
總結
以上是生活随笔為你收集整理的VC 内联汇编中的一个注意事项的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 摩托罗拉移动员裁员重点是研发
- 下一篇: s3c2440移植MQTT