From 73daa53227ec818863615e718d90189cf2f86d18 Mon Sep 17 00:00:00 2001 From: Sebastian Solnica Date: Sat, 7 Jan 2017 17:52:32 +0100 Subject: [PATCH] many fixes and readme updated --- README.md | 72 ++---------------------- docs/rpcview-screenshot.png | Bin 0 -> 108508 bytes wtrace/Handlers/RpcTraceEventHandler.cs | 6 +- wtrace/Program.cs | 6 +- wtrace/Properties/AssemblyInfo.cs | 4 +- wtrace/Tracing/TraceCollector.cs | 5 +- 6 files changed, 13 insertions(+), 80 deletions(-) create mode 100644 docs/rpcview-screenshot.png diff --git a/README.md b/README.md index 454128a..90cb5ef 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,9 @@ # Wtrace -This application will trace in real-time all File I/O and TCP IP operations performed by a given process. It works on Windows 7+ and requires .NET 4.5.2+. The available options are: +This application will trace in real-time all File I/O, TCP IP, ALPC and RPC operations performed by a given process. It works on Windows 7+ and requires .NET 4.5.2+. Wtrace stops when the traced process exits, or if you issue Ctrl+C (Ctrl+Break in Powershell, when pipes are used) in its command line. + +The available options are: ``` Usage: wtrace [OPTIONS] pid|imagename args @@ -14,73 +16,7 @@ Options: -? Show this message and exit ``` -A sample session might look as follows: - -``` -> wtrace notepad -1161,2723 (5548) FileIO/Create 'C:\' (0xFFFFFA8019C23E60) rw- -1161,3690 (5548) FileIO/Create 'C:\tools\edit\notepad2_x86\Notepad2.exe' (0xFFFFFA80201F2380) rw- -1161,3929 (5548) FileIO/Close 'C:\' (0xFFFFFA8019C23E60) -1161,4618 (5548) FileIO/Close 'C:\tools\edit\notepad2_x86\Notepad2.exe' (0xFFFFFA80201F2380) -1161,5182 (5548) FileIO/Create 'C:\' (0xFFFFFA801D7DB870) rw- -1161,5618 (5548) FileIO/Create 'C:\tools\edit\notepad2_x86\Notepad2.exe' (0xFFFFFA8019C23E60) rw- -1161,5791 (5548) FileIO/Close 'C:\' (0xFFFFFA801D7DB870) -1161,8943 (5548) FileIO/Close 'C:\' (0xFFFFFA8019C23E60) -1162,4092 (5548) FileIO/Create 'C:\Windows\Prefetch\NOTEPAD2.EXE-33521769.pf' (0xFFFFFA8021C6C740) --- -1162,5236 (5548) FileIO/Read 'C:\Windows\Prefetch\NOTEPAD2.EXE-33521769.pf' (0xFFFFFA8021C6C740) 0x0 32b -1162,5844 (5548) FileIO/Read 'C:\Windows\Prefetch\NOTEPAD2.EXE-33521769.pf' (0xFFFFFA8021C6C740) 0x0 221918b -1163,9732 (5548) FileIO/Read 'C:\Windows\Prefetch\NOTEPAD2.EXE-33521769.pf' (0xFFFFFA8021C6C740) 0x0 221918b -1164,1271 (5548) FileIO/Create 'C:\Device\HarddiskVolume2' (0xFFFFFA801D7DB870) rw- -1164,1752 (5548) FileIO/Read '' (0xFFFFFA801CE62DE0) 0x1D36000 131072b -1165,1263 (5548) FileIO/Read '' (0xFFFFFA801CE62DE0) 0x242A000 4096b -1165,4730 (5548) FileIO/Create 'C:\PROGRAM FILES (X86)' (0xFFFFFA80201F2380) rw- -1165,5533 (5548) FileIO/Close 'C:\tools\edit\notepad2_x86\Notepad2.exe' (0xFFFFFA80201F2380) -1165,5885 (5548) FileIO/Create 'C:\PROGRAM FILES (X86)\NVIDIA CORPORATION' (0xFFFFFA8019C23E60) rw- -1165,6402 (5548) FileIO/Close 'C:\' (0xFFFFFA8019C23E60) -1165,6713 (5548) FileIO/Create 'C:\PROGRAM FILES (X86)\NVIDIA CORPORATION\COPROCMANAGER' (0xFFFFFA80201F2380) rw- -1165,7406 (5548) FileIO/Close 'C:\tools\edit\notepad2_x86\Notepad2.exe' (0xFFFFFA80201F2380) -1165,7710 (5548) FileIO/Create 'C:\PROGRAMDATA' (0xFFFFFA8019C23E60) rw- -1165,8410 (5548) FileIO/Close 'C:\' (0xFFFFFA8019C23E60) -1165,8711 (5548) FileIO/Create 'C:\PROGRAMDATA\NVIDIA CORPORATION' (0xFFFFFA80201F2380) rw- -1165,9169 (5548) FileIO/Close 'C:\tools\edit\notepad2_x86\Notepad2.exe' (0xFFFFFA80201F2380) -1165,9458 (5548) FileIO/Create 'C:\PROGRAMDATA\NVIDIA CORPORATION\DRS' (0xFFFFFA8019C23E60) rw- -… -8795,2575 (5548) FileIO/Close 'C:\WINDOWS\SYSWOW64\NVINIT.DLL' (0xFFFFFA8019D05B70) -8795,3008 (5548) FileIO/Close 'C:\WINDOWS\SYSTEM32\' (0xFFFFFA801F17B330) -8795,4049 (5548) FileIO/Close 'C:\WINDOWS\SYSWOW64\SSPICLI.DLL' (0xFFFFFA8019C10310) -======= ETW session ======= -### ETW session stopped. Number of lost events: 0 - -======= System Configuration ======= -Host: H46237 (intern.kmd.dk) -CPU: 2793MHz 8cores 32382MB -LOGICAL DISK: 0 C: NTFS 238GB -NIC: VMware Virtual Ethernet Adapter for VMnet1 fe80::18d4:b77e:29f8:a912;192.168.83.1 -NIC: VMware Virtual Ethernet Adapter for VMnet8 fe80::2471:4d56:2d03:697c;192.168.19.1 -NIC: Software Loopback Interface 1 ::1;127.0.0.1 -NIC: Microsoft ISATAP Adapter #5 fe80::5efe:192.168.83.1 -NIC: Microsoft ISATAP Adapter #4 fe80::5efe:192.168.19.1 - -======= File I/O ======= -File name Writes / Reads (bytes) -C:\tools\edit\notepad2_x86\notepad2.ini 7 140 / 2 209 860 - 0 / 1 757 376 -C:\tools\edit\notepad2_x86\notepad2.exe 0 / 1 454 080 -C:\Windows\Prefetch\NOTEPAD2.EXE-33521769.pf 0 / 443 868 -C:\WINDOWS\SYSTEM32\C_437.NLS 0 / 70 722 -C:\WINDOWS\MICROSOFT.NET\FRAMEWORK\V2.0.50727\SHFUSION.DLL 0 / 53 248 -C:\TOOLS\EDIT\NOTEPAD2_X86\NOTEPAD2.INI 0 / 38 132 -C:\WINDOWS\MICROSOFT.NET\FRAMEWORK\V2.0.50727\CULTURE.DLL 0 / 20 480 -C:\WINDOWS\MICROSOFT.NET\FRAMEWORK\V2.0.50727\FUSION.DLL 0 / 8 192 -C:\WINDOWS\MICROSOFT.NET\FRAMEWORK\V2.0.50727\SHFUSRES.DLL 0 / 8 192 -C:\WINDOWS\SYSWOW64\COMDLG32.DLL 0 / 4 096 -C:\Windows\Fonts\staticcache.dat 0 / 60 -C:\ProgramData\NVIDIA Corporation\Drs\nvdrssel.bin 0 / 1 - -======= Process/Thread ======= -Number of child processes started: 0 -Number of threads started: 0 -``` +**Please visit [wiki](https://github.com/lowleveldesign/wtrace/wiki) to learn more!** ## Links diff --git a/docs/rpcview-screenshot.png b/docs/rpcview-screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..678f802e2196e04e2f5112c0d4647d1f570de6d6 GIT binary patch literal 108508 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 z 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

E}@88a@H+_d!$3j#l)d-+@E%xpGVa<{k)34T1D% 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 - data.InterfaceUuid, data.Endpoint, data.ProcNum), $"{data.ProcessID}.{data.ThreadID}"); + var key = new Tuple(data.InterfaceUuid, data.Endpoint, data.ProcNum); + if (!awaitingClientCalls.ContainsKey(key)) { + awaitingClientCalls.Add(key, $"{data.ProcessID}.{data.ThreadID}"); + } } IncrementStatistics($"{data.InterfaceUuid} ({data.Endpoint})"); diff --git a/wtrace/Program.cs b/wtrace/Program.cs index 6329ee1..03394bb 100644 --- a/wtrace/Program.cs +++ b/wtrace/Program.cs @@ -1,14 +1,10 @@ -using LowLevelDesign.WinTrace.Handlers; -using LowLevelDesign.WinTrace.Tracing; -using Microsoft.Diagnostics.Tracing; -using Microsoft.Diagnostics.Tracing.Parsers; +using LowLevelDesign.WinTrace.Tracing; using Microsoft.Diagnostics.Tracing.Session; using NDesk.Options; using System; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; -using System.IO; using System.Reflection; using System.Runtime.InteropServices; using System.Threading; diff --git a/wtrace/Properties/AssemblyInfo.cs b/wtrace/Properties/AssemblyInfo.cs index 3a00796..9c3aa35 100644 --- a/wtrace/Properties/AssemblyInfo.cs +++ b/wtrace/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.1.0.0")] -[assembly: AssemblyFileVersion("1.1.0.0")] +[assembly: AssemblyVersion("1.2.0.0")] +[assembly: AssemblyFileVersion("1.2.0.0")] diff --git a/wtrace/Tracing/TraceCollector.cs b/wtrace/Tracing/TraceCollector.cs index 4d92494..3cf68ed 100644 --- a/wtrace/Tracing/TraceCollector.cs +++ b/wtrace/Tracing/TraceCollector.cs @@ -39,15 +39,14 @@ public void Stop() if (traceSession.IsActive) { int eventsLost = traceSession.EventsLost; - output.WriteLine("### Stopping ETW session..."); + output.WriteLine($"### Stopping {traceSession.SessionName} session..."); traceSession.Stop(); // This timeout is needed to handle all the DCStop events // (in case we ever are going to do anything about them) Thread.Sleep(1500); - output.WriteLine("======= ETW session ======="); - output.WriteLine($"### ETW session stopped. Number of lost events: {eventsLost:#,0}"); + output.WriteLine($"### {traceSession.SessionName} session stopped. Number of lost events: {eventsLost:#,0}"); output.WriteLine(); foreach (var handler in eventHandlers) {