Mostrando postagens com marcador Software. Mostrar todas as postagens
Mostrando postagens com marcador Software. Mostrar todas as postagens

quinta-feira, 26 de outubro de 2017

TOP 10 dos melhores editores de texto em 2017

 · 

Hoje em dia qualquer editor de texto oferece um vasto conjunto de funcionalidades. Este tipo de ferramenta pode ser usada nas mais diversas tarefas que vão desde a programação, registo de texto simples, ajuda na configuração de serviços, listagem de ações, etc.
Hoje apresentamos um TOP 10 dos melhores editores de texto em 2017. Veja se falta algum.

1# Notepad++

O Notepad++ é um poderosíssimo editor de texto que combina uma série de funcionalidades que facilitam o trabalho de qualquer pessoa que trabalhe com texto digital. É bastante leve, reconhece a sintaxe de aproximadamente 40 linguagens de programação (C, C++, HTML, XML, ASP, JAVA, SQL, Perl, Python, HTML5, CSS entre outras com sistema syntax highlight, excelente para programadores).

2# Visual Studio Code

O contrário da plataforma Visual Studio, o Visual Studio Code é simplesmente um editor de texto que oferece um conjunto vasto de funcionalidades.
Este editor é multi-plataforma, gratuito e é direcionado para programadores que procuram um simples IDE , leve mas ao mesmo tempo completo.

3# Atom

O Atom, o popular editor de código do Github, é um dos preferidos dos programadores devido às funcionalidades que oferece. O Atom permite que os programadores acedam à semântica de várias linguagens de programação, à integração com o Git e (claro) com o próprio Github, a temas completamente personalizáveis e o acesso a uma comunidade que está a desenvolver e a criar módulos e extensões para o Atom.

4# Sublime Text

Sublime Text é um editor de texto e código-fonte multiplataforma, escrito em linguagem C++, que foi inicialmente pensado para ser uma extensão do vim. Este editor oferece recursos extraordinários e um desempenho simplesmente surpreendente.

5# Brackets

Considerado como o substituto do gedit (editor de texto com interface gráfica), o Brackets é um editor de texto código, muito versátil, leve e pode ser facilmente artilhado através das mais diversas extensões disponíveis.

6# Bluefish

Bluefish é um poderoso editor de texto, recomendado para programadores e webdesigners. Como muitas opções disponíveis, permite desenvolvimento em HTML, XHTML, CSS, XML, XML, PHP, C, Javascript, Java, SQL, Perl, JSP, Python, entre outros.
O Bluefish foi criado por Chris Mazuc e Olivier Sessink em 1997, com o objetivo de facilitar o desenvolvimento web a profissionais tivessem como sistema operativo o Linux.

7# Light Table

Light Table é considerado um editor de texto altamente moderno e inovador. Este editor pode ser facilmente personalizado, podemos embeber gráficos e ver em tempo real o resultado de um determinado código. Vale a pena experimentar.

8# Vim

O Vim é um dos principais editores de texto do GNU/Linux. São fantásticas as suas capacidades e por isso é um dos eleitos pela maioria dos utilizadores. A interface não é muito amigável e no principio é difícil dominar o editor.

9# UltraEdit

Tal como o Sublime Text, o UltraEdit é também um editor muito completo em termos de funcionalidades. Este editor pode ser facilmente personalizado e até podemos configurar ligações FTP, SSH, Telnet para trabalhar em código que está do lado do servidor.

10# nano

Uma das ferramentas mais usadas em qualquer sistema GNU/Linux é sem dúvida o editor de texto. Ao nível da linha de comandos são várias as opções mas um dos mais populares é sem dúvida o nano.

E são estes alguns dos bons editores de texto que existem hoje no mercado. Os primeiros que apresentamos são os mais completos e por isso são também dos mais populares.

terça-feira, 15 de agosto de 2017

Internet das Coisas impulsiona mercado de software e chega a R$ 18 bilhões no Brasil

Ana Paula Lobo* ... 14/08/2017 ... Convergência Digital
Resultado de imagem para software
O mercado mundial de Software e Serviços atingiu, em 2016, o valor de US$ 1.096 bilhões. Os investimentos em Software e Serviços no Brasil alcançaram a marca de US$ 19 bilhões, colocando o país na 9ª posição no ranking mundial, revela o estudo anual "Mercado Brasileiro de Software - Panoramas e Tendências" da ABES (Associação Brasileira das Empresas de Software) em parceria com o IDC (International Data Corporation). Quando avaliados separadamente, o mercado doméstico de Software obteve um crescimento de 0,2%, em relação a 2015, com US$ 8,475 bilhões. Já o mercado doméstico de Serviços registrou um aumento de 2%, com um total de US$ 10,227 bilhões.

Um destaque do estudo da ABES/IDC é a expansão da Internet das Coisas (IoT), que apresentou crescimento de 27,8% e atingiu investimentos de US$ 6 bilhões, sendo que, no Brasil, os principais casos de uso estão em Monitoramento de Frota, que investiu US$856 milhões, seguido por Smart Grid, com US$ 631 milhões. "IoT está intrinsecamente conectada com a reinvenção dos negócios como conhecemos hoje. Esse é um tema tão relevante que há discussões no governo para identificar áreas em que o Brasil pode se destacar dentro de IoT e, com isso, poder estabelecer formas de apoio à pesquisa, desenvolvimento e inovação", comenta Jorge Sukarie.

Na outra ponta desse processo está a análise dos dados para que possam ser usados em aplicações nas mais diversas áreas. Apesar do crescimento de Big Data e Analytics seguir em velocidade mais lenta com aumento de 3,2%, somou US$ 809 milhões, em 2016. "Dificilmente, quando se vai a uma empresa de qualquer setor da economia, não se consegue identificar uma aplicação em que não se encaixe uma solução de Big Data e que se consiga gerar resultados que possam agilizar a tomada de decisões, tornando-as mais assertivas e trazendo maior produtividade e competitividade", aponta Sukarie.

Em 2016, o mercado de computação em nuvem teve expansão de 47,4%, tendo como base os dois principais serviços do setor (SaaS e PaaS). Os investimentos nesse tipo de licenciamento passaram de US$ 506 milhões, em 2015, para US$ 746 milhões no ano seguinte. De acordo com a pesquisa, o modelo de utilização que mais cresceu foi o de Aplicações Colaborativas, onde a utilização em nuvem ultrapassou o licenciamento tradicional representando em 2016, 53,3% do mercado – aumento de 133% em comparação ao número registrado em 2013. As aplicações que apresentaram segundo maior crescimento foram as de CRM, onde, apesar do licenciamento tradicional representar a maioria do mercado, a utilização em nuvem saltou de uma participação de 20,8%, em 2015, para 27,5%, em 2016.

O setor da economia que mais investiu em Software, em 2016, foi de Serviços e Telecomunicações (investimento de US$2,5 bilhões e crescimento de 3,6%, em relação ao ano anterior), enquanto o que mais reduziu investimentos foi o de Finanças, com queda de 2,9%, mas que ainda é responsável por 24,5% da participação do mercado frente a 26,6% de Serviços e Telecomunicações. Em terceiro lugar, vem a Indústria que, com investimentos na ordem de US$ 2 bilhões, tem participação de 21%, seguida por Comércio, Governo e Óleo/Gás, representando 11,9%, 4,5% e 3,9%, respectivamente. Já a Agroindústria apresentou redução de 1,5% nos investimentos em Software, mas a coleta recorde de grãos prevista para 2017 deve reverter esse quadro neste ano.

Atualmente, o Mercado de Software e Serviços conta com 15.707 empresas, sendo 11.237 delas dedicadas ao desenvolvimento e à comercialização de software e 4.470 dedicadas aos serviços de TI. Dentre as 4.872 empresas dedicadas ao desenvolvimento de software, mais de 95% são consideradas de micro ou pequeno porte, ou seja, com menos de 99 colaboradores. Para obter o estudo completo, acesse o site.

*Com informações da ABES

sexta-feira, 26 de maio de 2017

Ferramentas de proteção contra pirataria no .NET

Por André Lima em 24/05/2017.

Uma coisa que deixa muitas empresas com uma baita dor de cabeça é a quantidade de pessoas que tentam piratear as suas soluções. Quanto maior e mais conhecida for a aplicação, maior será a capacidade de atrair potenciais hackers que farão de tudo para quebrar a sua proteção contra pirataria. Empresas grandes investem muito dinheiro para tornar as suas aplicações (e jogos) mais difíceis de serem pirateados.
Todo esse investimento faz muito sentido para empresas que produzem aplicações comerciais para as “massas“. É claro que a Microsoft tem que investir contra a pirataria do Windows e do Office, e é claro que a Adobe não vai querer que alguém utilize o Photoshop sem pagar. Afinal, essas empresas investiram pesado para desenvolver as suas aplicações, então, faz sentido que elas invistam uma quantidade de dinheiro considerável na sua proteção contra pirataria.
Porém, se você chegou nesse artigo, você provavelmente não é uma Microsoft ou Adobe. Possivelmente você é desenvolvedor em uma pequena ou média empresa (ou até mesmo um desenvolvedor autônomo) e está querendo proteger a sua aplicação contra pirataria. Apesar de eu ser da opinião de que você só deve investir dinheiro nisso caso a sua aplicação seja minimamente “famosa“, essa é uma pergunta que eu recebo com uma certa frequência: como proteger os nossos aplicativos desenvolvidos com o .NET contra pirataria?
Depois desse tema ter sido um dos ganhadores da minha pesquisa de temas no semestre passado, eu resolvi testar algumas ferramentas de proteção contra pirataria. Todas as ferramentas apresentadas neste artigo são pagas, porém todas elas têm algum tipo de versão “trial” que você utilizar para testar com o seu aplicativo. Quer ver quais são essas ferramentas e quais são as diferenças entre elas? Então, vamos lá.

IntelliLock

Esse é um dos softwares de proteção contra pirataria mais conhecidos no mercado. De acordo com a página da empresa desenvolvedora, o IntelliLock é utilizado por uma variedade de empresas renomadas, como Xerox, LG, Siemens e até mesmo a Microsoft. O que eu achei mais legal no IntelliLock é que não é necessário implementar nenhuma linha de código para ativarmos um sistema de licenciamento nas nossas aplicações (a não ser que você queira fazer um controle de licenciamento por funcionalidades, e não um bloqueio geral da aplicação).
Ao abrirmos o IntelliLock, logo na primeira tela nós temos uma opção onde podemos selecionar os assemblies da nossa aplicação:
Em seguida, na próxima etapa do assistente, nós podemos selecionar quais serão as restrições que serão aplicadas no nosso sistema. Nessa etapa nós conseguimos definir diversos tipos de restrição para aplicações “trial” (como tempo de expiração, data de expiração, quantidade de execuções, tempo de execução, etc). Caso nós não queiramos disponibilizar a nossa aplicação em período de testes, basta escolhermos a opção “Custom“. Dessa forma, a aplicação só funcionará caso o usuário tiver uma licença válida:
Ao adicionarmos uma camada de proteção contra pirataria na nossa aplicação .NET, é importante que nós obfusquemos o seu código. Caso contrário, algum usuário mal intencionado poderia simplesmente descompilar a aplicação e remover o código de proteção. Uns tempos atrás eu escrevi um artigo mostrando como podemos obfuscar as nossas aplicações .NET. O IntelliLock, porém, possui um sistema de obfuscação embutido na própria ferramenta:
Uma vez aplicada a proteção contra pirataria pelo IntelliLock, nós teremos um novo assembly com as proteções ativadas (que será gerado no subdiretório “_Locked“). Para destravar o aplicativo, o usuário deverá ter um arquivo de licença válido no mesmo diretório da aplicação. Esse arquivo de licença é gerado diretamente no projeto do IntelliLock:
Note que temos a opção de gerarmos licenças que são atreladas ao hardware do usuário. Sempre é recomendado que você utilize essa opção, caso contrário, qualquer usuário que tenha o arquivo de licença poderá instalar a aplicação em quantos computadores ela quiser.
Outra opção bastante interessante é a possibilidade de forçarmos a validação da licença através de um servidor. Eu não testei essa opção, mas pareceu ser bem tranquila de ser implementada (o SDK possui o código completo do site ASP.NET que implementa o servidor de ativação).
O IntelliLock possui um SDK e projetos de exemplo em diversas plataformas. A sua utilização é muito simples. Por exemplo, caso você precise exibir uma tela com o “Hardware ID” do usuário (para gerar uma licença que só seja válida para o computador dele), o código ficaria assim:
1
2
3
4
5
6
7
8
// C#
var travarCPU = true;
var travarHD = true;
var travarMacAddress = true;
var travarPlacaMae = true;
var travarBios = true;
var travarSO = true;
var hardwareID = IntelliLock.Licensing.HardwareID.GetHardwareID(travarCPU, travarHD, travarMacAddress, travarPlacaMae, travarBios, travarSO);
1
2
3
4
5
6
7
8
' VB.NET
Dim TravarCPU = True
Dim TravarHD = True
Dim TravarMacAddress = True
Dim TravarPlacaMae = True
Dim TravarBios = True
Dim TravarSO = True
Dim HardwareID = IntelliLock.Licensing.HardwareID.GetHardwareID(TravarCPU, TravarHD, TravarMacAddress, TravarPlacaMae, TravarBios, TravarSO)
Caso você queira trabalhar com funcionalidades customizadas no arquivo de licenças (para liberar algumas funcionalidades somente para alguns usuários específicos), você pode checar as informações customizadas da licença da seguinte maneira:
1
2
3
4
5
6
7
8
9
// C#
if ((IntelliLock.Licensing.EvaluationMonitor.CurrentLicense.LicenseStatus == IntelliLock.Licensing.LicenseStatus.EvaluationMode) || (IntelliLock.Licensing.EvaluationMonitor.CurrentLicense.LicenseStatus == IntelliLock.Licensing.LicenseStatus.Licensed))
{
    for (int i = 0; i < IntelliLock.Licensing.EvaluationMonitor.CurrentLicense.LicenseInformation.Count; i++)
    {
        var chaveCustomizada = IntelliLock.Licensing.EvaluationMonitor.CurrentLicense.LicenseInformation.GetKey(i).ToString();
        var valorCustomizado = IntelliLock.Licensing.EvaluationMonitor.CurrentLicense.LicenseInformation.GetByIndex(i).ToString();
    }
}
1
2
3
4
5
6
7
' VB.NET
If (IntelliLock.Licensing.EvaluationMonitor.CurrentLicense.LicenseStatus = IntelliLock.Licensing.LicenseStatus.EvaluationMode) OrElse (IntelliLock.Licensing.EvaluationMonitor.CurrentLicense.LicenseStatus = IntelliLock.Licensing.LicenseStatus.Licensed) Then
    For I As Integer = 0 To IntelliLock.Licensing.EvaluationMonitor.CurrentLicense.LicenseInformation.Count - 1
        Dim ChaveCustomizada = IntelliLock.Licensing.EvaluationMonitor.CurrentLicense.LicenseInformation.GetKey(I).ToString()
        Dim ValorCustomizado = IntelliLock.Licensing.EvaluationMonitor.CurrentLicense.LicenseInformation.GetByIndex(I).ToString()
    Next
End If
Custo: $179
Versão de avaliação: sim, sem restrições, mas adiciona uma mensagem no início da aplicação

Softactivate

A estratégia do Softactivate é um pouco diferente da estratégia do IntelliLock. Com o aplicativo do Softactivate, nós precisamos gerar um template de licença com as opções de bloqueio:
As opções de bloqueio do Softactivate são mais limitadas do que as do IntelliLock, principalmente no que diz respeito às versões de avaliação. Entretanto, nós conseguimos também utilizar valores customizados na licença (para ativar funcionalidades específicas para um grupo de usuários) e servidores de ativação (que eu não testei).
Uma vez gerado o template, nós podemos criar a quantidade de seriais que julgarmos necessário:
Por fim, da mesma forma que podemos fazer com o IntelliLock, nós conseguimos opcionalmente atrelar a licença a um hardware específico. Tendo em mãos o número da licença e o ID do hardware, nós conseguimos gerar o código de ativação para a licença:
O Softactivate conta com diversos projetos demonstrando a sua utilização em C#, VB.NET, C e C++. Eu dei uma olhada neles e, sinceramente, achei bastante complicado de entender. Eles disponibilizam algumas janelas que podemos utilizar para fazer a ativação da licença, mas, aparentemente fica um tanto quanto complicado caso queiramos implementar a nossa própria janela de ativação. Mas, pelo menos os códigos estão compilando e os exemplos funcionando.
Custo: $49 – $399
Versão de avaliação: sim, sem restrições, mas a chave pública é sempre a mesma (ou seja, qualquer um pode desbloquear a aplicação)

XHEO DeployLX

Vou falar para você que eu fiquei impressionado depois de testar o XHEO DeployLX. Tudo bem, o preço é salgado (é a ferramenta mais cara que vou apresentar nesse artigo), mas a facilidade de utilização é incrível.
Uma vez aberta a ferramenta, nós conseguimos selecionar a opção “Protect Project“. Aí é só seguir o assistente, que fará todas as alterações no nosso projeto para que ele seja protegido:
Com a licença criada, nós podemos ajustá-la conforme a nossa necessidade. Podemos criar períodos de trial, extensões de trial, bloqueio por hardware, etc. Além disso, nós conseguimos adicionar também informações customizadas na licença, tornando possível a ativação de funcionalidades específicas somente para alguns usuários ou clientes.
Sério, você precisa assistir ao vídeo disponibilizado na página do produto, onde o apresentador adiciona proteção em um aplicativo desktop em menos de 5 minutos. Eu salvei o vídeo e estou disponibilizando aqui, caso a XHEO venha a tirá-lo do ar no futuro:
Custo: $699 – $1299
Versão de avaliação: sim, 45 dias

Ellipter

Essa foi a opção com o pior custo / benefício de todas as que eu encontrei. Esse software tem apenas a funcionalidade de gerar chaves as privadas e públicas e seus respectivos seriais para ativação. A única opção de customização “out of the box” que recebemos dessa ferramenta é a possibilidade de configurarmos uma data de expiração para o serial.
Com o Ellipter, nós utilizamos a sua aplicação desktop para gerarmos as chaves de criptografia e os seriais:
Tendo essas informações em mãos, nós adicionamos a referência para a biblioteca do Ellipter no nosso projeto e verificamos se um determinado serial é válido ou não, com base na chave pública:
1
2
3
4
5
6
7
8
9
10
11
12
13
// C#
var manager = new SeriousBit.Ellipter.SerialsManager("NomeDesenvolvedor", "ChaveAtivacaoEllipter", SeriousBit.Ellipter.KeyStrength.Use128Bits);
manager.PublicKey = "WQ5UMNN7RZRVB5UKAR2RVSFZDCJ6BTWSPNBNNRQD9GME7TUKHR6ZE";
 
if (manager.IsValid("QT5GQ3-87NB4A-VV9FMF-EUXK2D-L87A1Q-QQA"))
    MessageBox.Show("QT5GQ3-87NB4A-VV9FMF-EUXK2D-L87A1Q-QQA é válido");
else
    MessageBox.Show("QT5GQ3-87NB4A-VV9FMF-EUXK2D-L87A1Q-QQA é inválido");
 
if (manager.IsValid("XPTO"))
    MessageBox.Show("XPTO é válido");
else
    MessageBox.Show("XPTO é inválido");
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
' VB.NET
Dim Manager = New SeriousBit.Ellipter.SerialsManager("NomeDesenvolvedor", "ChaveAtivacaoEllipter", SeriousBit.Ellipter.KeyStrength.Use128Bits)
Manager.PublicKey = "WQ5UMNN7RZRVB5UKAR2RVSFZDCJ6BTWSPNBNNRQD9GME7TUKHR6ZE"
 
If Manager.IsValid("QT5GQ3-87NB4A-VV9FMF-EUXK2D-L87A1Q-QQA") Then
    MessageBox.Show("QT5GQ3-87NB4A-VV9FMF-EUXK2D-L87A1Q-QQA é válido")
Else
    MessageBox.Show("QT5GQ3-87NB4A-VV9FMF-EUXK2D-L87A1Q-QQA é inválido")
End If
 
If Manager.IsValid("XPTO") Then
    MessageBox.Show("XPTO é válido")
Else
    MessageBox.Show("XPTO é inválido")
End If
No próprio site do Ellipter eles disponibilizam alguns códigos de exemplo em C#, porém a funcionalidade não vai muito além do que eu mostrei no código de exemplo acima. A única outra coisa que podemos checar com os seriais gerados pelo Ellipter é uma string com “informação do produto“. Nessa string nós poderíamos, por exemplo, armazenar alguma informação que indicaria quais funcionalidades seriam liberadas para o usuário que tivesse aquele serial.
E é isso. Sem servidor de ativação, sem bloqueio por hardware (pelo menos não de forma intuitiva), e tudo isso por, no mínimo, $499. Não sei você, mas eu achei bastante caro, principalmente se compararmos com os valores das outras ferramentas apresentadas.
Custo: $499 – $2499
Versão de avaliação: sim, sem restrições, mas só funciona no computador de desenvolvimento

LimeLM

Vou te falar que eu achei essa ferramenta muito interessante. Todo o gerenciamento das licenças funciona completamente online. Você cria o seu produto e seus respectivos seriais (que podem ser enviados por e-mail). Aí você distribui junto com a aplicação o arquivo de licença (que identifica o aplicativo que está sendo distribuído) e um “assistente de ativação“, que é assustadoramente parecido com a ativação do Windows, Office, etc:
Uma vez que o usuário tiver ativado a aplicação, as informações são gravadas em disco, porém, via código nós podemos implementar um mecanismo que fará uma re-checagem da licença a cada X dias, para ver se o serial não foi revogado.
Quando trabalhamos com proteção contra pirataria atrelada ao hardware do usuário, é muito comum que alguns clientes instalem a aplicação em máquinas virtuais. Dessa forma, uma vez ativada a aplicação na máquina virtual, o cliente pode replicar essa máquina virtual N vezes e terá acesso à nossa aplicação em todas as cópias que tiverem sido criadas. O LimeLM tem até um esquema (opcional) que detecta se o usuário está utilizando o sistema em máquinas virtuais e bloqueia a ativação nesse cenário:
O código para verificarmos se a aplicação está ativada ou não é muito simples. No próprio site do LimeLM temos à nossa disposição um tutorial bem completo em C#, mas se quisermos fazer uma simples checagem se a aplicação já foi ativada, este seria o código:
1
2
3
4
5
6
// C#
var ta = new wyDay.TurboActivate.TurboActivate("GUID_DA_APLICACAO");
if (ta.IsGenuine(90, 14) == wyDay.TurboActivate.IsGenuineResult.Genuine && ta.IsActivated())
{
    // Aplicação ativada...
}
1
2
3
4
5
' VB.NET
Dim Ta = New wyDay.TurboActivate.TurboActivate("GUID_DA_APLICACAO")
If Ta.IsGenuine(90, 14) = wyDay.TurboActivate.IsGenuineResult.Genuine AndAlso Ta.IsActivated() Then
    ' Aplicação ativada...
End If
Como cada serial pode ser revogado a qualquer momento no gerenciador central do LimeLM, é importante implementarmos uma re-checagem da ativação de tempos em tempos. No código apresentado acima, através do método “IsGenuine” nós implementamos re-checagem da ativação a cada 90 dias, com um período de carência de 14 dias (para os casos em que o acesso à Internet não estiver disponível para fazer a re-checagem). A ativação funciona também sem acesso à Internet, através de um arquivo de ativação.
Custo: gratuito – $349 por mês
Versão de avaliação: sim, limitado a um produto, 10 usuários ativados e 200 usuários em período trial

Qual é a melhor opção?

Apresentadas as 5 principais opções comerciais de proteção contra pirataria no .NET, a pergunta que fica é: qual dessas 5 ferramentas seria a melhor opção para proteger a minha aplicação? A resposta é, como sempre, “depende“.
Caso a sua aplicação seja pequena e com poucas ativações, a versão gratuita do LimeLM é um excelente começo. Com ela, você conseguirá gerenciar o licenciamento de somente um produto, podendo ativá-lo em até 10 clientes e/ou 200 versões trials do produto.
Caso a sua aplicação cresça um pouco, na minha opinião, ainda sim valeria o investimento de $11 por mês da assinatura mais básica do LimeLM, que permite o gerenciamento de um produto, com 300 ativações e 6000 trials. Com o LimeLM todo o gerenciamento das ativações é feito de maneira centralizada e você pode facilmente revogar seriais de qualquer usuário a qualquer momento (muito útil quando algum cliente resolve atrasar o pagamento).
Se o gerenciamento centralizado não é importante para você e se você conseguir investir pelo menos um pouco de dinheiro, talvez, eu recomendaria a edição básica do Softactivate, que sai atualmente por $49. Essa é a ferramenta mais em conta que você conseguirá encontrar no mercado e já possui boas opções para protegermos as nossas aplicações.
Porém, se você conseguir guardar um pouquinho mais de dinheiro, eu recomendaria fortemente a aquisição do IntelliLock. Como eu mencionei no artigo, a quantidade de opções disponibilizadas pelo IntelliLock é impressionante. Pagando uma vez os $179 da ferramenta você teria acesso a uma infinidade de opções para proteger a sua aplicação contra pirataria, inclusive servidor de ativação (cujo código é distribuído junto com o IntelliLock).
Para grandes empresas com um orçamento mais generoso, o XHEO DeployLX me pareceu uma opção bem interessante. Dá para ter uma boa ideia do que essa ferramenta é capaz assistindo o vídeo apresentado anteriormente neste artigo, onde a proteção contra pirataria é adicionada em um projeto Windows Forms em menos de 5 minutos.
Por fim, a opção que eu particularmente não recomendaria seria o Ellipter. O custo / benefício dessa ferramenta não é nada atrativo. Com os $499 do custo do Ellipter nós conseguiríamos pagar quase um ano e meio de assinatura do LimeLM (que na minha opinião é muito superior ao Ellipter) com suporte a três produtos e 1200 ativações.

Dá para criar o seu próprio sistema de licenciamento?

Uma última pergunta que pode estar surgindo na sua cabeça nesse momento é: será que eu não consigo criar o meu próprio sistema de licenciamento? E a resposta é: sim! Você pode criar o seu próprio sistema de proteção contra pirataria!
Para implementar um esquema de proteção mais simples (como o disponibilizado pelo Ellipter), você só precisa gerar duas chaves (uma privada e uma pública). Aí você gera os seriais utilizando as duas chaves (em um executável à parte, que será o seu “gerador de seriais“) e, na aplicação principal, você checa a validade do serial apresentado pelo usuário através da chave pública.
Eu não vou mostrar isso neste artigo porque ele já está ficando muito longo, mas já coloquei esse tópico na minha lista de temas para abordar no futuro. Se você se interessar por isso, deixa um comentário para me motivar a escrever esse artigo o quanto antes. Enquanto isso não acontece, você pode ir dando uma olhada nesta thread do StackOverflow (opção 1) e na biblioteca Rhino Licensing(opção 2).

Concluindo

A proteção contra pirataria é uma preocupação frequente para os desenvolvedores de aplicações. Afinal, depois de gastar tanto tempo e dinheiro desenvolvendo uma aplicação, ninguém vai querer que ela seja copiada para lá e para cá sem controle nenhum.
Ao invés de ficar gastando o seu precioso tempo desenvolvendo o seu próprio sistema de licenciamento, vale a pena dar uma olhada em ferramentas comerciais que são especializadas nessa área. No artigo de hoje você viu 5 opções de ferramentas de proteção contra pirataria que você pode utilizar na sua aplicação .NET. Por fim, você viu também a minha opinião sobre qual ferramenta utilizar dependendo do cenário da sua aplicação e orçamento disponível.