8.什么是HOOK

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

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

相关推荐
郝学胜-神的一滴1 小时前
中级OpenGL教程 013:渲染器类架构设计与逐帧渲染流程详解
开发语言·c++·unity·游戏引擎·图形渲染·opengl·unreal
小小龙学IT2 小时前
C++ 并发编程深度解析:从内存模型到无锁数据结构
数据结构·c++
凯瑟琳.奥古斯特3 小时前
力扣1013三等分解法与C++实现
开发语言·c++·算法·leetcode·职场和发展
一拳一个呆瓜3 小时前
【STL】iostream 编程:缓冲区的作用
c++·stl
我不是懒洋洋3 小时前
从零实现一个分布式任务调度器:XXL-JOB的核心设计
c++
vivo互联网技术4 小时前
当 AI 进入推荐系统:从“推什么”到“怎么选”
人工智能·游戏·产品
凯瑟琳.奥古斯特4 小时前
力扣1012数位DP解法详解
开发语言·c++·算法·leetcode·职场和发展
chh5635 小时前
C++--string
java·开发语言·网络·c++·学习
J_yyy5 小时前
基于Reactor的文件管理服务开发笔记
c++·笔记·reactor·多线程编程·muduo