![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
HOOK技术
hook学习过程中的相关总结,时间线上也是由浅入深,自己仍在慢慢学习
王大碗Dw
志不强者智不达
成为自己小时候想象的样子!
展开
-
Hook技术:通过Dll注入Hook IAT让计算器显示中文数字(附源码)
计算机的计算器是我们常用的一个小工具(小时候,总是计算机计算器分不开来,哈哈)。众所周知,计算器在计算的过程中,显示的都是阿拉伯数字,因为阿拉伯数字是一个全世界通用的表示方法,那么如何让计算器显示中文数字"一、二、三......"呢?这里我们就可以使用Dll注入去hook关键API实现**计算器显示中文数字**。原创 2020-05-09 21:30:21 · 2898 阅读 · 12 评论 -
Hook技术:IAT Hook详细讨论修改IAT地址和恢复
IAT Hook是Ring3层常用的Hook之一,主要思路大家都知道,就是修改IAT中的函数地址。原创 2020-05-16 11:07:15 · 2448 阅读 · 0 评论 -
Hook技术:奇妙的调试Hook技术详解(附源码)
为什么叫做奇妙的调试Hook呢?因为在学习《逆向工程核心原理》的过程中,发现hook的方式千变万化,越觉得欣喜,相较于其他的Address Hook、Inline Hook,调试Hook让我觉得独特。调试Hook什么是调试Hook?实现原理实现流程实战练习优缺点源码示例什么是调试Hook?调试Hook是通过调试方式进行的API钩取函数。在这之前我们先了解一点调试器的知识。调试器用来确认被调试者是否正确运行,发现未知的错误。调试器能够逐一执行被调试者的指令,拥有对调试器与内存的所有访问权限。每当被原创 2020-05-08 23:18:15 · 2652 阅读 · 1 评论 -
Hook技术:虚表hook及虚函数的调用过程详解(附源码)
偶然间看到一篇帖子讲述的是虚表Hook,之前没有接触过,兴趣多致,进行学习和实践,将个人感悟与代码分享出来。什么是虚表hook?首先我们应该要先了解什么是虚表?虚函数(Virtual Function)是通过一张虚函数表(Virtual Table)来实现的。简称为V-Table。在这个表中,主是要一个类的虚函数的地址表,这张表解决了继承、覆盖的问题,保证其容真实反应实际的函数。我们调...原创 2020-05-08 18:53:11 · 2081 阅读 · 4 评论 -
Hook技术:Ring3层下的Inline Hook(mov eax xxxxxxxx;jmp eax)详解【附源码】
Ring3层下的Inline Hook详解Ring3层下的Inline Hook是最常用的Hook手段之一,是一种通过修改机器码的方式来实现hook的技术。探究API调用正常执行流程探究Inline Hook中的函数调用过程原创 2020-05-02 22:35:45 · 1096 阅读 · 0 评论 -
HOOK技术:SSDT HOOK(x86)
在进行SSDT Hook之前我们要先了解SSDT的概念和作用。SSDT:System Services Descriptor Table(系统服务描述符表),在内核中是KeServiceDescriptorTable。这个表就是一个把ring3的Win32 API和ring0的内核API联系起来。SSDT并不仅仅只包含一个庞大的地址索引表,它还包含着一些其它有用的信息,诸如地址索引的基地址、服...原创 2020-04-02 20:22:32 · 491 阅读 · 1 评论 -
Hook技术(1):Hook技术简介
什么是hook技术?hook技术又被称为钩子技术。在系统没有调用该函数之前,钩子程序就先捕获该消息,钩子函数先得到控制权,这时钩子函数既可以加工处理(改变)该函数的执行行为,还可以强制结束消息的传递。简单来说,hook是一种截取信息、更改程序执行流向、添加新功能的技术。通俗来说,就是一条高速公路,我们去追击一个罪犯(要截获的消息或事件),然后在他要经过的地方提前埋下埋伏,等到罪犯到来时,实...原创 2020-04-01 14:22:25 · 3065 阅读 · 2 评论