From fc39c4873f0ca91751272682ed2b66aee31cfc99 Mon Sep 17 00:00:00 2001 From: William Dibbern Date: Thu, 11 Jun 2015 15:09:15 -0500 Subject: [PATCH] Fix enable toggling, add installer --- Imposter.Fiddler.Installer/App.xaml | 8 + Imposter.Fiddler.Installer/App.xaml.cs | 17 ++ .../Content/success.png | Bin 0 -> 4702 bytes .../Imposter.Fiddler.Installer.csproj | 182 ++++++++++++++++++ Imposter.Fiddler.Installer/Imposter.ico | Bin 0 -> 370070 bytes Imposter.Fiddler.Installer/Imposter.snk | Bin 0 -> 596 bytes Imposter.Fiddler.Installer/MainWindow.xaml | 82 ++++++++ Imposter.Fiddler.Installer/MainWindow.xaml.cs | 83 ++++++++ .../Properties/AssemblyInfo.cs | 55 ++++++ Imposter.Fiddler.Installer/app.manifest | 11 ++ Imposter.Fiddler.Installer/packages.config | 4 + Imposter.Fiddler.sln | 6 + Imposter.Fiddler/Imposter.Fiddler.csproj | 12 +- Imposter.Fiddler/Imposter.cs | 34 +++- Imposter.Fiddler/Views/ProfileEditor.xaml | 5 +- Imposter.Fiddler/packages.config | 2 +- 16 files changed, 487 insertions(+), 14 deletions(-) create mode 100644 Imposter.Fiddler.Installer/App.xaml create mode 100644 Imposter.Fiddler.Installer/App.xaml.cs create mode 100644 Imposter.Fiddler.Installer/Content/success.png create mode 100644 Imposter.Fiddler.Installer/Imposter.Fiddler.Installer.csproj create mode 100644 Imposter.Fiddler.Installer/Imposter.ico create mode 100644 Imposter.Fiddler.Installer/Imposter.snk create mode 100644 Imposter.Fiddler.Installer/MainWindow.xaml create mode 100644 Imposter.Fiddler.Installer/MainWindow.xaml.cs create mode 100644 Imposter.Fiddler.Installer/Properties/AssemblyInfo.cs create mode 100644 Imposter.Fiddler.Installer/app.manifest create mode 100644 Imposter.Fiddler.Installer/packages.config diff --git a/Imposter.Fiddler.Installer/App.xaml b/Imposter.Fiddler.Installer/App.xaml new file mode 100644 index 0000000..c09dd94 --- /dev/null +++ b/Imposter.Fiddler.Installer/App.xaml @@ -0,0 +1,8 @@ + + + + + diff --git a/Imposter.Fiddler.Installer/App.xaml.cs b/Imposter.Fiddler.Installer/App.xaml.cs new file mode 100644 index 0000000..ea36004 --- /dev/null +++ b/Imposter.Fiddler.Installer/App.xaml.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Configuration; +using System.Data; +using System.Linq; +using System.Threading.Tasks; +using System.Windows; + +namespace Imposter.Fiddler.Installer +{ + /// + /// Interaction logic for App.xaml + /// + public partial class App : Application + { + } +} diff --git a/Imposter.Fiddler.Installer/Content/success.png b/Imposter.Fiddler.Installer/Content/success.png new file mode 100644 index 0000000000000000000000000000000000000000..98c365b247aeb9774a243990148808875f7b7912 GIT binary patch literal 4702 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 + + + + Debug + AnyCPU + {9593C0A3-BB7F-4BE4-9FB5-C9A51CF73D4F} + WinExe + Properties + Imposter.Fiddler.Installer + Install + v4.0 + 512 + {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + 4 + ..\ + true + + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + none + true + bin\Release\ + TRACE + prompt + 4 + false + + + Imposter.ico + + + + app.manifest + + + true + + + Imposter.snk + + + + ..\packages\MahApps.Metro.1.1.2.0\lib\net40\MahApps.Metro.dll + True + + + + + ..\packages\MahApps.Metro.1.1.2.0\lib\net40\System.Windows.Interactivity.dll + True + + + + + + + + 4.0 + + + + + + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + App.xaml + Code + + + MainWindow.xaml + Code + + + + + Code + + + Designer + + + + + + + + + + + False + Microsoft .NET Framework 4 %28x86 and x64%29 + true + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 3.5 SP1 + false + + + False + Windows Installer 4.5 + true + + + + + + + + Scripts\Imposter.Fiddler.dll + Always + + + Scripts\imposter.js + Always + + + Scripts\MahApps.Metro.dll + Always + + + + + Scripts\System.Windows.Interactivity.dll + + + + + + + This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + + \ No newline at end of file diff --git a/Imposter.Fiddler.Installer/Imposter.ico b/Imposter.Fiddler.Installer/Imposter.ico new file mode 100644 index 0000000000000000000000000000000000000000..73e73cc117a29ee1579ff97dc3b56dd32003c5e5 GIT binary patch literal 370070 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 literal 0 HcmV?d00001 diff --git a/Imposter.Fiddler.Installer/MainWindow.xaml b/Imposter.Fiddler.Installer/MainWindow.xaml new file mode 100644 index 0000000..2cdeced --- /dev/null +++ b/Imposter.Fiddler.Installer/MainWindow.xaml @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + + + + You're about to embark on a journey you'll ne'er forget. + + + + + + + + + + + + + + diff --git a/Imposter.Fiddler.Installer/MainWindow.xaml.cs b/Imposter.Fiddler.Installer/MainWindow.xaml.cs new file mode 100644 index 0000000..5210ff0 --- /dev/null +++ b/Imposter.Fiddler.Installer/MainWindow.xaml.cs @@ -0,0 +1,83 @@ +using MahApps.Metro.Controls; +using Microsoft.Win32; +using System; +using System.IO; +using System.Windows; +using System.Windows.Controls; + +namespace Imposter.Fiddler.Installer +{ + /// + /// Interaction logic for MainWindow.xaml + /// + public partial class MainWindow : MetroWindow + { + public MainWindow() + { + InitializeComponent(); + } + + private void Install_Click(object sender, RoutedEventArgs e) + { + Install.IsEnabled = false; + Progress.IsActive = true; + + var installLocation = GetFiddlerLocation(); + + if (installLocation == null || !Directory.Exists(installLocation)) + { + MessageBox.Show("Failed to locate Fiddler2 Installation Location. Please check Fiddler is installed"); + Install.IsEnabled = true; + Progress.IsActive = false; + return; + } + + File.Copy("Scripts\\Imposter.Fiddler.dll", installLocation + "Imposter.Fiddler.dll", true); + File.Copy("Scripts\\imposter.js", installLocation + "imposter.js", true); + File.Copy("Scripts\\MahApps.Metro.dll", installLocation + "MahApps.Metro.dll", true); + + Tabs.SelectedIndex = _tabIndex = 1; + } + + private string GetFiddlerLocation() + { + try + { + using (var key = Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Fiddler2")) + { + if (key != null) + { + Object o = key.GetValue("LMScriptPath"); + if (o != null) + { + var path = o as string; + path = path.Substring(1, path.Length - 2); + return path; + } + } + } + } + catch (Exception ex) + { + // do something with this + } + + return null; + } + + private int _tabIndex = 0; + + private void Tabs_SelectionChanged(object sender, SelectionChangedEventArgs e) + { + if (e.OriginalSource != Tabs) + { + return; + } + + if (Tabs.SelectedIndex != _tabIndex) + { + Tabs.SelectedIndex = _tabIndex; + } + } + } +} diff --git a/Imposter.Fiddler.Installer/Properties/AssemblyInfo.cs b/Imposter.Fiddler.Installer/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..7915941 --- /dev/null +++ b/Imposter.Fiddler.Installer/Properties/AssemblyInfo.cs @@ -0,0 +1,55 @@ +using System.Reflection; +using System.Resources; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Windows; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Imposter.Fiddler.Installer")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Imposter.Fiddler.Installer")] +[assembly: AssemblyCopyright("Copyright © 2015")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +//In order to begin building localizable applications, set +//CultureYouAreCodingWith in your .csproj file +//inside a . For example, if you are using US english +//in your source files, set the to en-US. Then uncomment +//the NeutralResourceLanguage attribute below. Update the "en-US" in +//the line below to match the UICulture setting in the project file. + +//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)] + + +[assembly: ThemeInfo( + ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located + //(used if a resource is not found in the page, + // or application resource dictionaries) + ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located + //(used if a resource is not found in the page, + // app, or any theme specific resource dictionaries) +)] + + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// 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.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Imposter.Fiddler.Installer/app.manifest b/Imposter.Fiddler.Installer/app.manifest new file mode 100644 index 0000000..84901bd --- /dev/null +++ b/Imposter.Fiddler.Installer/app.manifest @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/Imposter.Fiddler.Installer/packages.config b/Imposter.Fiddler.Installer/packages.config new file mode 100644 index 0000000..b9ca3d3 --- /dev/null +++ b/Imposter.Fiddler.Installer/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/Imposter.Fiddler.sln b/Imposter.Fiddler.sln index aea34f7..fab0baf 100644 --- a/Imposter.Fiddler.sln +++ b/Imposter.Fiddler.sln @@ -10,6 +10,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{DD8A49 .nuget\NuGet.targets = .nuget\NuGet.targets EndProjectSection EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Imposter.Fiddler.Installer", "Imposter.Fiddler.Installer\Imposter.Fiddler.Installer.csproj", "{9593C0A3-BB7F-4BE4-9FB5-C9A51CF73D4F}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -20,6 +22,10 @@ Global {6C7AB355-6758-4484-8560-CD6B22B1120B}.Debug|Any CPU.Build.0 = Debug|Any CPU {6C7AB355-6758-4484-8560-CD6B22B1120B}.Release|Any CPU.ActiveCfg = Release|Any CPU {6C7AB355-6758-4484-8560-CD6B22B1120B}.Release|Any CPU.Build.0 = Release|Any CPU + {9593C0A3-BB7F-4BE4-9FB5-C9A51CF73D4F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9593C0A3-BB7F-4BE4-9FB5-C9A51CF73D4F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9593C0A3-BB7F-4BE4-9FB5-C9A51CF73D4F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9593C0A3-BB7F-4BE4-9FB5-C9A51CF73D4F}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/Imposter.Fiddler/Imposter.Fiddler.csproj b/Imposter.Fiddler/Imposter.Fiddler.csproj index 312d49c..489e1ef 100644 --- a/Imposter.Fiddler/Imposter.Fiddler.csproj +++ b/Imposter.Fiddler/Imposter.Fiddler.csproj @@ -43,8 +43,8 @@ ..\..\..\..\Program Files (x86)\Fiddler2\Fiddler.exe False - - ..\packages\MahApps.Metro.0.10.1.1\lib\net40\MahApps.Metro.dll + + ..\packages\MahApps.Metro.1.1.2.0\lib\net40\MahApps.Metro.dll True @@ -55,7 +55,7 @@ - ..\packages\MahApps.Metro.0.10.1.1\lib\net40\System.Windows.Interactivity.dll + ..\packages\MahApps.Metro.1.1.2.0\lib\net40\System.Windows.Interactivity.dll True @@ -81,9 +81,6 @@ ProfileEditor.xaml - - - MSBuild:Compile @@ -99,6 +96,7 @@ Always + @@ -109,7 +107,7 @@ - copy "$(TargetPath)" "%25programfiles(x86)%25\Fiddler2\Scripts\$(TargetFilename)" + copy "$(TargetDir)" "%25programfiles(x86)%25\Fiddler2\Scripts\" diff --git a/Imposter.Fiddler/Imposter.cs b/Imposter.Fiddler/Imposter.cs index e249dd5..72e336a 100644 --- a/Imposter.Fiddler/Imposter.cs +++ b/Imposter.Fiddler/Imposter.cs @@ -20,6 +20,7 @@ public class Imposter : IAutoTamper private ImposterSettings _settings = null; // TODO: switch to List, need to set watcher on the profile maybe? then switch poll for changes to have a parameter private Profile _currentProfile = null; + private ToolStripMenuItem _currentMenuItem = null; private FileSystemWatcher _watcher = null; private bool _hasChanges = false; @@ -185,14 +186,39 @@ private void ProfileEnable_Click(object sender, EventArgs e) var parent = item.OwnerItem as ToolStripMenuItem; parent.Checked = !parent.Checked; - _currentProfile = _settings.Profiles.Where(p => p.Name == parent.Text).First(); - - if (!IsEnabled) + if (item.Checked) { + IsEnabled = true; + _isEnabled.Checked = true; _isEnabled.Enabled = true; _autoReload.Enabled = true; - _isEnabled.PerformClick(); + _currentProfile = _settings.Profiles.Where(p => p.Name == parent.Text).First(); + + if (_currentMenuItem != null && _currentMenuItem != item) + { + // Uncheck previously enabled profile + _currentMenuItem.Checked = false; + parent = _currentMenuItem.OwnerItem as ToolStripMenuItem; + parent.Checked = false; + } + + // Track currently enabled profile for unchecking later + _currentMenuItem = item; + + Start(); + } + else + { + IsEnabled = false; + _isEnabled.Checked = false; + _isEnabled.Enabled = false; + _autoReload.Enabled = false; + + _currentProfile = null; + _currentMenuItem = null; + + Stop(); } } diff --git a/Imposter.Fiddler/Views/ProfileEditor.xaml b/Imposter.Fiddler/Views/ProfileEditor.xaml index f55c0b4..6f3881b 100644 --- a/Imposter.Fiddler/Views/ProfileEditor.xaml +++ b/Imposter.Fiddler/Views/ProfileEditor.xaml @@ -3,12 +3,13 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:Controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro" Title="Edit Profile" Height="500" Width="500" WindowStyle="ToolWindow" + WindowTransitionsEnabled="False" Background="#FFF"> - + @@ -96,7 +97,7 @@ AutoGenerateColumns="False" CanUserAddRows="True" CanUserDeleteRows="True" - Height="100" + Height="140" BorderBrush="#41B1E1" BorderThickness="1"> diff --git a/Imposter.Fiddler/packages.config b/Imposter.Fiddler/packages.config index 0d76b7a..b9ca3d3 100644 --- a/Imposter.Fiddler/packages.config +++ b/Imposter.Fiddler/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file