-
-
[求助] 关于C内联汇编中的变量重定位问题
-
发表于:
2008-8-25 01:41
7040
-
lea ecx,szDll[ebp]
push ecx
call LoadlibraryA_Addr[ebp]
szDll db "shell32.dll" <------这里可以直接定义一个变量
LoadlibraryA_Addr dd 0
内联汇编:
_asm push DWORD PTR 0x006C6C64
_asm push DWORD PTR 0x2E32336C
_asm push DWORD PTR 0x6C656873 //shell32.dll
_asm push esp
_asm mov ecx,[esp] //保存shell32.dll字符
第一种纯汇编,可以直接定义szDll db "shell32.dll",而在C内联汇编只能:
_asm push DWORD PTR 0x006C6C64
_asm push DWORD PTR 0x2E32336C
_asm push DWORD PTR 0x6C656873 //shell32.dll
如果这样:
char szDll[]="shell32.dll";
_asm lea ecx,szDll ;这样就无法编译通过了。请问C内联汇编怎么解决呢?
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课