关于HOOK时候的堆栈问题

nightkids_008 2011-07-11 11:39:53
今天看书的时候突然想到的一个问题:原来做HOOK的时候,就是先跳转到了自己的函数那里,然后再执行HOOK的函数(API)什么的,这么做是为了使堆栈平衡。那么在我知道这个被HOOK的函数参数个数的时候,我是不是可以手动来把堆栈指针恢复到正常,这样不调用原来那个函数是不是堆栈就能够平衡了呢?
...全文
261 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2011-07-12
  • 打赏
  • 举报
回复
VC调试时按Alt+8,TC或BC用TD调试,打开汇编窗口看每句C对应的汇编并单步执行一遍不就啥都明白了吗。
(Linux或Unix下应该也可以在用GDB调试时,看每句C对应的汇编并单步执行。)
nightkids_008 2011-07-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 rrrfff 的回复:]
是的。还要看具体的调用方式
[/Quote]
是看stdcall 还是cdelcall么?
白云飘飘飘 2011-07-11
  • 打赏
  • 举报
回复
当然可以
RLib 2011-07-11
  • 打赏
  • 举报
回复
是的。还要看具体的调用方式

64,686

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧