学习HOOK的必备知识
1.汇编
2.API
3.内存
4.进程
5.窗口
必须熟悉的汇编指令:
PUSH 入栈
MOV 赋值
JMP(JNZ JE) 跳转
CALL 调用函数
RET 返回
Cmp 比较
Test 比较
必须知道什么叫寄存器并且使用
EAX 累加寄存器(一般情况下,运算结果,call的结果)
EBX 基址寄存器(存储的基址)
ECX 计数寄存器(计次循环)
EDX 数据寄存器(数据)
EBP 参数或局部变量
ESP 堆栈
EDI 目的变址寄存器(交换的目的)
ESI 源变址寄存器 (交换的源)
EIP 当前函数运行位置
程序无法被反编译,所以我们可以通过汇编的形式区了解功能。
也可以通过汇编代码来对函数或者是变量进行赋值操作
API:看懂API和调用API
在windows系统上的程序,都会调用API函数,我们只有找到关键的API函数,进行Hook可以到达意想不到的效果
内存:了解程序在内存的存储方式
所有的数据都是存在内存的,都会有一个存储的地址 这个地址我们叫做内存地址
进程:Hook是在进程中操作的
每个进程都是独立的,除非共享,注入 包括了很多DLL,Hook不仅仅是exe,更多的是DLL
窗口:消息机制
windows的系统是基于消息的
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端