https://github.com/bigbaldy1128/DotNetDetour

---------------------------------------------------------------------

DotNetDetour是一个用于.net方法hook的类库 ##特点

  • 支持32bit和64bit的.net程序
  • 支持.net framework 2.0以上的所有版本
  • 支持静态方法,实例方法、属性方法、泛型方法的hook
  • 支持.net基础类库方法的hook
  • 无任何性能影响

##快速示例 1.安装:Install-Package DotNetDetour

2.新建一个类并继承IMethodMonitor接口

public class CustomMonitor : IMethodMonitor //自定义一个类并继承IMethodMonitor接口
{
[Monitor("TargetNamespace","TargetClass")] //目标方法的名称空间,类名
public string Get() //方法签名要与目标方法一致
{
return "B" + Ori();
} [MethodImpl(MethodImplOptions.NoInlining)]
[Original] //原函数标记
public string Ori() //方法签名要与目标方法一致
{
return null; //这里写什么无所谓,能编译过即可
}
}

3.定义目标函数,例如:

public string Get()
{
return "A"
}

4.安装监视器

Console.WrtieLine(Get());
Monitor.Install()
Console.WrtieLine(Get());

第一次调用Get输出的值是"A",第二次是"BA"

最新文章

  1. apache.commons.io.IOUtils: 一个很方便的IO工具库(比如InputStream转String)
  2. ubuntu 16.04 + N驱动安装 +CUDA+Qt5 + opencv
  3. 机器学习实战笔记(Python实现)-01-K近邻算法(KNN)
  4. Ajax 数据库操作
  5. Scrum Meeting 4-20151204
  6. 自定义圆的半径attr.xml
  7. 如何实现标准TCODE的屏幕增强
  8. CAT XQX --- 省市三级级联实现说明
  9. ubuntu系统下配置php支持SQLServer数据库
  10. Django用户认证系统(三)组与权限
  11. Keras如何构造简单的CNN网络
  12. ubuntu14.04安装百度云Bcloud
  13. Android网络:开发浏览器(五)——功能完善之保存图片实现
  14. DIV固定在页面某个位置,不随鼠标滚动而滚动
  15. 2019-04-04 Mybatis学习知识点
  16. SAP MM 启用批次管理的物料MB21创建预留单据时批次号可以为空!
  17. java使用Rome解析Rss的实例(转)
  18. 走进JDK(七)------LinkedList
  19. 函数节流和防抖(todo)
  20. go1.8之安装配置具体步骤

热门文章

  1. 【TJOI 2019】唱、跳、rap和篮球
  2. 基于初始种子自动选取的区域生长(python+opencv)
  3. 21. ClustrixDB 识别平台限制
  4. 基于官方postgres docker镜像制作自己的镜像
  5. hdu 1796 How many integers can you find 容斥第一题
  6. mysql 日期转换sql函数
  7. linux crontab 定时任务,任务命令单独linux执行正常,放定时任务就不执行了,解决办法 (原)
  8. JavaWeb_JSTL标签数据的存储
  9. Mysql 里CHAR和VARCHAR的最大长度及一些注意事项
  10. _parameter:解决There is no getter for property named in class java.lang.String