首页
社区
课程
招聘
[求助]VS2003,VS2005获取函数地址错误求助
发表于: 2016-1-13 15:32 4448

[求助]VS2003,VS2005获取函数地址错误求助

2016-1-13 15:32
4448
DWORD WINAPI test(
  LPVOID lpParameter   // thread data
)
{
        _asm{
                        mov eax,lpParameter
                        push eax
                        add eax,0x20
                        push eax
                        mov eax,0x68f740
                        call eax
        }
}

void CrxfzDlg::OnBnClickedButton3()
{
        // TODO: 在此添加控件通知处理程序代码
        DWORD tmp=0;
        //LPCONTEXT Lpcontext;
        //GetThreadContext(GetCurrentThread(),Lpcontext);
        //tmp=Lpcontext->Eip;
        tmp=(DWORD)&test;
        _asm{
                MOV EAX,test
                lea ecx,test

        }
}
如上很简单的小程序,给tmp赋予函数test的地址,vs2003自动窗口如下
+                &test        0x00414100 "U嬱侅?"        char *
赋值完以后
                tmp        0x0041120d        unsigned long
tmp的值不是0x414100而是0x41120d,一开始vs2003出这个问题,后来我换vs2005正常了,调试了几次vs2005也这样了,请问怎么回事,该怎么设置啊???
我的操作系统是64位的win7

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 786
活跃值: (3435)
能力值: ( LV7,RANK:140 )
在线值:
发帖
回帖
粉丝
2
debug模式还是release模式?
2016-1-13 16:00
0
雪    币: 79
活跃值: (184)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
debug  jmp
2016-1-13 18:06
0
雪    币: 171
活跃值: (22)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
都是一样啊!
2016-1-14 14:11
0
雪    币: 786
活跃值: (3435)
能力值: ( LV7,RANK:140 )
在线值:
发帖
回帖
粉丝
5
debug模式下会出现3楼说的那个问题,取到的是个jmp的地址。
release应该不会。
2016-1-14 14:19
0
雪    币: 171
活跃值: (22)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
debug 下怎么解决啊??
2016-1-15 00:45
0
雪    币: 79
活跃值: (184)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
7
debug:

0xxxxx E9  xx

addr = 0xxxxx + xx + 5
2016-1-15 09:54
0
雪    币: 171
活跃值: (22)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
这个0xxxx怎么取啊,我内敛汇编 想读取eip怎么失败了啊?
2016-1-15 10:15
0
雪    币: 786
活跃值: (3435)
能力值: ( LV7,RANK:140 )
在线值:
发帖
回帖
粉丝
9
我漏算了一步,10楼的应该是对的
2016-1-15 10:15
0
雪    币: 79
活跃值: (184)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
10
E9 + RVA   So

addr = *(DWORD*)(0xxxxx + 1) + 0xxxxx + 5

DWORD addr = *(DWORD*)((DWORD)Func + 1) + (DWORD)Func + 5;
2016-1-15 13:51
0
游客
登录 | 注册 方可回帖
返回
//