Ofuscar o código

[quote=uchoaaa]Hmm, valeu marciosantri, saquei. :stuck_out_tongue:

Uma coisa allanft… Se teu código já vai pro cliente, ele já não pode utilizar como bem entender??
Tipo, mesmo ofuscado, nada o impede de comercializa-lo, não?! Que é o que incomoda…
Certamente vai atrapalha-lo para manuntenção, atualização e tudo mais, mas o produto ainda vai ser dele…

[]s[/quote]

Nem sempre. Existem casos de software onde o que se vende é o direito de uso e não o código fonte em si. O Microsoft Office e o Oracle são exemplos deste tipo de software.

http://www.allatori.com/

[quote=marciosantri][quote=uchoaaa]Hmm, valeu marciosantri, saquei. :stuck_out_tongue:

Uma coisa allanft… Se teu código já vai pro cliente, ele já não pode utilizar como bem entender??
Tipo, mesmo ofuscado, nada o impede de comercializa-lo, não?! Que é o que incomoda…
Certamente vai atrapalha-lo para manuntenção, atualização e tudo mais, mas o produto ainda vai ser dele…

[]s[/quote]

Nem sempre. Existem casos de software onde o que se vende é o direito de uso e não o código fonte em si. O Microsoft Office e o Oracle são exemplos deste tipo de software.[/quote]

Mas pelo jeito não é caso do allan, não?! Ele se queixava justamente que iam comercializa-lo…

Porque, segundo o próprio autordo tópico, o código-fonte deve ser disponibilizado para o cliente. A menos que seus contratos de uso com estas empresas sejam muito diferentes dos normais elas não têm essa obrigação.

Nenhum ofuscador (principalmente os que atuam em código fonte e não em binários) vai te dar qualquer segurança e ainda podem prejudicar a sua própria manutenção do sistema. Refacotrar um código Java com uma IDE é extremamente simples. Se o ofuscador atuad em bytecodes a sensação de segurança aumenta um pouquinho mas ainda não é suficiente, se aluém realmente quiser pode levar seu código fácil.

A melhor proteção para isso é advogado + contrato. Se o cliente deixar seu rival rouba o código você o processa. Existem leis sobre estas coisas.

Meu amigo, se te obrigaram a fornecer o código fonte pelo contrato - isso é fato e pronto.

Você deveria ter lido o contrato direito antes de ter assinado. Mesmo que perca um ano de trabalho, seja honesto e arque com o peso da sua assinatura no contrato.

Ofuscação de código não vai trazer segurança alguma. Embora não existam desofuscadores de código, um bom programador poderia pegar o seu código, analisar, e começar a arrumar a bagunça. O máximo que você vai conseguir é fazer eles perderem algum tempo.

Os ofuscadores não são capazes de alterar a estrutura do seu programa. A ofuscação se limita a bagunçar com a endentação e comentários. Renomear todas as classes, métodos, atributos e variáveis para coisas sem sentido. Trocar fors por whiles e do-whiles ou vice-versa. Inverter condições de ifs e trocar o bloco “então” com o “senão”. Trocar ifs por switches e vice-versa. Trocar expressões lógicas e matemáticas por equivalentes.

Nos casos mais brutos quebrar um método em vários ou unir diversos métodos em um só.

Alguns podem até apelar e critografar strings e números e sempre referenciá-los com funções encriptadoras e desencritadoras. Mas esses casos já são perigosos porque podem mudar o comportamento do programa se isso não for bem feito.

Mas no fim, nada disso muda a estrutura do programa de fato. Então, uma pessoa que manja bem de java e está bem determinada conseguiria desofuscar o código. Eu já fiz isso.

[quote=pcalcado][quote=marciosantri]
Sobre o termo “pilantragem”, acho meio forte. Estamos falando de um projeto. Será que a Ferrari libera os projetos dela? Será que a Nokia libera? A Nintendo? O Google?
Então pq eu vou liberar o meu? Só se for pra ganhar alguma coisa com isto (acreditem, o pessoal do software livre ganha).
[/quote]

Porque, segundo o próprio autordo tópico, o código-fonte deve ser disponibilizado para o cliente. A menos que seus contratos de uso com estas empresas sejam muito diferentes dos normais elas não têm essa obrigação.

Nenhum ofuscador (principalmente os que atuam em código fonte e não em binários) vai te dar qualquer segurança e ainda podem prejudicar a sua própria manutenção do sistema. Refacotrar um código Java com uma IDE é extremamente simples. Se o ofuscador atuad em bytecodes a sensação de segurança aumenta um pouquinho mas ainda não é suficiente, se aluém realmente quiser pode levar seu código fácil.

A melhor proteção para isso é advogado + contrato. Se o cliente deixar seu rival rouba o código você o processa. Existem leis sobre estas coisas.[/quote]

Hum… Não tinha visto isto. Neste caso, retiro o que eu disse.

[quote=uchoaaa]Hmm, valeu marciosantri, saquei. :stuck_out_tongue:

Uma coisa allanft… Se teu código já vai pro cliente, ele já não pode utilizar como bem entender??
Tipo, mesmo ofuscado, nada o impede de comercializa-lo, não?! Que é o que incomoda…
Certamente vai atrapalha-lo para manuntenção, atualização e tudo mais, mas o produto ainda vai ser dele…

[]s[/quote]

Meu codigo vai pro cliente, mas dentro deste cliente tem um concorrente direto deste projeto, no caso de manutençao, ira continuar sendo dada por mim mesmo, o que acontece é que como eh de direito do cliente entao iremos enviar, mas o cliente mesmo nao fará nada com isso, mas eu nao sei ate onde vai a responsabilidade com estes codigos, logo o meu medo é cair nas maos de quem nao deve.

[quote=Sergio Figueras]Meu amigo, se te obrigaram a fornecer o código fonte pelo contrato - isso é fato e pronto.

Você deveria ter lido o contrato direito antes de ter assinado. Mesmo que perca um ano de trabalho, seja honesto e arque com o peso da sua assinatura no contrato.[/quote]

Infelizmente foi um erro do setor comercial, são eles quem vendem, eu só desenvolvo, e ate entao é do meu conhecimento que o concorrente esta lá no cliente recentemente, mesmo pq estamos falando de empresas publicas, a minha e o cliente, ja o concorrente é uma empresa privada.
Daí a gravidade.

No caso de CONTRATO + ADVOGADO, como sugeriram anteriormente, é complicado, pois o tempo é curto. Lembrando que a minha intensao com o ofuscador é simplesmente dificultar qualquer boicote que possa acontecer com o projeto.

Obrigado Thingol, vou verificar.

meu amigo se vc foi forçado a dar o fonte no contrato… e este fonte vier tudo ofuscado vc estara promovendo o seu concorrente que entregara o seu fonte em perfeitas condições… não pense que por não entenderem o codigo vão sempre apelar pra vc para dar manutenção… engano seu… isto não existe mais… qdo vão preferir pegar outro programador bom e que não ofusque os fontes… e programador é oq não falta… hj em dia… e como ja foi dito o maximo q ira conseguir fazer e dar mais trabalho a outro pra desofuscar seu codigo… e perder a confiança da empresa dando credito ao concorrente que entrega o codigo limpo… por isto pense bem antes de fazer coisas deste tipo…

Vou tentar explicar pela ultima vez, apesar de que o Sr. me desrepeitou inicialmente e eu nem deveria responder a este post seu.
Vamos lá:
Eu trabalho em uma empresa publica, sou funcionario publico, todos os nossos clientes sao funcionarios publicos tambem e todo serviço de tecnologia é dentro do estado inteiro é prestado por nós. O cliente quer apenas a soluçao rodando, pois lá não há analistas e desenvolvedores. Mas por uma ironia do destino, encontra-se dentro do cliente uma empresa privada que costumar concorrer com a nossa empresa em licitações e tal. Ainda que eles nao prestem serviço de desenvolvimento dentro do nosso cliente, eles tem essa mao de obra e concorrem com a gente.

Minha intensao, não é lesar ninguem e nao eh deixar de passar nada pra ninguem, mas apenas dificultar, mesmo pq o concorrente nao pegará o codigo e venderá para este cliente ou outro cliente publico qq, pois no estado inteiro há contratos e nós somos o prestador de serviço oficial dentro do estado qndo se fala em desenvolvimento, analise e especificaçao de sistemas.

O que eu acho que é chato, é o cliente pegar e levar pra ele ganhar dinheiro em cima de outras empresas, sendo que fui eu quem desenvolveu a soluçao.

Concordo com vc allanft …não é justo vc suar a camisa pra fazer um bom trabalho, pra depois o concorrente ganhar dinheiro com isso… Vc ou sua empresa pecaram em assinar contrato e não ler direito, mas apoio sua idéia…

luistiagos … Vc poderia passar seus códigos para mim ver se eu posso usar nas minha aplicações e vender…já que é esse o seu pensamento… manda aí pra toda a galera do forum… Não falo de ajuda ou exemplos…manda aí o sistema inteiro então…

por ser funcionario publico vc não deveria nem se esquentar com este tipo de coisa…

e se um ofuscador ao menos adiantasse… se eles quiserem levar o codigo pra casa eles levam não tem muito jeito com isto não…

O que sujiro é recorrer a um advogado mesmo… pois a “água” já foi derramada (para evitar trocadilhos)

se o cara e funcionario publico acho q não deveria nem esquentar a cabeça… ninguem vai mandalo embora porcausa da empresa privada… a tal empresa não representa sequer nenhuma ameaça… se fosse eu nem me esquentaria com isto…

O proguard não faz a ofucação de quase todo tipo de arquivo?.. dá uma olhada nele

Isso então é justificativa para fazer trabalho porco ? ou para não ter interesse em fazer o melhor ? Acho que se ele é funcionário público e está tentando fazer o melhor e mais correto para o orgão/empresa pública ele está de parabéns.

E você, espero que não passe para nenhum concurso. :twisted:

Não é por ter estabilidade que tem que se fazer algo ruim, sem qualidade e sem se preocupar com bons resulltados.

vc não entendeu… eu disse exatamente o contrario… é oq lhe da o merito e fazer um codigo melhor que o concorrente… e não fazer um codigo porco… oq eu quiz dizer e que o concorrente não lhe representa ameaça justo assim nem sequer necessita-se ofuscar o codigo ou algo assim pois com isto ele não estara benificiando a ninguem… o concorrente continuara concorrente… isto não vai mudar… o governo não vai cancelar o contrato com o concorrente e promovelo por isto… este tipo de atitude não agregara em nada… mas fazer um codigo perfeito com uma qualidade perfeita sim agregara… pois ao ver que o codigo é melhor que o da empresa privada isto agregara valor para si e para a empresa publica…

Acho que o ProGuard ofusca .war sim…
Próxima vez leia o contrato :stuck_out_tongue:
Ou então ao invés de ofuscar e enviar porque não tentar resolver diplomaticamente conversando e talz? :stuck_out_tongue: