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