linux hook技术[通俗易懂]

linux hook技术[通俗易懂]Hook中文翻译为钩子,可以用来截获调用函数,并改变函数的行为。Windows和Linux都提供了相应的实现机制。这篇文章是针对Linux平台的。也是在学习协程库libco过程中接触到的。正文:如果你是一个开发者,并期望去改变一个库函数的行为,那么这篇文章将带你入门——只是用库函数做实验。所有的代码是用C写的,在Linux上面使用GCC编译测试。根据维基百科,“在计算机…

大家好,又见面了,我是你们的朋友全栈君。

        Hook中文翻译为钩子,可以用来截获调用函数,并改变函数的行为。Windows和Linux都提供了相应的实现机制。这篇文章是针对Linux平台的。也是在学习协程库libco过程中接触到的。

正文:

如果你是一个开发者,并期望去改变一个库函数的行为,那么这篇文章将带你入门——只是用库函数做实验。所有的代码是用C写的,在Linux上面使用GCC编译测试。

根据维基百科,“在计算机程序中,hook包含一系列的技术,通过在软件中截获系统调用、消息或者事件,改变或者增强操作系统、应用程序或者其他软件模块的行为。那些处理这些拦截系统调用,事件或者消息的代码就称为hook。”

截获一个系统调用,或者调用你自己的外壳代码,也称为函数介入。

Hook有两个好处:

 •你不需要到像libc(glibc是GNU的C库,libc差不多是glibc的一半大小)一样的库里查找函数的定义,并改变它。严肃地说,这是非常下流的技术(至少对我而言!)

•你不需要重新编译库的源码。

 

这两个链接比较好,务必好好学习。

https://blog.csdn.net/lwj_925/article/details/78503600

http://www.cnblogs.com/LittleHann/p/3854977.html?utm_source=tuicool&utm_medium=referral

 

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/141238.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • POJ 1742 Coins ( 单调队列解法 )「建议收藏」

    POJ 1742 Coins ( 单调队列解法 )

    2022年1月20日
    55
  • 深入理解双亲委派机制及作用「建议收藏」

    java双亲委派机制及作用一、什么是双亲委派机制当某个类加载器需要加载某个.class文件时,它首先把这个任务委托给他的上级类加载器,递归这个操作,如果上级的类加载器没有加载,自己才会去加载这个类。二、类加载器BootstrapClassLoader(启动类加载器)c++…

    2022年4月17日
    73
  • 洛谷p2669_洛谷首页

    洛谷p2669_洛谷首页洛谷 2577 [ZJOI2005]午餐——序列dp

    2022年4月20日
    52
  • Windows10下安装Git

    Windows10下安装GitGit是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。具体安装步骤如下:第一步:先从官网下载最新版本的Git官网地址:https://git-scm.com/downloads点击上图中表示的地方进行下载,得到Git-2.17.1.2-64-bit.exe文件。如果你的系统是32位的,可以通过如下方式下载:第二步:双击下载好的git安装包,弹出提示框,如下图:第三…

    2022年6月11日
    36
  • web服务器有哪些?_服务器和web服务器有什么区别

    web服务器有哪些?_服务器和web服务器有什么区别<1>什么是web服务器"网络服务"(WebService)的本质,就是通过网络调用其他网站的资源。WebService架构和云如果一个软件的主要部分采用了"网络服务",即它把存储或计算环节"外包"给其他网站了,那么我们就说这个软件属于WebService架构。WebService架构的基本思想,就是尽量把非核心功能交给其他人去做,自己全力开发核心功能。比如,如…

    2022年9月19日
    1
  • 国外免费空间域名_谷歌空间免费账号

    国外免费空间域名_谷歌空间免费账号 经过了最近一段时间的了解以及本人实际注册,发现了国外有很多的免费空间,但是问题还是很多的,最多的就是注册后访问不了了,可能原因有二,一是网站服务器那边的本身设置,二是我们国家的对外封锁。现将我注册过的网站公布如下,有成功的以及未成功的,总结问题也简要包括,供大家参考,不要再在这个上面浪费更多的时间了。如果大家看到有什么好的空间也请告之,不胜感激:(更新截止日期2007-07-1)注意:以下所说的

    2022年8月30日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号