首页
社区
课程
招聘
未解决 各位大佬,请教下X64显示缺几个参数
发表于: 2024-2-23 18:50 1689

未解决 各位大佬,请教下X64显示缺几个参数

2024-2-23 18:50
1689

X64显示缺几个参数,是什么情况昵?
只有1、2、5、6、7,中间参数去哪里了?


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

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 25474
活跃值: (4787)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
这个只能参考一下,在运行过程中 EBP 有可能会变的
x64dbg 把 [EBP+8] 一律认为是参数 1,至于是不是你得根据 EBP自己判断
还有调用约定不同也会影响参数的位置的
2024-2-23 23:07
0
雪    币: 25474
活跃值: (4787)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
而且 x64dbg 也不判断参数的数量,[EBP+8] 以上的都标注为参数,[EBP-4] 以下的都标注为局部变量
2024-2-23 23:18
0
雪    币: 163
活跃值: (584)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4



谢谢指教。好像是7个参数,但是调用call的时候报错。

2024-2-24 00:35
0
雪    币: 25474
活跃值: (4787)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
haseex 谢谢指教。好像是7个参数,但是调用call的时候报错。
从你这几张图看不出之间的逻辑关系,但从单张图来看也看不出有7个参数
第一张的 ret 后面没有数字,有可能是调用者平栈,也有可能没有参数或只用了寄存器传参
第二张说明不了任何问题
第三张 add esp,1c 前的 call 只 push 了一个参数,这里应该是局部变量的堆栈平衡
2024-2-24 12:21
1
雪    币: 163
活跃值: (584)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
huangyalei 从你这几张图看不出之间的逻辑关系,但从单张图来看也看不出有7个参数 第一张的 ret 后面没有数字,有可能是调用者平栈,也有可能没有参数或只用了寄存器传参 第二张说明不了任何问题 第三张 add ...

感谢指导



我在hook这个call的时候,如果我的程序不带任何参数,hook成功,并且不报错。调用原call的时候,如果带参数,也报错。不带参数能正常调用,但是导致call返回失败,我想应该是用了寄存器传参数。这方面没有找到相关资料,有什么建议吗?

最后于 2024-2-24 12:35 被haseex编辑 ,原因:
2024-2-24 12:34
0
雪    币: 25474
活跃值: (4787)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
haseex huangyalei 从你这几张图看不出之间的逻辑关系,但从单张图来看也看不出有7个参数 第一张的 ret 后面没有数字,有可能是调用者 ...
跟进 call 里面看呗,失败应该会有异常吧,调试器拦截异常指令,再往上回溯看看是什么导致异常
2024-2-24 12:51
0
雪    币: 163
活跃值: (584)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
huangyalei 跟进 call 里面看呗,失败应该会有异常吧,调试器拦截异常指令,再往上回溯看看是什么导致异常
谢谢大佬,解决了。原因是通过寄存器传参,正常调用的话直接报错。
2024-2-24 13:25
0
游客
登录 | 注册 方可回帖
返回
//