漫天的标题党的口水文打赏爆表,冷落了一群默默输出高质量文章的人群。真正的技术文章能否得到认可?
本文讲解内容有
hook技术原理探究
hook本进程方法
hook跨进程的系统调用,方法
so注入
GOT完成so方法hook
ELF文件头信息
00
简单描述下原理,当我们想去监听func方法,如果我们按照代码去编写,则会是如下格式:
voidhook(){//这里加入我们特殊的处理//调用真正的func方法func();//这里加入我们特殊的处理}是这样子来实现。
而上面的描述,如果用汇编表示,则会变成:将func方法的汇编代码的前几个字节,进行修改,修改成跳转到hook方法的位置,然后在hook方法里面处理,过程中调用func,最后退出来。这里理论便是如此,实际中需要考虑很多问题,类似地址修改,查找,堆栈平衡之类的内容。