Skip to content

Update Dotfuscator Community Documentation for VS 2019 #2964

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 10 commits into from
Apr 2, 2019
2 changes: 1 addition & 1 deletion docs/deployment/securing-clickonce-applications.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ ms.workload:
> Query-string arguments are the only way to pass arguments to a [!INCLUDE[ndptecclick](../deployment/includes/ndptecclick_md.md)] application at startup. You cannot pass arguments to a [!INCLUDE[ndptecclick](../deployment/includes/ndptecclick_md.md)] application from the command line.

## Deploying obfuscated assemblies
Visual Studio includes the free [PreEmptive Protection - Dotfuscator Community Edition](../ide/dotfuscator/index.md), which you can use to protect your ClickOnce applications through code obfuscation and active protection measures. For details, please see [the ClickOnce section of the Dotfuscator Community Edition User Guide](https://www.preemptive.com/dotfuscator/ce/docs/help/5.27/advanced_clickonce.html).
Visual Studio includes the free [PreEmptive Protection - Dotfuscator Community](../ide/dotfuscator/index.md), which you can use to protect your ClickOnce applications through code obfuscation and active protection measures. For details, please see [the ClickOnce section of the Dotfuscator Community User Guide](https://www.preemptive.com/dotfuscator/ce/docs/help/5.27/advanced_clickonce.html).

## See also
- [ClickOnce security and deployment](../deployment/clickonce-security-and-deployment.md)
Expand Down
27 changes: 14 additions & 13 deletions docs/ide/dotfuscator/capabilities.md
Original file line number Diff line number Diff line change
@@ -1,42 +1,43 @@
---
title: Capabilities of Dotfuscator
ms.date: 10/10/2017
ms.date: 03/28/2019
ms.devlang: "dotnet"
ms.topic: conceptual
keywords: Dotfuscator, Dotfuscator CE, PreEmptive, PreEmptive Solutions, PreEmptive Protection, protection, community edition, obfuscation, .NET, free, Visual Studio 2017
keywords: Dotfuscator, Dotfuscator Community, Dotfuscator CE, PreEmptive, PreEmptive Solutions, PreEmptive Protection, protection, community edition, obfuscation, .NET, free, Visual Studio 2017, Visual Studio 2019, Visual Studio
helpviewer_keywords:
- "PreEmptive Protection Dotfuscator"
- "Dotfuscator Community Edition"
- "Dotfuscator Community"
- "Dotfuscator CE"
- "Dotfuscator"
- "obfuscation"
- "protection"
description: "Learn the capabilities of the free Dotfuscator Community Edition included in Visual Studio 2017."
description: "Learn the capabilities of the free copy of Dotfuscator Community included in Visual Studio."
ms.assetid: 0ee89c58-c900-48fc-a6a2-65ace00e8bab
author: "Joe-Sewell-PreEmptive"
ms.author: gewarren
manager: jillfra
---
# Capabilities of Dotfuscator

This page focuses on the capabilities of Dotfuscator Community Edition (Dotfuscator CE) with some references to advanced options available through [upgrades][upgrades].
This page focuses on the capabilities of Dotfuscator Community with some references to advanced options available through [upgrades][upgrades].

Dotfuscator is a *post-build* system for .NET applications.
With Dotfuscator CE, Visual Studio users are able to [obfuscate assemblies][obfuscation] and inject [active defense measures][checks] into the application - all without Dotfuscator needing to access the original source code.
Dotfuscator Community is a *post-build* system for .NET applications.
With it, Visual Studio users are able to [obfuscate assemblies][obfuscation] and inject [active defense measures][checks] into the application - all without Dotfuscator needing to access the original source code.
Dotfuscator protects your application in multiple ways, creating a layered protection strategy.

Dotfuscator CE supports a wide range of .NET assembly and application types, including [Universal Windows Platform (UWP)][uwp] and [Xamarin][xamarin].
Dotfuscator Community supports a wide range of .NET assembly and application types, including [Universal Windows Platform (UWP)][uwp] and [Xamarin][xamarin].

## Intellectual Property Protection

Your application's design, behavior, and implementation are forms of intellectual property (IP).
However, applications created for the .NET Framework are essentially open books; it's very easy to reverse engineer .NET assemblies, [as they contain high-level metadata and intermediate code][assemblies].

Dotfuscator CE includes basic [.NET obfuscation][obfuscation] in the form of [renaming][renaming].
Dotfuscator Community includes basic [.NET obfuscation][obfuscation] in the form of [renaming][renaming].
Obfuscating your code with Dotfuscator reduces the risk of unauthorized access to source code through reverse engineering, as important naming information will no longer be public.
Obfuscation also shows effort on your part to protect your code from examination - a valuable step in establishing that your IP is legally protected as trade secret.

Many of the [application integrity protection features](#application-integrity-protection) of Dotfuscator CE further hinder reverse engineering.
Many of the [application integrity protection features](#application-integrity-protection) of Dotfuscator Community further hinder reverse engineering.
For instance, a bad actor may attempt to attach a debugger to a running instance of your application in order to understand the program logic.
Dotfuscator can inject [anti-debug behavior][debug] into your application to obstruct this.

Expand All @@ -45,18 +46,18 @@ Dotfuscator can inject [anti-debug behavior][debug] into your application to obs
In addition to protecting your source code, it's also important to ensure your application is used as designed.
Attackers can attempt to hijack your application in order to circumvent licensing policies (i.e., software piracy), to steal or manipulate sensitive data handled by the application, or to change the behavior of the application.

Dotfuscator CE can inject [application validation code][checks] into your assemblies,
Dotfuscator Community can inject [application validation code][checks] into your assemblies,
including [anti-tamper][tamper], [anti-debug][debug], and [anti-rooted device][root] measures.
When an invalid application state is detected, the validation code can [call upon application code to address to the situation in an appropriate way][check-app].
When an invalid application state is detected, the validation code can [call upon application code to address the situation in an appropriate way][check-app].
Or, if you prefer not to write code to handle invalid uses of the application, Dotfuscator can also inject [response][check-action] behaviors, without requiring any modification to your source code.

Many of these same methods may also be used to enforce [end-of-life deadlines][shelflife] for evaluation or trial software.

## See Also

[This topic in the full Dotfuscator CE User Guide][full]
[This topic in the full Dotfuscator Community User Guide][full]

<!-- Copyright © 2017 PreEmptive Solutions, LLC -->
<!-- Copyright © 2019 PreEmptive Solutions, LLC -->

[assemblies]: https://docs.microsoft.com/dotnet/standard/assembly-format
[uwp]: https://www.preemptive.com/blog/article/856-uwp-applications-in-dotfuscator-ce/91-dotfuscator-ce
Expand Down
57 changes: 36 additions & 21 deletions docs/ide/dotfuscator/index.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,26 @@
---
title: Dotfuscator Community Edition (CE)
ms.date: 10/10/2017
title: Dotfuscator Community
ms.date: 03/28/2019
ms.devlang: "dotnet"
ms.topic: conceptual
keywords: Dotfuscator, Dotfuscator CE, PreEmptive, PreEmptive Solutions, PreEmptive Protection, protection, community edition, obfuscation, .NET, free, Visual Studio 2017
keywords: Dotfuscator, Dotfuscator CE, Dotfuscator Community, PreEmptive, PreEmptive Solutions, PreEmptive Protection, protection, community edition, obfuscation, .NET, free, Visual Studio 2019, Visual Studio 2017, Visual Studio
helpviewer_keywords:
- "PreEmptive Protection Dotfuscator"
- "Dotfuscator Community Edition"
- "Dotfuscator CE"
- "Dotfuscator Community"
- "Dotfuscator"
- "obfuscation"
- "protection"
description: "Learn how you can protect your .NET applications with the free Dotfuscator Community Edition included in Visual Studio 2017."
description: "Learn how you can protect your .NET applications with the free copy of Dotfuscator Community included in Visual Studio."
ms.assetid: d9550502-0a82-49a6-b005-2caa791fbe02
author: "Joe-Sewell-PreEmptive"
ms.author: gewarren
manager: jillfra
---
# Dotfuscator Community Edition (CE)
# Dotfuscator Community

*PreEmptive Protection - Dotfuscator* provides comprehensive .NET application protection that easily fits into your secure software development lifecycle.
***PreEmptive Protection - Dotfuscator*** provides comprehensive .NET application protection that easily fits into your secure software development lifecycle.
Use it to harden, protect, and prune desktop, mobile, server, and embedded applications to help secure trade secrets and other intellectual property (IP), reduce piracy and counterfeiting, and protect against tampering and unauthorized debugging.
Dotfuscator works on compiled assemblies without the need for additional programming or even access to source code.

Expand All @@ -39,13 +40,14 @@ Dotfuscator can inject your application with the capability to [detect and respo

For more information on how Dotfuscator fits into a secure software development lifecycle, see PreEmptive Solutions' [SDL App Protection page][sdl-protection].

## About Dotfuscator CE
## About Dotfuscator Community

Your copy of Microsoft Visual Studio 2017 includes a copy of **_PreEmptive Protection - Dotfuscator_ Community Edition**, also known as Dotfuscator CE, free for personal use.
For instructions on how to install the version of Dotfuscator CE included with Visual Studio 2017, see the [Installation page][install].
Your copy of Microsoft Visual Studio includes a copy of ***PreEmptive Protection - Dotfuscator Community***, free for personal use.
(This free version was previously known as Dotfuscator Community Edition or Dotfuscator CE.)
For instructions on how to install the version of Dotfuscator Community included with Visual Studio, see the [Installation page][install].

Dotfuscator CE offers a range of [software protection and hardening][software-protection] services for developers, architects, and testers.
Examples of [.NET Obfuscation][obfuscation] and other [Application Protection][app-protection] features included in Dotfuscator CE are:
Dotfuscator Community offers a range of [software protection and hardening][software-protection] services for developers, architects, and testers.
Examples of [.NET Obfuscation][obfuscation] and other [Application Protection][app-protection] features included in Dotfuscator Community are:

* *[Renaming][renaming]* of identifiers to make reverse-engineering of the compiled assemblies more difficult.
* *[Anti-tamper][tamper]* to detect the execution of tampered applications and terminate or respond to tampered sessions.
Expand All @@ -55,27 +57,40 @@ Examples of [.NET Obfuscation][obfuscation] and other [Application Protection][a

For details on these features, including how they fit into your application protection strategy, see the [Capabilities page][capabilities].

Dotfuscator CE offers basic protection out-of-the-box.
Even more application protection measures are available to registered users of Dotfuscator CE,
and to users of *PreEmptive Protection - Dotfuscator* Professional Edition, the world's leading [.NET Obfuscator][net-obfuscator].
Dotfuscator Community offers basic protection out-of-the-box.
Even more application protection measures are available to registered users of Dotfuscator Community,
and to users of ***PreEmptive Protection - Dotfuscator Professional***, the world's leading [.NET Obfuscator][net-obfuscator].
For information about enhancing Dotfuscator, see the [Upgrades page][upgrades].

## Getting started

To begin using Dotfuscator CE from Visual Studio, type `dotfuscator` into the **Quick Launch** (Ctrl+Q) search bar.
::: moniker range="vs-2019"

* If Dotfuscator CE is already installed, **Quick Launch** brings up the *Menu* option to start the Dotfuscator CE user interface. For details, see [the Getting Started page of the full Dotfuscator CE User Guide][get-started].
* If Dotfuscator CE is not yet installed, **Quick Launch** brings up the relevant *Install* option. See the [Installation page][install] for details.
To begin using Dotfuscator Community from Visual Studio, type `dotfuscator` into the **Search Box** (Ctrl+Q).

You can also get the **latest version** of Dotfuscator CE from [the Dotfuscator Downloads page on preemptive.com][download].
* If Dotfuscator Community is already installed, **Search Box** will show the option to start Dotfuscator Community under the *Menus* heading. For details, see [the Getting Started page of the full Dotfuscator Community User Guide][get-started].
* If Dotfuscator Community is not yet installed, **Search Box** will instead show **Install PreEmptive Protection - Dotfuscator** under the *Individual Components* heading. See the [Installation page][install] for details.

::: moniker-end

::: moniker range="vs-2017"

To begin using Dotfuscator Community from Visual Studio, type `dotfuscator` into the **Quick Launch** (Ctrl+Q) search bar.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The search box in VS 2019 is now just the search box (it's not called Quick Launch anymore).


* If Dotfuscator Community is already installed, **Quick Launch** brings up the *Menu* option to start the Dotfuscator Community user interface. For details, see [the Getting Started page of the full Dotfuscator Community User Guide][get-started].
* If Dotfuscator Community is not yet installed, **Quick Launch** brings up the relevant *Install* option. See the [Installation page][install] for details.

::: moniker-end

You can also get the **latest version** of Dotfuscator Community from [the Dotfuscator Downloads page on preemptive.com][download].

## Full documentation

This page and its subpages provide a high-level overview of Dotfuscator CE's features, as well as [instructions for installing the tool][install].
This page and its subpages provide a high-level overview of Dotfuscator Community's features, as well as [instructions for installing the tool][install].

See [the full Dotfuscator CE User Guide at preemptive.com][full] for detailed usage instructions, including [how to start using the Dotfuscator CE user interface][get-started].
See [the full Dotfuscator Community User Guide at preemptive.com][full] for detailed usage instructions, including [how to start using the Dotfuscator Community user interface][get-started].

<!-- Copyright © 2017 PreEmptive Solutions, LLC -->
<!-- Copyright © 2019 PreEmptive Solutions, LLC -->

[assemblies]: https://docs.microsoft.com/dotnet/standard/assembly-format
[software-protection]: https://www.preemptive.com/software-protection
Expand Down
Loading