Permalink
Browse files

Initial push, happy holidays

  • Loading branch information...
1 parent 6092dba commit aa7a14dcf862d8fedf980b77a4339a4583523048 @riverar committed Dec 28, 2014
Showing with 3,518 additions and 705 deletions.
  1. +41 −28 .gitignore
  2. +675 −675 LICENSE
  3. +71 −2 README.md
  4. +20 −0 code/bundle/Bundle.wxs
  5. +104 −0 code/bundle/bundle.wixproj
  6. BIN code/bundle/theme/uxstyle.png
  7. +37 −0 code/bundle/theme/uxstyle.wxl
  8. +51 −0 code/bundle/theme/uxstyle.xml
  9. +263 −0 code/driver/Logging.c
  10. +85 −0 code/driver/dispatch.c
  11. +143 −0 code/driver/dvrmain.c
  12. +163 −0 code/driver/miscroutines.c
  13. +278 −0 code/driver/patchroutines.c
  14. +14 −0 code/driver/resource.h
  15. +170 −0 code/driver/uxpatch package.vcxproj
  16. +166 −0 code/driver/uxpatch.h
  17. BIN code/driver/uxpatch.rc
  18. +280 −0 code/driver/uxpatch.vcxproj
  19. +5 −0 code/installer/Conditions.wxs
  20. +51 −0 code/installer/CustomActions.wxs
  21. +97 −0 code/installer/Installer.wixproj
  22. +66 −0 code/installer/Product.wxs
  23. BIN code/installer/msm/Microsoft_VC110_CRT_x64.msm
  24. BIN code/installer/msm/Microsoft_VC110_CRT_x86.msm
  25. BIN code/installer/msm/Microsoft_VC120_CRT_x64.msm
  26. BIN code/installer/msm/Microsoft_VC120_CRT_x86.msm
  27. BIN code/installer/msm/Microsoft_VC90_CRT_x86.msm
  28. BIN code/installer/msm/Microsoft_VC90_CRT_x86_x64.msm
  29. BIN code/installer/msm/policy_9_0_Microsoft_VC90_CRT_x86.msm
  30. BIN code/installer/msm/policy_9_0_Microsoft_VC90_CRT_x86_x64.msm
  31. +62 −0 code/installer/old.license.rtf
  32. +405 −0 code/service/UnsignedThemesSvc.vcproj
  33. +248 −0 code/service/UnsignedThemesSvc.vcxproj
  34. +22 −0 code/service/app.manifest
  35. BIN code/service/resource.h
  36. BIN code/service/resource.rc
  37. BIN code/service/resource1.h
  38. BIN code/service/src/main.cpp
  39. BIN code/service/src/support.cpp
  40. +1 −0 code/tools/_sign.bat
View
@@ -1,28 +1,41 @@
-# Compiled Object files
-*.slo
-*.lo
-*.o
-*.obj
-
-# Precompiled Headers
-*.gch
-*.pch
-
-# Compiled Dynamic libraries
-*.so
-*.dylib
-*.dll
-
-# Fortran module files
-*.mod
-
-# Compiled Static libraries
-*.lai
-*.la
-*.a
-*.lib
-
-# Executables
-*.exe
-*.out
-*.app
+# Compiled Object files
+*.slo
+*.lo
+*.o
+*.obj
+
+# Precompiled Headers
+*.gch
+*.pch
+
+# Compiled Dynamic libraries
+*.so
+*.dylib
+*.dll
+
+# Fortran module files
+*.mod
+
+# Compiled Static libraries
+*.lai
+*.la
+*.a
+*.lib
+
+# Executables
+*.exe
+*.out
+*.app
+
+# Visual Studio artifacts
+bin
+obj
+*.sln
+*.sdf
+*.backup
+*.aps
+*.user
+*.opensdf
+*.suo
+*.log
+*.tlog
View
1,350 LICENSE
Oops, something went wrong.
View
@@ -1,2 +1,71 @@
-uxstyle
-=======
+# UxStyle #
+
+## About ##
+
+UxStyle is a bit of software that relaxes Windows theme signature requirements to enable third-party customization. Specifically, UxStyle consists of a tiny system service and a kernel driver that are loaded into memory where they hang out until reboot. No file system changes are made.
+
+(First introduced on March 19, 2009.)
+
+## Operating System Support ##
+
+* Windows codenamed "Whistler" (escrow builds)
+* Windows XP
+* Windows Vista
+* Windows 7
+* Windows 8
+* Windows 8.1
+* Windows Server 2003
+* Windows Server 2008
+* Windows Server 2008 R2
+* Windows Server 2012
+* Windows Server 2012 R2
+* Windows codenamed "Threshold"
+
+## Building ##
+
+### Required software ##
+
+* Visual Studio 2013
+* [Windows Driver Kit (WDK) for Windows 8.1](http://msdn.microsoft.com/en-us/library/windows/hardware/dn249725)
+* [Windows Software Development Kit for Windows 8.1](http://msdn.microsoft.com/en-us/windows/desktop/bg162891.aspx)
+* [WiX Toolset v3.8](https://wix.codeplex.com/releases/view/115492) (untested with newer)
+
+### Note about code signing ###
+
+Starting with Windows Vista, the kernel-mode code signing policy controls whether a kernel-mode driver will be loaded. The signing requirements depend on the version of the Windows operating system and on whether the driver is being signed for public release or by a development team during the development and test of a driver.
+
+More information can be found via the resources below:
+
+* [Kernel-Mode Code Signing Requirements](http://msdn.microsoft.com/en-us/library/windows/hardware/ff548239)
+* [Cross-Certificates for Kernel Mode Code Signing](http://msdn.microsoft.com/en-us/library/windows/hardware/dn170454)
+* [Driver Signing Policy](http://msdn.microsoft.com/en-us/library/windows/hardware/ff548231)
+
+**Legacy Windows users:** Pay particular attention to the hashing algorithm used in your code signing certificate. Windows 7 and below do not support the loading of kernel drivers signed with newer SHA-2-based certificates.
+
+More information can be found in [Microsoft Security Advisory 2880823](https://technet.microsoft.com/library/security/2880823).
+
+### Fuzzy step-by-step ###
+
+1. Open UxStyle.sln and start a Batch Build for the following project configurations:
+ * UnsignedThemes (x64, Release)
+ * UnsignedThemes (x86, Release)
+ * UxPatch (x86, Win 8 Release)
+ * UxPatch (x64, Win 8 Release)
+
+2. Manually sign build artifacts:
+ * \bin\x86\Release\UnsignedThemes.exe
+ * \bin\x64\Release\UnsignedThemes.exe
+ * \bin\driver\x86\uxstyle.sys
+ * \bin\driver\amd64\uxstyle.sys
+
+3. Return to Visual Studio and Batch Build the following project configurations:
+ * Installer (x64, Release)
+ * Installer (x86, Release)
+
+4. (optional) Manually sign build artifacts:
+ * \bin\x86\Release\Installer.msi
+ * \bin\x64\Release\Installer.msi
+
+5. Return to Visual Studio and build Bundle (x86, Release).
+
+6. Manually sign build artifact \bin\bundle\Release\UxStyle_Bundle.exe
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:bal="http://schemas.microsoft.com/wix/BalExtension">
+ <Bundle Name="UxStyle" Version="0.2.4.1" Manufacturer="The Within Network, LLC" UpgradeCode="c84fa50d-7d4b-4fe5-91d9-884008c3287e"
+ DisableRepair="yes" DisableModify="yes">
+
+ <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkLicense">
+
+ <bal:WixStandardBootstrapperApplication ThemeFile="theme\uxstyle.xml" LocalizationFile="theme\uxstyle.wxl" SuppressOptionsUI="yes" LicenseUrl="" />
+
+ <Payload SourceFile="theme\uxstyle.png" />
+
+ </BootstrapperApplicationRef>
+
+ <Chain>
+ <MsiPackage Id="Installer32" InstallCondition="NOT VersionNT64 " SourceFile="..\..\bin\x86\$(var.Configuration)\Installer.msi" />
+ <MsiPackage Id="Installer64" InstallCondition="VersionNT64" SourceFile="..\..\bin\x64\$(var.Configuration)\Installer.msi" />
+ </Chain>
+
+ </Bundle>
+</Wix>
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
+ <ProductVersion>3.7</ProductVersion>
+ <ProjectGuid>c84fa50d-7d4b-4fe5-91d9-884008c3287e</ProjectGuid>
+ <SchemaVersion>2.0</SchemaVersion>
+ <OutputName>UxStyle_Bundle</OutputName>
+ <OutputType>Bundle</OutputType>
+ <SignOutput>true</SignOutput>
+ <WixTargetsPath Condition=" '$(WixTargetsPath)' == '' AND '$(MSBuildExtensionsPath32)' != '' ">$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>
+ <WixTargetsPath Condition=" '$(WixTargetsPath)' == '' ">$(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
+ <OutputPath>..\..\bin\bundle\$(Configuration)\</OutputPath>
+ <IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
+ <DefineConstants>Debug</DefineConstants>
+ <SuppressPdbOutput>True</SuppressPdbOutput>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
+ <OutputPath>..\..\bin\bundle\$(Configuration)\</OutputPath>
+ <IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
+ <SuppressPdbOutput>True</SuppressPdbOutput>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
+ <DefineConstants>Debug</DefineConstants>
+ <SuppressPdbOutput>True</SuppressPdbOutput>
+ <OutputPath>..\..\bin\bundle\$(Configuration)\</OutputPath>
+ <IntermediateOutputPath>obj\$(Platform)\$(Configuration)\</IntermediateOutputPath>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
+ <SuppressPdbOutput>True</SuppressPdbOutput>
+ <OutputPath>..\..\bin\bundle\$(Configuration)\</OutputPath>
+ <IntermediateOutputPath>obj\$(Platform)\$(Configuration)\</IntermediateOutputPath>
+ </PropertyGroup>
+ <ItemGroup>
+ <Compile Include="Bundle.wxs" />
+ </ItemGroup>
+ <ItemGroup>
+ <WixExtension Include="WixBalExtension">
+ <HintPath>$(WixExtDir)\WixBalExtension.dll</HintPath>
+ <Name>WixBalExtension</Name>
+ </WixExtension>
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\installer\Installer.wixproj">
+ <Name>Installer _x64_</Name>
+ <Project>{d29fb7f9-b3a2-44fc-ba31-d7839c43e80e}</Project>
+ <Private>True</Private>
+ <DoNotHarvest>True</DoNotHarvest>
+ <RefProjectOutputGroups>Binaries;Content;Satellites</RefProjectOutputGroups>
+ <RefTargetDir>INSTALLFOLDER</RefTargetDir>
+ <Properties>
+ Platform = x64
+ </Properties>
+ </ProjectReference>
+ <ProjectReference Include="..\installer\Installer.wixproj">
+ <Name>Installer _x86_</Name>
+ <Project>{d29fb7f9-b3a2-44fc-ba31-d7839c43e80e}</Project>
+ <Private>True</Private>
+ <DoNotHarvest>True</DoNotHarvest>
+ <RefProjectOutputGroups>Binaries;Content;Satellites</RefProjectOutputGroups>
+ <RefTargetDir>INSTALLFOLDER</RefTargetDir>
+ <Properties>
+ Platform = x86
+ </Properties>
+ </ProjectReference>
+ </ItemGroup>
+ <ItemGroup>
+ <Folder Include="theme\" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="theme\uxstyle.png" />
+ <None Include="theme\uxstyle.xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="theme\uxstyle.wxl" />
+ </ItemGroup>
+ <Import Project="$(WixTargetsPath)" />
+ <!--
+ To modify your build process, add your task inside one of the targets below and uncomment it.
+ Other similar extension points exist, see Wix.targets.
+ <Target Name="BeforeBuild">
+ </Target>
+ <Target Name="AfterBuild">
+ </Target>
+ -->
+ <Target Name="SignMsi">
+ <Exec Command='"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\signtool.exe" sign /n "The Within Network, LLC" /t http://timestamp.verisign.com/scripts/timestamp.dll /v "@(SignMsi.FullPath)"' />
+ </Target>
+
+ <Target Name="SignBundleEngine">
+ <Exec Command='"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\signtool.exe" sign /n "The Within Network, LLC" /t http://timestamp.verisign.com/scripts/timestamp.dll /v "@(SignBundleEngine)"' />
+ </Target>
+
+ <Target Name="SignBundle">
+ <Exec Command='"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\signtool.exe" sign /n "The Within Network, LLC" /t http://timestamp.verisign.com/scripts/timestamp.dll /v "@(SignBundle)"' />
+ </Target>
+
+ <PropertyGroup>
+ <PostBuildEvent>rem "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\signtool.exe" sign /n "The Within Network, LLC" /t http://timestamp.verisign.com/scripts/timestamp.dll /v "!(TargetPath)"</PostBuildEvent>
+ </PropertyGroup>
+</Project>
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<WixLocalization Culture="en-us" Language="1033" xmlns="http://schemas.microsoft.com/wix/2006/localization">
+ <String Id="Caption">UxStyle [WixBundleVersion] Setup</String>
+ <String Id="ConfirmCancelMessage">Are you sure you want to cancel?</String>
+ <String Id="ExecuteUpgradeRelatedBundleMessage">Previous version</String>
+ <String Id="HelpHeader">Setup Help</String>
+ <String Id="HelpText">Click &lt;a href="http://uxstyle.com/support/install-switches"&gt;here&lt;/a&gt; for installation help.</String>
+ <String Id="HelpCloseButton">&amp;Close</String>
+ <String Id="InstallLicenseLinkText">Please read the UxStyle &lt;a href="#"&gt;license agreement&lt;/a&gt;.</String>
+ <String Id="InstallAcceptCheckbox">I &amp;agree to the terms.</String>
+ <String Id="InstallOptionsButton">&amp;Options</String>
+ <String Id="InstallInstallButton">&amp;Install</String>
+ <String Id="InstallCloseButton">&amp;Close</String>
+ <String Id="OptionsHeader">Setup Options</String>
+ <String Id="OptionsLocationLabel">Install location:</String>
+ <String Id="OptionsBrowseButton">&amp;Browse</String>
+ <String Id="OptionsOkButton">&amp;OK</String>
+ <String Id="OptionsCancelButton">&amp;Cancel</String>
+ <String Id="ProgressHeader">Setup Progress</String>
+ <String Id="ProgressLabel">Processing:</String>
+ <String Id="OverallProgressPackageText">Initializing...</String>
+ <String Id="ProgressCancelButton">&amp;Cancel</String>
+ <String Id="ModifyHeader">Modify Setup</String>
+ <String Id="ModifyRepairButton">&amp;Repair</String>
+ <String Id="ModifyUninstallButton">&amp;Uninstall</String>
+ <String Id="ModifyCloseButton">&amp;Close</String>
+ <String Id="SuccessHeader">Setup Successful</String>
+ <String Id="SuccessLaunchButton">&amp;Launch</String>
+ <String Id="SuccessText">Done.</String>
+ <String Id="SuccessRestartButton">&amp;Restart</String>
+ <String Id="SuccessCloseButton">&amp;Close</String>
+ <String Id="FailureHeader">Setup Failed</String>
+ <String Id="FailureHyperlinkLogText">Uh oh, something went wrong. (&lt;a href="#"&gt;log file&lt;/a&gt;)</String>
+ <String Id="FailureRestartText">You must restart your computer to complete the rollback of the software.</String>
+ <String Id="FailureRestartButton">&amp;Restart</String>
+ <String Id="FailureCloseButton">&amp;Close</String>
+</WixLocalization>
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Theme xmlns="http://wixtoolset.org/schemas/thmutil/2010">
+ <Window Width="510" Height="285" HexStyle="100a0000" FontId="0">#(loc.Caption)</Window>
+ <Font Id="0" Height="-12" Weight="500" Foreground="000000" Background="FFFFFF">Segoe UI</Font>
+ <Font Id="1" Height="-24" Weight="500" Foreground="000000">Segoe UI</Font>
+ <Font Id="2" Height="-22" Weight="500" Foreground="666666">Segoe UI</Font>
+ <Font Id="3" Height="-12" Weight="500" Foreground="000000" Background="FFFFFF">Segoe UI</Font>
+ <Font Id="4" Height="-12" Weight="500" Foreground="ff0000" Background="FFFFFF" Underline="yes">Segoe UI</Font>
+
+ <Image X="1" Y="1" Width="500" Height="174" ImageFile="uxstyle.png" Visible="yes"/>
+
+ <Page Name="Help">
+ <Hypertext X="10" Y="228" Width="200" Height="51" FontId="3">#(loc.HelpText)</Hypertext>
+ <Button Name="HelpCancelButton" X="-11" Y="225" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.HelpCloseButton)</Button>
+ </Page>
+ <Page Name="Install">
+ <!--<Hypertext Name="EulaHyperlink" X="10" Y="205" Width="-11" Height="17" TabStop="yes" FontId="3" HideWhenDisabled="yes">#(loc.InstallLicenseLinkText)</Hypertext>
+ <Checkbox Name="EulaAcceptCheckbox" X="10" Y="228" Width="175" Height="17" TabStop="yes" FontId="3" HideWhenDisabled="yes">#(loc.InstallAcceptCheckbox)</Checkbox>-->
+ <Button Name="OptionsButton" X="-171" Y="225" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.InstallOptionsButton)</Button>
+ <Button Name="InstallButton" X="-91" Y="225" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.InstallInstallButton)</Button>
+ <Button Name="WelcomeCancelButton" X="-11" Y="225" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.InstallCloseButton)</Button>
+ </Page>
+ <Page Name="Options">
+ <Text X="11" Y="80" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.OptionsHeader)</Text>
+ <Text X="11" Y="121" Width="-11" Height="17" FontId="3" DisablePrefix="yes">#(loc.OptionsLocationLabel)</Text>
+ <Editbox Name="FolderEditbox" X="11" Y="143" Width="-91" Height="21" TabStop="yes" FontId="3" FileSystemAutoComplete="yes" />
+ <Button Name="BrowseButton" X="-11" Y="142" Width="75" Height="23" TabStop="yes" FontId="3">#(loc.OptionsBrowseButton)</Button>
+ <Button Name="OptionsOkButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.OptionsOkButton)</Button>
+ <Button Name="OptionsCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.OptionsCancelButton)</Button>
+ </Page>
+ <Page Name="Progress">
+ <Progressbar Name="OverallCalculatedProgressbar" X="10" Y="229" Width="395" Height="15" />
+ <Button Name="ProgressCancelButton" X="-11" Y="225" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.ProgressCancelButton)</Button>
+ </Page>
+ <Page Name="Modify">
+ <!--<Button Name="RepairButton" X="-171" Y="225" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.ModifyRepairButton)</Button>-->
+ <Button Name="UninstallButton" X="-91" Y="225" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.ModifyUninstallButton)</Button>
+ <Button Name="ModifyCancelButton" X="-11" Y="225" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.ModifyCloseButton)</Button>
+ </Page>
+ <Page Name="Success">
+ <Text Name="SuccessText" X="10" Y="228" Width="-11" Height="51" FontId="3" TabStop="yes" HideWhenDisabled="yes">#(loc.SuccessText)</Text>
+ <Button Name="LaunchButton" X="-91" Y="225" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.SuccessLaunchButton)</Button>
+ <Button Name="SuccessRestartButton" X="-91" Y="225" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.SuccessRestartButton)</Button>
+ <Button Name="SuccessCancelButton" X="-11" Y="225" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.SuccessCloseButton)</Button>
+ </Page>
+ <Page Name="Failure">
+ <Hypertext Name="FailureLogFileLink" X="10" Y="228" Width="225" Height="42" FontId="3" TabStop="yes" HideWhenDisabled="yes">#(loc.FailureHyperlinkLogText)</Hypertext>
+ <Button Name="FailureRestartButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.FailureRestartButton)</Button>
+ <Button Name="FailureCloseButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.FailureCloseButton)</Button>
+ </Page>
+</Theme>
Oops, something went wrong.

0 comments on commit aa7a14d

Please sign in to comment.