Snoop允许您查看应用程序内部并更改元素属性.它对开发人员来说是一笔巨大的财富,但在某些情况下可能会出现安全问题,例如我们的用户喜欢寻找他们不应该寻找的地方.有没有办法阻止像Snoop这样的应用程序"窥探"您的应用程序?
如果没有办法阻止它,你建议做什么来降低安全风险?
Snoop是一个实用程序,允许您浏览wpf应用程序的可视树并查看和更改属性.当您尝试调试某些内容并且不知道发生了什么时,它非常有用.你可以在这里找到更多.
谢谢.
当我运行Snoop 2.8时,它会看到我程序的主窗口并将其列在其中ComboBox
.但是,我的程序创建了一个通过调用显示的子窗口ChildWindow.Show()
.无论我做什么,我都无法窥探那个孩子的窗户.如果我刷新窗口列表,它不会显示.如果我将双筒望远镜旁边的小十字线图标拖到子窗口上,则会出现主窗口.
如何窥探应用程序的子窗口?
我有一个ContextMenu
使用CompositeCollection
它的ItemsSource.其中一个项目(绑定集合中的项目,而不是硬编码的项目)与其他项目的显示方式不同.
我没有在XAML中看到任何明显的原因,所以我认为我会使用Snoop来查看实际渲染的样式(并找到差异).但是,每当我激活Snoop窗口以查找上下文菜单时,它都会关闭菜单!
有没有办法使用Snoop(或类似的工具)来检查ContextMenu
?
我开发了各种相对简单的固件设备.这些中的每一个最终都会以某种方式通过RS-232端口与PC(或其他设备)通话,因此我花了很多时间来实现和调试他们的通信协议.
我最常见的用例是窥探在我的PC上运行的程序,该程序通过串行端口(RS-232)与设备通信.我希望看到发送的内容以及何时发送,延迟传入和传出数据以及可能注入数据(特别是根据规则响应传入数据).
我现在想要的基本上是WireShark for serial.我喜欢它监听和解码标准网络协议的方式.我只是希望它可以窥探串口(也许有一个很好的插件?)
我有Windows7和Visual Studio 2008.我已经打开了新的Wpf应用程序并运行它,并运行Snoop并且它没有检测到我的wpf窗口.为什么?
我试过刷新按钮 - 没有帮助.
我想运行我的程序并将鼠标悬停在元素上,让程序在可视树中显示我正在盘旋的内容.我试过'Snoop',但它只是向我展示了一个没有在运行时实际悬停在元素上的能力的可视化树.你们知道这样的工具吗?
间谍实用程序Snoop使用一些强大的技术(可能是某种反射)来检查正在运行的WPF应用程序.最有趣的是,Snnop能够读出整个对象结构.
几天前,我下载了Snoop源代码,并花了一些时间研究内部行为.不幸的是,我还没知道Snoop是如何做这些事情的,所以我希望任何人都可以帮助我.
在工作中我正在编写一个Coded UI Testing-Framework,如果我可以访问应用程序的对象结构,那将是非常棒的,因为这样我不仅可以断言UI状态.
更新:
这是所需的代码:
string filePath = "WpfApp.exe";
AppDomain appDomain = AppDomain.CurrentDomain;
byte[] bytes = System.IO.File.ReadAllBytes(filePath);
Assembly ass = appDomain.Load(bytes);
ass.EntryPoint.Invoke(null, new object[] { });
IntPtr handle = Process.GetCurrentProcess().MainWindowHandle;
Window w = System.Windows.Interop.HwndSource.FromHwnd(handle).RootVisual as Window;
Run Code Online (Sandbox Code Playgroud)
这对我来说已经是一个很大的帮助,但是了解Snoop如何将自己注入另一个进程也很有趣.
我正在构建一个WPF 4应用程序.在过去,Snoop能够看到应用程序,但现在却没有.Snoop 2.7.1和2.8.0也是如此.
也就是说,我点击刷新按钮,我的应用程序不会显示在下拉控件中.我将十字准线拖到窗户上,它什么也没做.
我正在调试一些模板问题时,我真的需要窥探我的应用程序.有人可以帮忙吗?
当我在我的WPF应用程序上运行Snoop时,我的应用程序崩溃了,我收到一条错误消息"检测到BindingFailure".错误的详细信息是:
The assembly with display name 'Snoop.XmlSerializers' failed to load in the 'LoadFrom' binding context of the AppDomain with ID 1. The cause of the failure was: System.IO.FileNotFoundException: Could not load file or assembly 'Snoop.XmlSerializers, Version=2.8.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
以前有人遇到过这个问题吗?我不知道是什么导致了它.
我已经使用Snoop应用程序作为我的WPF应用程序的间谍实用程序来找到ui元素的焦点.与此类似,任何间谍实用程序都可用于通用Windows(UWP)应用程序.我也尝试过XamlSpy实用程序用于我的应用程序,但它无法有效工作.是否有任何其他实用程序可用于UWP应用程序?
有没有窥探工具提示的技巧?因为一旦鼠标移到它上面它就会消失,所以没有机会按 ctrl+shift+click。
我想检查应用程序从我的iPhone发出的网络请求.它与我的计算机位于同一个WiFi网络上(或者如果它使事情变得更容易,我可以将其设置为使用ad-hoc网络).我不想看到每个数据包,只是我的iPhone请求的URL.我并不关心返回的数据.
一个简单的解决方案将非常感激.
snoop ×12
wpf ×9
c# ×3
.net ×1
firebug ×1
ios ×1
iphone ×1
networking ×1
reflection ×1
security ×1
serial-port ×1
url ×1
uwp ×1
windows ×1
xaml ×1