# Snoop
Snoop is an open source WPF spying utility originally created by [Pete Blois](https://github.com/peteblois) and is currently maintained by [Bastian Schmidt](https://github.com/batzen).
It allows you to spy/browse the visual, logical and automation tree of any running WPF application (without the need for a debugger).
You can change property values, view triggers, set breakpoints on property changes and many more things.
[![Build status for master branch](https://img.shields.io/appveyor/ci/batzen/snoopwpf/master?style=flat-square&&label=master)](https://ci.appveyor.com/project/batzen/snoopwpf/branch/master)
[![Build status for develop branch](https://img.shields.io/appveyor/ci/batzen/snoopwpf/develop?style=flat-square&&label=develop)](https://ci.appveyor.com/project/batzen/snoopwpf/branch/develop)
[![Chocolatey version](http://img.shields.io/chocolatey/v/snoop.svg?style=flat-square)](https://chocolatey.org/packages/snoop)
[![Chocolatey download count](http://img.shields.io/chocolatey/dt/snoop.svg?style=flat-square)](https://chocolatey.org/packages/snoop)
## Contact
- [![Join the chat at https://gitter.im/snoopwpf/Lobby](https://img.shields.io/badge/GITTER-join%20chat-green.svg?style=flat-square)](https://gitter.im/snoopwpf/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
- [![Twitter](https://img.shields.io/badge/twitter-%40batzendev-blue.svg?style=flat-square)](https://twitter.com/batzendev)
## Where can i download Snoop?/How can i install Snoop?
- [Chocolatey](https://chocolatey.org/packages/snoop) for stable and some preview versions
- [GitHub releases](https://github.com/snoopwpf/snoopwpf/releases) for stable versions
- [AppVeyor](https://ci.appveyor.com/project/batzen/snoopwpf/build/artifacts) for the latest preview versions (built on every code change)
- You need at least .NET Framework 4.6.2 to run Snoop
## Supported .NET versions
- .NET Framework >= 4.6.2
- .NET >= 6
- Tested with 6, 7 and 8. Future versions might just work.
- **Restrictions:** Self-Contained single file applications are not supported as there is no reliable way to get a handle to the .NET runtime
## Versions
You can read the [changelog](Changelog.md) for details on what changed in which version.
### [6.0.0](../../releases/tag/v6.0.0)
Breaking:
- Dropped support for all .NET Framework versions prior to .NET 4.6.2
- Dropped support for .NET 3.1 and NET 5
### [5.0.0](../../releases/tag/v5.0.0)
Highlights:
- Improved settings system that does not rely on `System.Configuration`
The new system allows sharing of settings between different snooped applications.
It also allows to define settings for whole directory trees.
- It's now possible to hide properties from Snoop in it's default view.
Just annotate your properties with `[System.ComponentModel.BrowsableAttribute(false)]`.
- Added the ability to show browser dev tools on browser controls.
`WebView2` and `CefSharp` are currently supported.
- Added dark theme
Breaking:
- Dropped support for all .NET Framework versions prior to .NET 4.5.2
- Dropped support for .NET 3.0
- Added support for .NET versions >= 6.0 (by not explicitly blocking versions greater than 6.0)
### [4.0.0](../../releases/tag/v4.0.0)
Highlights:
- Support for .NET 6.0
- Support for ARM/ARM64
- New "Diagnostics" view
- Settings for highlighting
- Artifacts are digitally signed thanks to SignPath.io (MSI, Chocolatey NUPKG and zip)
Breaking:
- Dropped support for all .NET versions prior to .NET 4.5.1
### [3.0.0](../../releases/tag/v3.0.0)
Highlights:
- Support for .NET Core (3.0, 3.1 and 5.0) (including self contained and single file applications)
- Rewritten injector code
- You no longer have to have installed any Microsoft Visual C++ Redistributable(s)
- Snooping disabled controls when holding `CTRL + SHIFT` works now
- Snoop now filters uncommon properties by default
- Snoop is now able to show `MergedDictionaries` from `ResourceDictionary`
- Snoop now has two tracking modes.
- Holding `CTRL` tries to skip template parts => this is changed to `CTRL + ALT` in newer versions
- Holding `CTRL + SHIFT` does not skip template parts
- Drastically improved performance of `AppChooser.Refresh()` (thanks @mikel785)
- Usability improvements for process dropdown (thanks @mikel785)
- Support for displaying the logical tree and the tree of WPF automation peers
- Ability to inspect `Popup` without opening it
- `Snoop.exe` and the injector launcher now support commandline args
- Global hotkey support (just start snoop, focus a WPF application and hit `CTRL + WIN + ALT + F12`)
Known issues:
- Trying to snoop a trimmed single file application might not work as trimming might have removed things Snoop relies on
### [2.11.0](../../releases/tag/2.11.0)
Highlights:
- Support for multiple app domains
- Auto elevation to enable spying of elevated processes without running Snoop as administrator
- Persistent settings for various settings
- Improved error dialog and issue reporting
- Rewritten window finder
### [2.10.0](../../releases/tag/2.10.0)
Was released on September 19th, 2018.
In this version we finally got rid of support for snooping WPF 3.5 applications.
This allowed us to move the Snoop projects forward to Visual Studio 2017 which should make it much easier to work with Snoop's source code.
### [2.9.0](../../releases/tag/2.9.0)
Was released on July 27th, 2018.
The big addition in this version was the inclusion of the triggers tab which was a useful feature of another WPF spying utility called WPF Inspector (written by [Christan Moser](https://github.com/ChristianMoser)).
It was ported to Snoop by Bastian Schmidt.
## Documentation on how to use Snoop
Unfortunately there isn't any exhaustive documentation on how to use Snoop and there are plenty of hidden features. If someone is willing to work on this, please let me know. On the bright side, it is a pretty easy utility to use and learn. I have made three videos which should get most people quick started.
Here are the links to the current Snoop Tips & Tricks:
- https://www.youtube.com/watch?v=n8EdRR0Tc1k
- https://www.youtube.com/watch?v=98UEVCQHmVA
- https://www.youtube.com/watch?v=frXAgGzZnrU
## Why can't I snoop my application?
Well, you can! You will just need to use an earlier version of Snoop, in order to do so.
The minimum versions are:
| Snoop | .NET Framework | .NET |
|-------|----------------|------|
| 3.0 | 4.0 | 3.0 |
| 4.0 | 4.5.1 | 3.0 |
| 5.0 | 4.5.2 | 3.1 |
| 6.0 | 4.6.2 | 6.0 |
## How do i build Snoop?
Just open `Snoop.sln` with Visual Studio and build it.
Requirements:
- Visual Studio 2022
- C++ payloads (x86/x64 and optionally ARM/ARM64)
- You can import the [.vsconfig](.vsconfig) file in the Visual Studio installer to let it install all required components
- .NET SDK 8.0.100 or later
## Contributors
Over time contributions have been added by several people, most notably:
- [Bastian Schmidt](https://github.com/batzen), [batzen.dev](https://batzen.dev) (current maintainer)
- [Cory Plotts](https://github.com/cplotts)
- [Dan Hanan](http://blogs.interknowlogy.com/author/danhanan/)
- [Andrei Kashcha](http://blog.yasiv.com/)
- [Maciek Rakowski](https://github.com/MaciekRakowski)
- [Bailey Ling](https://github.com/bling)
## Code Signing
Snoop uses free code signing provided by [SignPath.io](https://signpath.io?utm_source=foundation&utm_medium=github&utm_campaign=snoopwpf) and a free code signing certificate by the [SignPath Foundation](https://signpath.org?utm_source=foundation&utm_medium=github&utm_campaign=snoopwpf)
一名不想学习的学渣
- 粉丝: 7778
- 资源: 17
最新资源
- 三相两电平逆变器dpwm(断续pwm,离散脉宽调制方法)simulink仿真开环,可降低开关损耗,利用载波调制改进处理,算法简洁
- 124-西门子200SMART加显控触摸屏水处理程序案例控制系统程序,30吨双级反渗透加EDI工艺 系统采用成熟、可靠、先进、自动化程度高的二级反渗透+EDI除盐水处理工艺,确保处理后的超纯水水质确
- 伺服电机两环系统控制仿真模型 PSO粒子群算法优化伺服电机速度环参数 模型搭建 算法优化 参数寻优
- #模型预测控制MPC仿真 基于MPC的三相全桥(两电平)逆变器并网仿真模型 控制目标包括:电网电流 此外,单矢量,开关信号结合了SVPWM 注: 仿真波形解读:电网电流控制效果很好,相角与电网一
- LQR车辆轨迹跟踪 基于二自由度动力学模型和frenet坐标系建立的模型状态空间方程,使用lqr控制跟踪轨迹,前馈控制消除稳态误差,基于五次多项式方法进行轨迹规划,实现高精度轨迹跟踪 在Carsim
- 基于c++的opencv卡尺卡尺找直线工具,可利用卡尺进行拖拽测量,仅提供全套源码加注释
- Fluent激光焊接小孔数值模拟,包括椎体热源模型,双椭球热源模型,反冲压力,表面张力,热浮力以及小孔表面的热损失,反冲压力采用基于密度的CSF公式平滑处理,热源,热损失也有处理,更材料参数即可使用
- VSG预同步控制matlab仿真模型 主要模块: 并网逆变器+VSG控制+预同步控制+电流电流双环控制 锁相环、三相准PR控制、PWM 并附带参考文献,内容详实,适合电力电子入门仿真参考
- 电气工程 自动化基于matlab的simulink仿真 带风力机最大功率跟踪直驱永磁同步电机 孤岛pwm制氢svpwm调制技术 双三相dq参数辨识
- 西门子200smart运动控制四轴搬运取料机案例程序 该程序为两台smart plc通过通讯控制四轴伺服电机的搬运取料机案例工程案例程序 包含200smar-PLC程序+项目电气接线图(PDF图纸
- comsol仿真,变压器三相短路绕组振动模型 包括电磁场分布,轴向力,幅向力,磁密分布,振动形变等结果
- 02固定及切拓扑多智能体系统分布式动态事件触发一致性控制
- 01线性多智能体分布式动态事件触发一致性
- simpack轨道客车模型,非线性临界速度300(第二个图横坐标3.6)
- MMC并网逆变器 滑模控制 1.MMC工作在整流侧,子模块个数N=22, 直流侧电压Udc=11kV,交流侧电压6.6kV 2.控制器采用双闭环控制,外环控制有功功率,采用PI调节器,电流内环采
- 媲美ti的磁链无感方案 2022最新优化版 源码不含开发板,全部开放
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈