c++ dll 内嵌汇编 无法赋值给全局变量

C++语言 码拜 8年前 (2016-05-24) 1668次浏览
inline hook 的dll文件内
全局定义
int  全局参数 = 100;
读取寄存器
_asm
{
//汇编代码
pushad
add eax, 0x64
add[edi + 0x00005578], eax
sub eax, 0x64
mov 全局参数,eax     //无法读取值
popad
jmp f
}
显示
a.Format(_T(“%d”), 全局参数);
//a.Format(“%d”, 全局参数);
AfxMessageBox(a);     //读出的值是100
怎么样读取到寄存器的值呢?大大们帮忙啊
解决方案

25

那就先弄个临时变量,汇编执行结束再把临时变量的值赋值给全局变量好了

25

mov 全局参数,eax     //无法读取值
这个改成
mov dword ptr [全局参数],eax
试下呢

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明c++ dll 内嵌汇编 无法赋值给全局变量
喜欢 (0)
[1034331897@qq.com]
分享 (0)