GARANTIR DESCONTO

Fórum Problema ao Ofuscar código fonte de Aplicação .net (Compact Framework) #14269

19/01/2010

0

Oi; Estou com um serio problema de percurso no desenvolvimento de um sistema para Windows Mobile (compact Framework),  após terminar minha aplicação (sistema para venda externa com palm ou smartphone) constatei que não posso ofuscar meu código fonte utilizando o software Eazfuscator.NET ou Dotfuscator (isso para proteger meu código fonte) pois umas das classes do sistema que serve para montar os scripts do banco Compact sqlServer (classe de persistência), utiliza-se de Reflection para pegar a estrutura das classes que representam as tabelas do banco no sistema e gerar o script dinamicamente. O recurso de reflection simplesmente não funciona após ofuscar o executável, porem andei pesquisando e me parece que tem uma forma de acertar isso. Vc pode me ajudar? Socorro!!! Em anexo um exemplo:Link da aplicação de exemplo: http://video.devmedia.com.br/discovirtual/173559/Chamados/Chamado1/TesteOfuscamento.zip
O exemplo mostra uma classe de nome rota que é interpretada pela classe persistente e é gerado uma string contendo o script (select ). Assim se vc testar esta aplicação vc vera que funcionará perfeitamente, porem se vc ofuscar o executável e tentar rodar a aplicação novamente o sistema vai deixar de funcionar. Espero que vcs possam me ajudar, pois tenho que entregar esta aplicação para meu cliente + não queria entregar a aplicação sem ofuscar o código fonte para evitar pirataria. Obrigado Alan


Alan Assis

Alan Assis

Responder

Posts

21/01/2010

Alan Assis

Alguma novidade?
Responder

Gostei + 0

21/01/2010

Fabio Mans

Nada, já pesquisei em vários lugares e não sai te dizer.
Responder

Gostei + 0

21/01/2010

Alan Assis

A devmedia não possui algum consultor que possa me ajudar a solucionar este problema?
Responder

Gostei + 0

21/01/2010

Fabio Mans

Na verdade Alan a consultoria não contempla ferramente de terceiros.   Fabio
Responder

Gostei + 0

21/01/2010

Devmedia

Alan,
esse assunto não está no escopo da consultoria, por se tratar de componente de terceiros.
Por isso o chamado será cancelado para não debitar dos seus créditos.
Responder

Gostei + 0

21/01/2010

Alan Assis

A minha Dúvida não tem nada a ver com componente de terceiros...
Responder

Gostei + 0

22/01/2010

Alan Assis

Depois de muito tempo na frente do computador consegui resolver o problema com louvor. Sou muito grato a Deus por isso.  Deus seja Louvado!!!
Bom, para quem passar pela mesma situação la vai a solução: Para aplicações móbile em c# vc tem que incluir a referencia a um arquivo de nome ObfuscationAttributes.cs   (este arquivo esta disponível na instalação do software Eazfuscator.NET ), também na classe program.cs inclua após declaração do uses a linha abaixo: [assembly: ObfuscateAssemblyAttribute(true, StripAfterObfuscation = false)] Ex: using System.Reflection; using System.IO; using Global; using Modelo;   [assembly: ObfuscateAssemblyAttribute(true, StripAfterObfuscation = false)]   namespace Mobile_Empresarial {     static class Program     {   Tambem será necessário incluir nas classes que não devem ser ofuscadas (as classes que representam as tabelas do banco de dados) a linha de código abaixo: [System.Reflection.ObfuscationAttribute(Feature = "renaming", ApplyToMembers = true)]
Ex:
namespace Modelo {     [System.Reflection.ObfuscationAttribute(Feature = "renaming", ApplyToMembers = true)]     [Table("ROTAS)]     public class Rota     {         private int? _iD = null;         [Key("ID")]         public int? ID         {             get { return _iD; }             set { _iD = value; }         }           private int? _ordem = null;         [Column("ORDEM", ColumnType.Int32, 11, false)]         public int? Ordem         {             get { return _ordem; }             set { _ordem = value; }         }     Pronto, mesmo depois de ofuscar o executável o script sql continua sendo montado dinamicamente
Responder

Gostei + 0

22/01/2010

Fabio Mans

Obrigado vou guardar nos meus arquivos.   Raramente trabalhamos eu outros projetos que não seja Web, e não precisamos da Ofuscar e por isso a falta de expertise no assunto.   Fabio
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar