首页
社区
课程
招聘
[旧帖] [求助][求助][求助]SSDT inlineHOOK 传参问题 0.00雪花
发表于: 2012-11-18 17:14 1348

[旧帖] [求助][求助][求助]SSDT inlineHOOK 传参问题 0.00雪花

2012-11-18 17:14
1348
小弟新手,请问各位大大 例如NtOpenProcess         SSDT inlineHOOK  在函数开头 改代码 jmp 自己函数      然后 自己函数里就可以判断参数 例如_client_id    这个参数是怎么传进来的啊

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 61
活跃值: (21)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
你不是要写个hook函数吗?   就是你的jmp跳过去的你的代码,那不是你的函数吗?   你写那个函数的时候,那参数写成跟 NtOpenProcess一模一样。然后在你的这个函数里面直接正常用参数就行了。

我理解的你问的问题是,要在自己的钩子函数里面访问NtOpenProcess函数的参数,所以就用我上面的方法。

原理是因为,若你用汇编写的话,访问参数一般正常是[ebp + 8].   [ebp + C] 这样的,但是这样就依赖于编译器,有时候编译器编译生成的汇编代码,并不用ebp去访问参数,而用esp。然而像上面我说的,你直接写成C语言的话,你访问参数,编译器也会编译成[ebp +8],当然它编译成esp也好,ebp也好,你不用关心,反正访问到了参数。
2012-11-18 20:01
0
雪    币: 220
活跃值: (117)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
最好别用纯汇编。。有点乱
至于怎么拿到参数。。只要你的函数和之前的api原型一样,那么直接用就行了
2012-11-18 20:07
0
游客
登录 | 注册 方可回帖
返回
//