登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
园子
关于
博客
发1篇日志+1圆
记录
发1条记录+2圆币
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
VIP申请
网盘
联系我们
道具
勋章
任务
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
资源区
›
代码
›
.NET外挂系列:1. harmony 基本原理和骨架分析 ...
.NET外挂系列:1. harmony 基本原理和骨架分析
[ 复制链接 ]
啦汇
2025-5-28 23:17:48
一:背景
1. 讲故事
为什么要开这么一个系列,是因为他可以对 .NET SDK 中的方法进行外挂,这种技术对解决程序的一些疑难杂症特别有用,在.NET高级调试 领域下大显神威,在我的训练营里也是花了一些篇幅来说这个,今天我准备用10篇左右来详细聊一聊,供学员和同行们欣赏,详细的文档参考:https://harmony.pardeike.net/articles/intro.html
二:harmony 解读
1. 概念
Harmony 是一个用于在运行时修补、替换和装饰 .NET 方法的库,兼容主流平台,比如 PC、Mac、Linux的32位和64位系统。它的注入模型图如下:
这张图很好理解,就是对你想要 hook 的方法,harmony 会对应生成一个动态方法,然后将 需要hook的原方法的il代码全部copy走,同时根据你的配置情况,在il代码之前和il代码之后 配置一个 AOP 逻辑,当然有需要的话,还可以对原方法的 il 代码借助 Transpilers 组件进行修改,总之非常强大。
2. harmony 有哪些注入点
用 harmony 做外挂,肯定要知道注入的一些点位,常见的有:
前缀补丁(Prefix)和后缀补丁(Postfix)
前缀补丁和后缀补丁非常好理解,就是我们理解的 AOP 功能,前者在原始方法执行前执行,后者是在原始方法执行后执行。
转译器补丁(Transpiler)
如果基本的 AOP 功能不能满足,这时候就必须更精细化的控制,对,就是直接修改 copy 之后的 il 代码,这个就比较
来源:新程序网络收集,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
本地部署deepseek,并投喂数据
libevent之bufferevents
[技术探索者手记] C++自学之路 × linux下搭建属于自己风格的FFmpeg开发项目框架
RabbitMQ简单介绍及常见面试题
HTTP-获取天气-dns版
Swift whit Xcode 递归枚举实现(使用枚举模拟加减乘除复合运算)
【日记】每次修机器都有些头疼(721 字)
JAVA 24 环境安装与配置
物联网之使用Vertx实现UDP最佳实践【响应式】
mORMot 1.18 第23章 使用纯SQL
FastAPI与Tortoise-ORM开发的神奇之旅
【日记】今天好忙(391 字)
CMake构建学习笔记14-依赖库管理工具
重温c语言之,7天开整,就是随便的写写,第七天
FFmpeg开发笔记(四十三)使用SRS开启SRT协议的视频直播服务
c语言的编译与调试
线性dp:大盗阿福(打家劫舍)
模拟实现 strcat(字符串追加) --浅谈C语言
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
啦汇
2025-5-28 23:17:48
关注
0
粉丝关注
13
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
敖可
9986
里豳朝
9994
背竽
9994
4
猷咎
9992
5
凶契帽
9992
6
终秀敏
9990
7
森萌黠
9990
8
裴涛
9990
9
贼瘁
9990
10
鞍汉
9990
查看更多