免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1787 | 回复: 7
打印 上一主题 下一主题

钩子的初始化 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-11-09 14:58 |只看该作者 |倒序浏览
我想了解钩子函数的初始化问题  但是一直搞不太明白  我用的是linux2.6.28.10版本的内核  内核中关于hook_init的定义是这样的:
static void hook_init(void)
{
        static int first = 1;
        if (first) {
                first = 0;
                hook_base = ioremap(HOOK_MEM_BASE_ADDR, 8192);
        }
}
我想知道这段代码是什么意思
例如其中的8192是什么?
为什么初试first赋值为1?
hook_base是什么?

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
2 [报告]
发表于 2010-11-09 17:47 |只看该作者
这个是那个文件里的。

论坛徽章:
0
3 [报告]
发表于 2010-11-09 18:47 |只看该作者
arch/cris/arch-v32/mach-a3/vcs_hook.c, line 22

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
4 [报告]
发表于 2010-11-09 19:13 |只看该作者
你想分析什么东西,是 Netfilter 的 hook 函数吗?

论坛徽章:
0
5 [报告]
发表于 2010-11-09 19:17 |只看该作者
对  我现在正在分析hook函数  我想知道上面那个函数初始化时都做了哪些操作

论坛徽章:
0
6 [报告]
发表于 2010-11-11 11:15 |只看该作者
将一个IO地址空间映射到内核的虚拟地址空间上去,便于访问,8192是这个虚拟地址空间的大小;hook_base指向这个hook空间的首地址,得到这个空间的数据可以用首地址加offset的方式;
   为什么要定义局部静态变量first,可能是为了判断是否有可用的内存页吧。

论坛徽章:
0
7 [报告]
发表于 2010-11-11 11:23 |只看该作者
错了错了,first定义为局部静态变量,当执行这个函数离开函数作用域后,first一致为0 直到程序结束才能释放。这样,hook_base = ioremap(HOOK_MEM_BASE_ADDR, 8192)在调用一次后就不会被重复调用了,因为程序结束前if(first)判断为假。

论坛徽章:
0
8 [报告]
发表于 2010-11-11 16:50 |只看该作者
回复 7# 烟雾弹下的真实


    谢谢哈  你这么一说我好像明白多了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP