首页
社区
课程
招聘
[旧帖] [求助][求助]关于反汇编调用的入门问题 0.00雪花
发表于: 2011-2-25 18:15 1106

[旧帖] [求助][求助]关于反汇编调用的入门问题 0.00雪花

2011-2-25 18:15
1106
例如一个函数内部他
004CE3A3    81EC 7C010000   sub esp,0x17C
004CE3A9    56              push esi
004CE3AA    57              push edi
004CE3AB    51              push ecx
004CE3AC    8DBD 84FEFFFF   lea edi,dword ptr ss:[ebp-0x17C]
004CE3B2    B9 5F000000     mov ecx,0x5F
004CE3B7    B8 CCCCCCCC     mov eax,0xCCCCCCCC
004CE3BC    F3:AB           rep stos dword ptr es:[edi]
004CE3BE    59              pop ecx
004CE3BF    894D FC         mov dword ptr ss:[ebp-0x4],ecx
004CE3C2    8B45 08         mov eax,dword ptr ss:[ebp+0x8]
004CE3C5    8985 8CFEFFFF   mov dword ptr ss:[ebp-0x174],eax
004CE3CB    83BD 8CFEFFFF 2>cmp dword ptr ss:[ebp-0x174],0x23

例如我在004CE3AC    8DBD 84FEFFFF   lea edi,dword ptr ss:[ebp-0x17C
这里下了一个断点原先意思是返回到上层调用这个函数的位置的
但是不知道为啥离头部函数明明很近的位置在查看堆栈的时候还是会看到其他的返回地址呢?
我想问的就是难道调用函数不应该都是问头部进入的吗?
所以我郁闷,为啥不再头部下返回断点的时候会出现其他的返回地址..
但是我返回上层查看后他那个CALL他调用的地址,并不是我现在下断点的这个函数
,不知道什么情况会导致这种情况发生的呢?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 1981
活跃值: (771)
能力值: ( LV13,RANK:420 )
在线值:
发帖
回帖
粉丝
2
看得我好纠结-_-
2011-2-25 19:47
0
雪    币: 84
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我也看得很纠结...

我来翻译一下,楼主看看对不对:
这里先做一下定义:下断点位置所在函数定义为A,A的调用者定义为B。
楼主在A下了一个断点,希望能在断点处停下来的时候,找到当前断点所在函数的调用者B。
楼主的问题1:难道调用函数不应该都从函数入口地址进入么?
问题2:为什么运行到断点处停下来时,从堆栈找到函数B,发现B当前指令并不是调用函数A?
2011-3-1 13:04
0
游客
登录 | 注册 方可回帖
返回
//