首页
社区
课程
招聘
[求助]高手指点一下,这段代码为什么不能在ida 中f5
发表于: 2015-3-15 14:58 6186

[求助]高手指点一下,这段代码为什么不能在ida 中f5

2015-3-15 14:58
6186
.text:10001010                 public DD32
.text:10001010 DD32            proc near               ; CODE XREF: DD321+48p
.text:10001010                                         ; DD32VB+Fp
.text:10001010                                         ; DATA XREF: ...
.text:10001010
.text:10001010 arg_0           = dword ptr  4
.text:10001010
.text:10001010                 mov     eax, [esp+arg_0]
.text:10001014                 push    eax
.text:10001015                 call    sub_10001101
.text:1000101A                 retn    4
.text:1000101A DD32            endp

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

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 12
活跃值: (671)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
还有很多时候按F5时会出现:
100013a7:positive sp value has been found
这是什么原因?
2015-3-15 15:00
0
雪    币: 967
活跃值: (1138)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
3
你的ida是什么版本? 版本太低了
我的毫无压力
2015-3-15 19:14
0
雪    币: 12
活跃值: (671)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
IDA 6.6
2015-3-15 20:44
0
雪    币: 967
活跃值: (1138)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
5


测试一下此程序
TestProject.rar

根据你的程序写的一个demo
上传的附件:
2015-3-15 22:13
0
雪    币: 12
活跃值: (671)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
多谢:elianmeng,单个过程测试没有问题
仔细查了一下,是在call    sub_10001101这个子程序中出现了sp 为负值
打开stack pointer 选项,看到sub_10001101过程中,ret 时  sp 为-4
如何修正?
2015-3-16 08:19
0
雪    币: 967
活跃值: (1138)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
7
明显是堆栈不平衡啊 如果1000110这个函数不是stdcall的调用的话 外面就需要 add esp,4 啊,如果程序能正常运行,那么就进去看看里面函数是怎么保证堆栈平衡的
2015-3-16 09:52
0
雪    币: 29214
活跃值: (7729)
能力值: ( LV15,RANK:3306 )
在线值:
发帖
回帖
粉丝
8
函数右键→Edit Function→Frame pointer delta修改一下
2015-3-16 11:14
0
雪    币: 12
活跃值: (671)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
好的,我来试试
2015-3-16 11:21
0
游客
登录 | 注册 方可回帖
返回
//