挂海论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
 友情提示:文字/图片广告均非网站意见,请担保交易勿直接付款,由此产生的责任自负
玩游戏来117游戏网(H5不下载也能玩手游传奇,吃鸡,竞技都有)不懂社区·好资源不错过·各位资源站大佬欢迎来采集搬运IOS签名/udid证书出售/送证书加群1040456405 ██【我要租此广告位】██
... .
查看: 10569|回复: 14
打印 上一主题 下一主题

[讨论交流] 怎样判断 一个CALL 需要几个参数呢

[复制链接]
3正式会员
171/300

171

积分

37

主题

4

听众
已帮网友解决0 个问题
好评
0
贡献
134
海币
1981
交易币
0
跳转到指定楼层
楼主
发表于 2015-4-13 16:27:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提醒:若下载的软件是收费的"请不要付款",可能是骗子,请立即联系本站举报,执意要付款被骗后本站概不负责。(任何交易请走第三方中介,请勿直接付款交易以免被骗!切记).

友情提示:文字/图片广告均非本站意见,请担保交易勿直接付款,由此产生的责任自负!!!↑↑



push  XXX
push xxxx  
call  0x00001
add esp,0x10

这种是不是说明内部还有两个 参数呢?  用call 内部代码要怎样判断那两个参数是谁呢

联系我时,请说是在 挂海论坛 上看到的,谢谢!



上一篇:关于剑网三转身call 一点问题
下一篇:求一个易语言HOOK call写法
免责声明:
1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关。一切关于该内容及资源商业行为与www.52ghai.com无关。

2、本站提供的一切资源内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。

3、本站信息来自第三方用户,非本站自制,版权归原作者享有,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

4、如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵犯你版权的,请邮件与我们联系删除(邮箱:xhzlw@foxmail.com),本站将立即改正。

37

积分

18

主题

3

听众
已帮网友解决0 个问题
好评
0
贡献
19
海币
1106
交易币
0
沙发
发表于 2015-4-13 16:29:37 | 只看该作者
push  XXX  
push xxxx   
call  0x00001  
add esp,0x10  

0x10 /0x4=CALL要参数个数

37

积分

18

主题

3

听众
已帮网友解决0 个问题
好评
0
贡献
19
海币
1106
交易币
0
板凳
发表于 2015-4-13 16:29:50 | 只看该作者
push 1
push 2
push  XXX  
push xxxx   
call  0x00001  
add esp,0x10  

参数个数 0x10/4=4个参数

29

积分

8

主题

4

听众
已帮网友解决0 个问题
好评
0
贡献
21
海币
1740
交易币
0
地板
发表于 2015-4-13 16:30:26 | 只看该作者
你这个CALL是外面平栈的,如果调用需要手工平栈。

29

积分

8

主题

4

听众
已帮网友解决0 个问题
好评
0
贡献
21
海币
1740
交易币
0
5#
发表于 2015-4-13 16:30:40 | 只看该作者
2个办法   
1 看call 外面是否有 add esp, xx
2 看call里面使用 retn xx
然后  XX / 4 == 就是 几个参数了
这里的XX 是 16进制的,计算都要 16进制的哦

29

积分

8

主题

4

听众
已帮网友解决0 个问题
好评
0
贡献
21
海币
1740
交易币
0
6#
发表于 2015-4-13 16:31:05 | 只看该作者
放入栈顶 再开4个空间?

如果只有call 内部的代码,那么怎么找到参数呢?
4中级会员
590/600

590

积分

166

主题

21

听众
已帮网友解决0 个问题
好评
0
贡献
394
海币
3128
交易币
0
7#
发表于 2015-4-13 16:31:17 | 只看该作者
这个我要收藏一下

57

积分

14

主题

4

听众
已帮网友解决0 个问题
好评
0
贡献
43
海币
940
交易币
0
8#
发表于 2015-4-13 16:31:41 | 只看该作者
不是开辟空间,push的实质是什么,就是把一个值压入栈顶,然后esp自减4,表示这个栈的高度变高了(高度等于ebp-esp),这是一种变相,再比如call的实质是什么,就是push eip,jmp xxxx

在内部,既然已经知道的是外部平衡堆栈,那么就已经知道是4个参数,所以在内部头部下断,od堆栈窗口里,右键转到esp,第二个开始,数四个即可(第一个是eip)
)
3正式会员
171/300

171

积分

37

主题

4

听众
已帮网友解决0 个问题
好评
0
贡献
134
海币
1981
交易币
0
9#
 楼主| 发表于 2015-4-13 16:32:31 | 只看该作者
卩s团团丨 发表于 2015-4-13 16:31
不是开辟空间,push的实质是什么,就是把一个值压入栈顶,然后esp自减4,表示这个栈的高度变高了(高度等于e ...

嗯。 那就是 call 进入头部时候,参数已经全部压入堆栈待用了噢?
3正式会员
171/300

171

积分

37

主题

4

听众
已帮网友解决0 个问题
好评
0
贡献
134
海币
1981
交易币
0
10#
 楼主| 发表于 2015-4-13 16:33:01 | 只看该作者
weiziji 发表于 2015-4-13 16:30
你这个CALL是外面平栈的,如果调用需要手工平栈。

1 看call 外面是否有 add esp, xx
有时候 可能是开了优化的原因 xx/4 并不一定就是参数个数 就像楼主出的例子 很有可能就是两个参数
但是可能前后平衡的代码合在一起 这就需要仔细观察 可以查看该函数在其它位置的调用作为对比
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

免责声明|Archiver|手机版|小黑屋|挂海论坛

GMT+8, 2025-4-5 03:24 , Processed in 0.118552 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.2

本站资源来自互联网用户收集发布,如有侵权请邮件与我们联系处理。xhzlw@foxmail.com

快速回复 返回顶部 返回列表