Private Winten - Open Source Windows 10 privacy tool with built in Firewall

Discussion in 'other firewalls' started by DavidXanatos, Dec 23, 2018.

  1. DavidXanatos

    DavidXanatos Developer

    Joined:
    Sep 6, 2006
    Posts:
    2,319
    Location:
    Viena
    fixed, thx :thumb:
     
  2. DavidXanatos

    DavidXanatos Developer

    Joined:
    Sep 6, 2006
    Posts:
    2,319
    Location:
    Viena
    An other update worth mentioning: The new build will not longer use the COM interface to control the firewall but instead will use the Native Windows API. This will allow it to use features introduced with later builds of windows 10 as the COM interface Microsoft provides is outdated.
     
  3. liba

    liba Registered Member

    Joined:
    Jan 21, 2016
    Posts:
    344
    I'm waiting Windows 7 support.
     
  4. DavidXanatos

    DavidXanatos Developer

    Joined:
    Sep 6, 2006
    Posts:
    2,319
    Location:
    Viena
    yea will have to test that if the new API works properly on that, it should though
     
  5. DavidXanatos

    DavidXanatos Developer

    Joined:
    Sep 6, 2006
    Posts:
    2,319
    Location:
    Viena
    Unbenannt 7.png

    It Works on windows 7!

    Also I noticed that windows firewall control applications which use the old COM interface when enabling/disabling rules change environment variables in the app path to expanded versions i.e. "%SystemRoot%\system32\..." -> "c:\windows\system32\..."
    using the native API allows to get the non expanded path values and than use them...
     
    Last edited: Nov 3, 2019
  6. liba

    liba Registered Member

    Joined:
    Jan 21, 2016
    Posts:
    344
    Thank you so much. Suggest: Please change up your icon a little bit.
     
  7. DavidXanatos

    DavidXanatos Developer

    Joined:
    Sep 6, 2006
    Posts:
    2,319
    Location:
    Viena
    Change how?
    If you want you can send me an icon for consideration.
     
  8. DavidXanatos

    DavidXanatos Developer

    Joined:
    Sep 6, 2006
    Posts:
    2,319
    Location:
    Viena
    Finally i finished the new build: https://github.com/DavidXanatos/priv10/releases/tag/v0.50a

    A large parts of the code base have been reworked to solve some more fundamental issues of windows firewall handling.
    Most issues have been fixed and the usability greatly improved. Also many new features have been added, priv10 now shows in addition to the firewall log also a list of all open sockets with data rates. The tool is also capable of showing the remote host names for remote IP's wherever possible it shows the domains as queried by the application as reverse DNS is very unreliable in the age of CDN's hence its used only as a fallback.
    A new feature called Tweak Guard monitors the state of the applied privacy tweaks and warns, or re applies (depending on the setting) when a tweak has been un done.
    An other new feature, the Rule Guard, monitors firewall rules and prevents 3rd party changes when desired, or just warns the user (depending on the setting), this is especially useful to ensure apps from the windows store wont get internet access, as the msft store always auto adds allow rules without asking the user.
    Last but not least the overview page now features an own event log showing priv10 activity.

    [0.50a] - 2019-11-03
    Added
    • added own event log, displayed in the overview page
    • added network manager listing all open sockets and currently connected networks
    • added ETW tracking to obtain datarate information for sockets
    • added dns inspector, dns query monitoring with fallback to reverse dns queries
      -- showing domain names to the remote adresses
      -- logging all domains every program tryed to connect to
    • added tweaks to disable office 2016/2019 telemetry
    • added Ribbon Toolbar to the Firewall view
      -- improved program list filtering a lot
      -- added more list view customization options
      -- much better category filtering
      -- etc...
    • added Tweak Guard to automatically re apply tweaks that windows undid
      -- tweaks and their states are saved to tweaks.xml
      -- tweak changes are logged on the priv10 event log
    • added Firewall Rule Guard
      -- firewall rule changes are identifyed on start as well as monitored on live during runtime
      -- Optin to automatically disable changed/added rules or to flat out always out undo all changes not done by priv10
      -- All 3rd party changes to firewall rules logged in the priv10 event log + notfication
    • added option to reload app list from apps dropdown
    • added propper modern app resource string display
    Changed
    • completly reworked the backend (engine and service) code
    • refactored IPC code
    • dropped many unnececery dependencies
    • Now by default using "C:\ProgramData\PrivateWin10" instead of the application directory to store data
      -- If a PrivateWin10.ini is present in the applicaton directory the tool starts in portable mode instead
    • reworked firewall manager and firewall rules
    • reworked firewall event monitoring to make it more robust to future changes in windows
    • Changed from the old and out dated COM Interface to a use Native windows firewall API's instead
      -- Now supporting new windows 10 features
    • reworked datagrid header handling
    • and much more that I forgot to write down...
    fixed
    • program list browsing with arow keys when filter is engaged
    • reworked AppManager class to properly work
      -- improved sid to app resolution performance
      -- properly resolving apppackage id of running modern apps by current process ID
    • not uniqie service resolution is now handled properly.
    • sorting by timestamp now works properly
    • fixed issues with file and registry tweaks not being un don properly
    • fixed issues with not applicable tweaks being sometimes shown where it could have been avoided
    • and many more which I forgot to write down...
     
  9. liba

    liba Registered Member

    Joined:
    Jan 21, 2016
    Posts:
    344
  10. DavidXanatos

    DavidXanatos Developer

    Joined:
    Sep 6, 2006
    Posts:
    2,319
    Location:
    Viena
  11. liba

    liba Registered Member

    Joined:
    Jan 21, 2016
    Posts:
    344
    Yes installed.
     
  12. DavidXanatos

    DavidXanatos Developer

    Joined:
    Sep 6, 2006
    Posts:
    2,319
    Location:
    Viena
    is a it 32 or 64 bit windows 7?
     
  13. liba

    liba Registered Member

    Joined:
    Jan 21, 2016
    Posts:
    344
  14. DavidXanatos

    DavidXanatos Developer

    Joined:
    Sep 6, 2006
    Posts:
    2,319
    Location:
    Viena
    hmpf... 32 bit... okay... that a bigger problem... :/
    I will look into it...

    The issue is that priv10 is using some native libraries that are 64 bit.
     
  15. liba

    liba Registered Member

    Joined:
    Jan 21, 2016
    Posts:
    344
    :) Thank you.
     
  16. DavidXanatos

    DavidXanatos Developer

    Joined:
    Sep 6, 2006
    Posts:
    2,319
    Location:
    Viena
  17. liba

    liba Registered Member

    Joined:
    Jan 21, 2016
    Posts:
    344
  18. DavidXanatos

    DavidXanatos Developer

    Joined:
    Sep 6, 2006
    Posts:
    2,319
    Location:
    Viena
  19. liba

    liba Registered Member

    Joined:
    Jan 21, 2016
    Posts:
    344
    .NET 4.8 installed. I dont understand why doesn't work for me :(
     
  20. DavidXanatos

    DavidXanatos Developer

    Joined:
    Sep 6, 2006
    Posts:
    2,319
    Location:
    Viena
    start a cmd.exe prompt with admin rights and than start private win10 from there, it will write stuff to the console, post the infos it writen than i can see at what moment it runs into the issue
     
  21. liba

    liba Registered Member

    Joined:
    Jan 21, 2016
    Posts:
    344
  22. DavidXanatos

    DavidXanatos Developer

    Joined:
    Sep 6, 2006
    Posts:
    2,319
    Location:
    Viena
    the cmd.exe you started did not have admin privilegs.
    try agian this time ensure the command prompt window says (Administrator) in the title bar
     
  23. liba

    liba Registered Member

    Joined:
    Jan 21, 2016
    Posts:
    344
  24. DavidXanatos

    DavidXanatos Developer

    Joined:
    Sep 6, 2006
    Posts:
    2,319
    Location:
    Viena
    hmm... that is very strange...
    did you disabled Windows Event Log on your system?
    The Event Log mechanism is necessery to monitor firewall events like blocked connection attempts.
     
  25. liba

    liba Registered Member

    Joined:
    Jan 21, 2016
    Posts:
    344
    Yes, it's w7 x64 and disabled.

    W7 x32
    https://img.techpowerup.org/191105/32.jpg

    Code:
    C:\Windows\system32>Log: PrivateWin10 Process Started, Mode Normal.
    Config Directory: C:\ProgramData
    Trying to connect to Engine...
    Starting Engine Thread...
    Engine Thread Running
    Loading program list...
    Starting firewall monitor...
    Starting firewall guard...
    Loading firewall rules...
    Starting network manger...
    Setting up IPC host...
    Private Win10 Engine started.
    ... engine started.
    Starting engine timer...
    Your copy of this application is not activated
    
    Unhandled Exception: System.Windows.Markup.XamlParseException: Initialization of
     'System.Windows.Controls.Ribbon.RibbonQuickAccessToolBar' threw an exception. -
    --> System.IO.FileLoadException: Could not load file or assembly 'System.Windows
    .Controls.Ribbon.classic, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5
    c561934e089' or one of its dependencies. The parameter is incorrect. (Exception
    from HRESULT: 0x80070057 (E_INVALIDARG)) ---> System.ArgumentException: String c
    annot have zero length.
       at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String cod
    eBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark&
    stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntro
    spection, Boolean suppressSecurityChecks)
       at System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String code
    Base, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& s
    tackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntros
    pection, Boolean suppressSecurityChecks)
       at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName as
    semblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMar
    k& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIn
    trospection, Boolean suppressSecurityChecks)
       at System.Reflection.RuntimeAssembly.InternalLoadFrom(String assemblyFile, Ev
    idence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm,
    Boolean forIntrospection, Boolean suppressSecurityChecks, StackCrawlMark& stackM
    ark)
       at System.Reflection.Assembly.LoadFrom(String assemblyFile)
       at PrivateWin10.App.currentDomain_AssemblyResolve(Object sender, ResolveEvent
    Args args) in F:\Projects\Windows10_Tools\PrivateWin10\PrivateWin10\App.xaml.cs:
    line 327
       at System.AppDomain.OnAssemblyResolveEvent(RuntimeAssembly assembly, String a
    ssemblyFullName)
       --- End of inner exception stack trace ---
       at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String cod
    eBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark&
    stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntro
    spection, Boolean suppressSecurityChecks)
       at System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String code
    Base, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& s
    tackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntros
    pection, Boolean suppressSecurityChecks)
       at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName as
    semblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMar
    k& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIn
    trospection, Boolean suppressSecurityChecks)
       at System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evid
    ence assemblySecurity, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolea
    n forIntrospection)
       at System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evid
    ence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
       at System.Reflection.Assembly.Load(String assemblyString)
       at System.Windows.SystemResources.ResourceDictionaries.LoadExternalAssembly(B
    oolean classic, Boolean generic, Assembly& assembly, String& assemblyName)
       at System.Windows.SystemResources.ResourceDictionaries.LoadThemedDictionary(B
    oolean isTraceEnabled)
       at System.Windows.SystemResources.FindDictionaryResource(Object key, Type typ
    eKey, ResourceKey resourceKey, Boolean isTraceEnabled, Boolean allowDeferredReso
    urceReference, Boolean mustReturnDeferredResourceReference, Boolean& canCache)
       at System.Windows.SystemResources.FindResourceInternal(Object key, Boolean al
    lowDeferredResourceReference, Boolean mustReturnDeferredResourceReference)
       at System.Windows.StyleHelper.GetThemeStyle(FrameworkElement fe, FrameworkCon
    tentElement fce)
       at System.Windows.FrameworkElement.UpdateThemeStyleProperty()
       at System.Windows.FrameworkElement.OnInitialized(EventArgs e)
       at System.Windows.FrameworkElement.TryFireInitialized()
       at System.Windows.FrameworkElement.EndInit()
       at System.Windows.Controls.ItemsControl.EndInit()
       at MS.Internal.Xaml.Runtime.ClrObjectRuntime.InitializationGuard(XamlType xam
    lType, Object obj, Boolean begin)
       --- End of inner exception stack trace ---
       at System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjec
    tWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject
    , XamlObjectWriterSettings settings, Uri baseUri)
       at System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReader xamlReader, Boolea
    n skipJournaledProperties, Object rootObject, XamlAccessLevel accessLevel, Uri b
    aseUri)
       at System.Windows.Markup.XamlReader.LoadBaml(Stream stream, ParserContext par
    serContext, Object parent, Boolean closeStream)
       at System.Windows.Application.LoadComponent(Object component, Uri resourceLoc
    ator)
       at PrivateWin10.Pages.FirewallPage.InitializeComponent() in F:\Projects\Windo
    ws10_Tools\PrivateWin10\PrivateWin10\Pages\FirewallPage.xaml:line 1
       at PrivateWin10.Pages.FirewallPage..ctor() in F:\Projects\Windows10_Tools\Pri
    vateWin10\PrivateWin10\Pages\FirewallPage.xaml.cs:line 98
       at PrivateWin10.MainWindow..ctor() in F:\Projects\Windows10_Tools\PrivateWin1
    0\PrivateWin10\MainWindow.xaml.cs:line 116
       at PrivateWin10.App.Main(String[] args) in F:\Projects\Windows10_Tools\Privat
    eWin10\PrivateWin10\App.xaml.cs:line 283
     
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.