是否可以将类“挂钩”到运行.net程序?

时间:2013-06-30 17:35:28

标签: c# .net hook

我最近玩的是dll注入(主要是easyhook),我开始想知道 - 是否可以使用.net类做类似的事情?

例如,覆盖TcpStream和SslStream以监视应用程序的通信。箍应用程序会将自己注入另一个应用程序并显示已发送和接收的流量日志。

我知道有更简单的方法来监控应用程序的流量,但这仍然是一个非常好的工具。

1 个答案:

答案 0 :(得分:2)

很有可能。如果可以将DLL注入应用程序,则可以在该应用程序中self host the CLRThis website如果您能容忍巨幅照片,则会提供详细的教程。

然而,你正在详述的内容比DLL注入要简单得多;这真的是一个不同的问题。您需要在.NET中破坏程序集的强命名,替换计算机上的相应.NET程序集,然后编写新的SslStream类以向您报告。这需要大量工作,因为你需要为你计划修补的每个课程重新构建每个程序集。

另一种方法是挂钩.NET将要使用的底层套接字提供程序。您可以使用easyhook拦截winsock通信,然后解密您需要的SSL流,以分析目标应用程序的内存以提取密码和密钥信息。