.NET外挂系列:3. 了解 harmony 中灵活的纯手工注入方式

💡 原文中文,约7000字,阅读约需17分钟。
📝

内容提要

本文讨论了HarmonyPatch注解的局限性,尽管有20个重载方法,但无法覆盖所有场景,如嵌套类。作者介绍了通过手动编程和使用HarmonyMethod类来解决这些问题,以更有效地应对.NET托管内存暴涨。

🎯

关键要点

  • 本文讨论了HarmonyPatch注解的局限性,尽管有20个重载方法,但无法覆盖所有场景。
  • 注解特性虽然简单,但只能解决95%的问题,剩下的5%需要手动编程。
  • 嵌套类和某些特殊不对外公开的类是注解特性的局限性示例。
  • 通过手动编程和使用HarmonyMethod类,可以更有效地解决.NET托管内存暴涨的问题。
  • 使用TargetMethod口子函数可以批量返回需要被patch的方法。
  • 可以通过组合多个HarmonyPatch注解特性来解决特定问题。
  • 完全动态hook需要使用HarmonyMethod类,去掉所有的Attribute,使代码更纯粹。
  • HarmonyMethod类提供了更多的配置参数,如优先级和日志功能,Attribute无法实现。
  • 在特性无法解决的问题时,手工HarmonyMethod编程是一个有效的补充。
➡️

继续阅读