首页
社区
课程
招聘
写算法时候得一个疑惑
发表于: 2006-4-19 16:27 5487

写算法时候得一个疑惑

2006-4-19 16:27
5487
void ****()
{
    _asm
    {
        mov ebx,dword ptr ds:[bufone+0xC]
        mov ebp,ebx
        ......
    }
}

warning C4731 : 框架指针寄存器“ebp”被内联程序集代码修改
为什么呢??

还有一个

    BYTE *buf = bufone;
    _asm
    {
       mov eax,buf
       mov eax,dword ptr ss:[eax+0x18] // 这里我想把bufone + 18得地址再给eax要怎么改呢? 每次我程序一执行到这里就把 bufone + 18 位置得数据给了eax苦恼啊。
       ...........
    }

如果不用ebx放数据得话,要好改很多地方,不知道高手有没有比较完美得办法呢


[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 200
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
修改EBP是比较危险的!除非你有绝对的控制能力!
2006-4-19 16:30
0
雪    币: 5
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
3
难道非得自己全部专成C语言吗?
2006-4-19 16:41
0
雪    币: 196
活跃值: (135)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
4
用 lea eax,dword ptr ss:[eax+0x18]  执持后EAX中是地址,
2006-4-19 17:03
0
雪    币: 5
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
5
多谢多谢,不晓得大哥方便留下联系方式么,我好请教^_^
2006-4-19 17:06
0
雪    币: 196
活跃值: (135)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
6
有事就在坛子里说吧,这里人多~,
2006-4-19 17:11
0
雪    币: 5
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
7
也是也是呵呵
2006-4-19 17:20
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
upm
8
第一个问题是因为EBP作为堆栈基址指针,经常被用,所以编译器会提示Warning,你可以找一下VC里面的相关选项,去掉以后就不会提示了。
第二个问题就是把mov改成lea就可以了。
2006-4-19 17:37
0
游客
登录 | 注册 方可回帖
返回
//