编译的 .NET 应用程序 - 在运行时获取属性值
我有一个软件,它被混淆了。我需要获取它分配给控件的特定属性的值。 EXE 反混淆不是一个选项。有没有什么工具可以用来在运行时获取值?可以在调试器中完成吗?如果可以,那么如何实现?
I have a piece of software, which is obfuscated. I need to get value of a specific property it assigns to a control. EXE deobfuscation isn't an option. Is there any tool I can use to get the value at runtime? Can it be done in debugger, if yes, then how?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以使用与 Visual Studio 捆绑在一起的 Spy++(非 Express)获取信息。很大程度上取决于您实际寻找的信息。
(编辑实际说明)
加载 Spy++ (或 64 位)
选择间谍->查找窗口...
将“查找窗口”图标拖到您要查找的窗口上。
找到你的控制。
You may be able to get at the information using Spy++, bundled with Visual Studio ( non express ). Very much depends on the information you are actually looking for.
(Edit for actual instructions)
Load Spy++ ( or 64bit )
Chose Spy->Find Window...
Drag Find Window Icon onto the Window you are looking for.
Find your control.
这并不容易——混淆的目的是阻止你这样做。
最简单的方法是要求供应商通过公共 API 向您提供该值。如果他们拒绝,那么你无论如何都不应该破解他们的软件。
It won't be easy - the purpose of obfuscation is to stop you doing this.
The easiest approach is to ask the vendor to supply the value to you via a public API. If they say no, then you shouldn't be hacking their software anyway.
我已经反汇编了可执行文件并修改了 IL 指令以输出所需的属性,然后重新组装它。
I've disassembled the executable and modified IL instructions to output the required property, then re-assembled it.