8.什么是HOOK

程序编译的本质是,首先计算机它只能看得懂机器码也就是只能看得懂数字,机器码学起来很费劲然后就创造了编译器这个东西,编译器它懂机器语言所以它可以跟机器沟通,而我们人可以跟编译器沟通,人跟编译器的语言就是各种各样的编程语言(c/c++、java),然后程序编译的本质就是把人可以看懂的编程语言源代码翻译成计算机可以看懂的计算机语言(二进制数字),编译之后会在磁盘上生成一个文件,这个文件中保存了要让计算机做的每一件事的细节。

在双击exe文件时操作系统会把它加载到内存然后会给它一部分处理器的控制器,然后处理器就顺着exe中记录的细节一条一条的执行(执行流程),而HOOk是在想改变一个程序的执行流程,比如打开一个程序非要激活码没有激活码不让玩,我们想绕过激活码这就是改变程序的执行流程,绕过激活码有两种方式一种是直接修改硬盘上的exe程序这种叫补丁技术/破解技术,另一种是在内存中修改这种叫HOOK技术/内存补丁技术。

相关推荐
wregjru3 小时前
【高并发服务器项目】2.服务器业务层设计详解
c++
样例过了就是过了3 小时前
LeetCode热题100 跳跃游戏 II
c++·算法·leetcode·贪心算法·动态规划
charlie1145141914 小时前
现代Qt开发——0.1——如何在IDE中配置Qt环境?
开发语言·c++·ide·qt·嵌入式
计算机安禾4 小时前
【数据结构与算法】第32篇:交换排序(一):冒泡排序
c语言·数据结构·c++·算法·链表·排序算法·visual studio code
胖咕噜的稞达鸭4 小时前
C/C++动态内存管理,malloc,calloc,realloc的区别,动态内存中的错误汇总
c语言·开发语言·c++
charlie1145141914 小时前
嵌入式C++教程实战之Linux下的单片机编程(6):从点亮第一盏LED开始 —— 我们为什么要用现代C++写STM32
linux·c语言·开发语言·c++·stm32·单片机
linux开发之路4 小时前
C++实现Whisper+Kimi端到端AI智能语音助手
c++·人工智能·llm·whisper·openai
艾莉丝努力练剑4 小时前
【Linux系统:多线程】线程概念与控制
linux·运维·服务器·c++·后端·学习·操作系统
AIminminHu4 小时前
OpenGL渲染与几何内核那点事-项目实践理论补充(二-1-(2):当你的CAD学会“听话”:从鼠标点击到自然语言命令)
c++·人工智能
恒者走天下4 小时前
手机行业cpp c++相关就业岗位详细汇总
c++