我想记录给应用程序中的CryptoStream对象的参数,以便在加密之前记录明文。
我想动态地执行此操作,而不会篡改原始文件。有没有办法在应用程序和框架之间创建一个“层”来拦截所需的函数调用,将所需的参数写入文本文件,然后将控制权传递回框架?
如果是的话,你能指出我正确的方向,并提供样品吗?
对于那些对此有法律顾虑的人(这听起来像是一个s / w破解问题,我知道;)): 我得到了开发人员的许可。
答案 0 :(得分:2)
我认为你可以编写特定的调试器或特定的 profiler 。以下是指向CLR Managed Debugger (mdbg) Sample 4.0的链接以及指向CLR Profiler for .NET Framework 4 (sources and binaries)
的链接答案 1 :(得分:0)
有几种方法可以在不对原始文件进行抽样的情况下执行此操作: 1.使用SSCLI,使用clix.exe启动应用程序并在CLR源代码中设置断点。 2.使用Windbg + SOS.dll并从MS加载符号,在方法输入之前设置断点。 第三种方式是blackhat converence的新方法。修改MS的系统。*。dll。使它成为MSIL并在Crypto方法中添加一些IL。并将其构建回dll并使应用程序使用它。