“反转”的方法dw20.exe 哈希值?

发布于 2024-08-10 08:53:53 字数 885 浏览 7 评论 0原文

我们的应用程序一直抛出未处理的异常。 DW20.exe 会像以下测试用例一样记录这些内容:

EventType clr20r3, P1 clr20r3.exe, P2 1.0.0.0, P3 4af175d6, P4 clr20r3, P5 1.0.0.0, P6 4af175d6, P7 1, P8 a, P9 system.applicationexception, P10 NIL.

P9 是异常的名称。如果异常名称长度超过 32 个字符,DW20.exe 会对名称进行哈希处理(并且可能对哈希值进行编码)。例如,异常“LongExceptionWithNameThatIsOver32”记录为:

EventType clr20r3, P1 aspnet_wp.exe, P2 2.0.50727.3082, P3 492b8702, P4 app_web_bmcy0pha, P5 0.0.0.0, P6 4af86274, P7 59, P8 5, P9 3e3rjg2ow1fkknn0eqptakfytpvxew1k, P10 NIL.

如您所见,P9 不再是异常名称,而是名称的哈希值。

我可以一次在应用程序中抛出一个异常,但我更愿意将异常名称提供给实用程序,而不是获取哈希值。我相当确定 DW20.exe 是执行哈希的程序(而不是 .NET 运行时)。我想知道 dw20.exe 使用什么哈希/编码算法,以便我可以构建一个实用程序来获取所有异常并生成相应的哈希/编码。

我尝试将windbg附加到测试程序,但是没有调用dw20.exe。我尝试将windbg附加到dw20.exe,当它弹出有关传输到微软的对话框时,但那时它已经记录了异常。我无法让 dw20.exe 在 Windbg.exe 的控制下启动,这将是找出正在使用的内容的一种方法。

JR

Our application has been throwing unhandled exceptions. DW20.exe logs these like this test case:

EventType clr20r3, P1 clr20r3.exe, P2 1.0.0.0, P3 4af175d6, P4 clr20r3, P5 1.0.0.0, P6 4af175d6, P7 1, P8 a, P9 system.applicationexception, P10 NIL.

P9 is the name of the exception. If the exception name is over 32 characters long, DW20.exe hashes the name (and presumably encodes the hash). For instance, the exception "LongExceptionWithNameThatIsOver32" is logged as:

EventType clr20r3, P1 aspnet_wp.exe, P2 2.0.50727.3082, P3 492b8702, P4 app_web_bmcy0pha, P5 0.0.0.0, P6 4af86274, P7 59, P8 5, P9 3e3rjg2ow1fkknn0eqptakfytpvxew1k, P10 NIL.

As you can see, P9 is no longer the exception name, but a hash of the name.

I can throw the exceptions in our application one at a time, but I'd prefer to feed the exception name to a utility program instead to get the hash. I'm fairly sure that DW20.exe is the program doing the hashing (and not the .NET Runtime). I'd like to know what hashing/encoding algorithm dw20.exe is using so I can build a utility that will take all my exceptions and produce the corresponding hash/encode.

I've tried attaching windbg to the test program, but then dw20.exe isn't invoked. I've tried attaching windbg to dw20.exe when it puts up the dialog box about transmitting to microsoft, but it has already logged the exception by then. I can't get dw20.exe to start under the control of windbg.exe, which would be one way to find out what is being used.

JR

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文