.NET外挂系列:3. 了解 harmony 中灵活的纯手工注入方式
💡
原文中文,约7000字,阅读约需17分钟。
📝
内容提要
本文讨论了HarmonyPatch注解的局限性,尽管有20个重载方法,但无法覆盖所有场景,如嵌套类。作者介绍了通过手动编程和使用HarmonyMethod类来解决这些问题,以更有效地应对.NET托管内存暴涨。
🎯
关键要点
- 本文讨论了HarmonyPatch注解的局限性,尽管有20个重载方法,但无法覆盖所有场景。
- 注解特性虽然简单,但只能解决95%的问题,剩下的5%需要手动编程。
- 嵌套类和某些特殊不对外公开的类是注解特性的局限性示例。
- 通过手动编程和使用HarmonyMethod类,可以更有效地解决.NET托管内存暴涨的问题。
- 使用TargetMethod口子函数可以批量返回需要被patch的方法。
- 可以通过组合多个HarmonyPatch注解特性来解决特定问题。
- 完全动态hook需要使用HarmonyMethod类,去掉所有的Attribute,使代码更纯粹。
- HarmonyMethod类提供了更多的配置参数,如优先级和日志功能,Attribute无法实现。
- 在特性无法解决的问题时,手工HarmonyMethod编程是一个有效的补充。
🏷️
标签
➡️