• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Nazgulled

Procura-se ofuscador simples para PHP e freeware

46 mensagens neste tópico

Eu sei que há por ai um tópico recente sobre o tema relativamente ao PHP, mas eu procuro algo diferente. Não estou à procura de aplicações tipo ionCube, mas sim algo mais simples. E antes que alguém se ponha a questionar o porquê, que pense duas vezes antes de escrever pois há varias razões para se querer algo deste género. E eu vou passar a explicar a minha para que melhor possam ajudar...

Estou a fazer um simples backoffice para um site, mas para tal, estou a usar um script meu (que ainda está em desenvolvido) que é basicamente aquela aplicação PHP à qual estou a dar mais importância e preocupar-me com todos os pormenores. Esta aplicação ainda vai demorar muito ate estar finalizada, mas a base está quase pronta e é a base que eu vou usar para criar o backoffice do tal site. Por várias razões, quero dificultar a vista do código a quem quer que seja que tenha acesso ao servidor, não me importa quem apenas quero o código ligeiramente ofuscado, para dificultar tarefas.

A ideia da aplicação que procuro é mais ou menos algo que faça o seguinte:

- Remova todos os comentários existentes no código (se possível que deixe apenas o header com copyright ou possibilite a adição de um aos ficheiros)

- Compacte o código como existe para Javascript. Sei que em javascript, código compactado é mais rápido e em PHP não faz diferença, mas se este estiver compactado, torna-se + difícil a sua leitura.

- Que altere os nomes das variáveis/classes/whatever para outros menos óbvios.

Basicamente é isto, se possível, aplicação free, mas aceitam-se sugestões de aplicações comerciais. Para aqueles 3 pontos, obviamente que se quer algo que não estrague o código e não o torne desfuncional.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Freeware, ou Free Software (Software Livre & Open Source Software)? É que são coisas diferentes!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não vai dar ao mesmo, porque Free Software & Open Source Software não significam software gratuito.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Porque que vocês tem sempre a mania de complicar? Mas eu vim para aqui discutir a diferença entre free software e open source ou pedir algo pa usar que me permita usa-lo SEM PAGAR! É-me indiferente se é freeware, open source, free software, whatever, quero um bom, que me permita usar SEM TER DE PAGAR POR ELE.

É tão difícil de entender isto ou só queres mostrar que percebes muito do assunto?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu não falei entre a diferença de Free Software e Open Source Software, mas sim entre Freeware e Free & Open Source Software.

O facto de só quereres não pagar por ele não era claro, porque no título utilizaste uma expressão objectiva, mas no texto uma subjectiva. Se tivesses falado em Português para dizer gratuita tinhas sido mais óbvio.

A minha intenção era apenas esclarecer o que é que tu querias realmente.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Para bom entendedor, meia palavra basta... :)

Basicamente é isto, se possível, aplicação free, mas aceitam-se sugestões de aplicações comerciais. Para aqueles 3 pontos, obviamente que se quer algo que não estrague o código e não o torne desfuncional.

Acho que se entende perfeitamente com esta pequena frase que procuro algo que possa usar sem que tenha de pegar, independentemente de ser freeware, open source ou whatever, desde que não pague!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pessoalmente, parece-me que a expressão foi bem utilizada neste caso.

De acordo com o dicionário de Oxford...

freeware |ˈfrēˌwer|

noun

software that is available free of charge.

Parece-me que era isso que ele queria.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ele no título utiliza a expressão freeware, mas no texto usa apenas free e a palavra free tem duas traduções possíveis para português que têm dois significados distintos (gratuito e livre). É comum a utilização incorrecta do termo freeware para se referir a Free & Open Source Software (Software Livre e Software de Código Aberto), daí que eu tenha pedido que ele esclarece-se a qual dos dois se referia (pois têm significados diferentes).

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

E agora diz-me... porque raio havia eu querer um software freeware e não open-source ou vice-versa? Acho que se leres o texto todo com atenção, vês que isso é completamente irrelevante, e entendes que quero proteger o código e não quero ter de o pagar para o fazer. Acho que isso está bem explicito.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O que podes fazer legalmente com um não é a mesma coisa que podes fazer legalmente com o outro.

Isso que tu queres não protege o código, nem é proteger código na minha opinião. Nem faz sentido!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O que podes fazer legalmente com um não é a mesma coisa que podes fazer legalmente com o outro.

Isso que tu queres não protege o código, nem é proteger código na minha opinião. Nem faz sentido!

conceitos à parte, parece que a ideia do que ele pretendia estava bem explicita...tu é que a complicaste

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas eu agora tenho de fazer uma descrição do que significa cada palavra que escrevo? Como já disse, para meio entendedor meia palavra basta.

Entende o que quiseres por "proteger o código", eu expliquei exactamente aquilo que estou à procura no primeiro post, agora chama-lhe o que quiseres.

Como já dissera, tas a complicar tudo não sei para quê e so tu o fizeste!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Excelente, agora já todos sabemos que freeware não é obrigatoriamente software livre. Alguma solução para a pergunta do Nazgulled?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Como ninguém parece ter conhecimentos sobre este tipo de cenas (o que mais existe deve ser cenas tipo encoders e assim), decidi ir à procura e encontrei isto:

http://www.raizlabs.com/software/phpobfuscator/

Ainda não experimentei e como afinal não vou precisar disto tão cedo quanto pensava, só vou exprimentar daqui a uns dias ou daqui a uns tempos.

Se alguém experimentar que diga alguma coisa, e não testem apenas em coisas simples :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

também gostava de saber pois nunca se sabe quando poderá dar jeito...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Mas eu agora tenho de fazer uma descrição do que significa cada palavra que escrevo?

Não!

Apenas tens que escrever de uma forma coerente. E não usares termos com significados diferentes para a referir a mesma coisa, ou então quando o fazes faz de forma a que não possa haver confusão.

Como já disse, para meio entendedor meia palavra basta.

Meio entendedor, só entende metade. Quando eu comunico gosto que entendam TUDO o que quero dizer e não apenas metade.

Se ficas contente com metade, não deves ser lá grande programador.

Como já dissera, tas a complicar tudo não sei para quê e so tu o fizeste!

Porque eu não gosto de entender apenas metade!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bem, espero que isto tenha sido uma pequena falha de comunicação porque eu queria falar do ofuscador ou obfuscador.

nazgulled, isto é uma daquelas coisas que pode ser feita 'em casa' sem grande investimento de tempo. Eu nunca prestei muita atenção a este tipo de coisas, mas o que eu fazia era isto:

-mudava o nome das variáveis e das funções para um formato o mais númerico possivel pois os números são mais dificeis de memorizar para os humanos do que sons ( palavras letras estão indexadas na nossa cabeça símbolos sonoros ).

Por exemplo

function v98275987345($a02398409283, $t098098423){

...

}

No site php.net podes encontrar as expressões regulares que validam funções e variáveis.

Depois arranjava um embaralhamento qualquer para as strings de forma a evitar que estas sejam  procuradas.

Depois removia a indentação

Depois pegava por exemplo no código obtido neste ponto e partia-o aleatoriamente aos pedaços e inseria um desses pedaços entre cada palavra do códido original mas esntre comentarios.

eventualmente escreveria uma função para embaralhar essa sopa toda e ficar por exemplo só algarismos e embrulharia isso tudo numa função para descodificar seguidamente de um eval()

só mesmo para ficar com um aspecto bizarro.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

E a vantagem seria?

Dificultar a modificação do código por parte de pessoas exteriores ao projecto em questão.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se eles já acederam ao ficheiro, o mal já está feito...

Na minha opinião, isso é o mesmo que dizeres que não faz sentido usares salted hashes já que quando te entram no servidor o mal já está feito.
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Estás enganado! Se conseguem aceder ao ficheiro significa que têm controlo sobre o sistema. E significa que podem substituir o ficheiro por outro. O código em si não tem valor para um atacante.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Falco, a vantagem seria ofuscar o código que é a unica coisa que um ofuscador faz.

A ideia não é tornar impossivel fazer reverse engineering do código pois isso é impossivel.

Qualquer aplicação, em qualquer linguagem, mesmo depois de compilada, se for distribuida tem que ser distribuida numa linguagem que a plataforma que a corra perceba, logo quem conhecer a forma de funcionamento dessa plataforma pode fazer reverse engineering da aplicação.

Mas isto é teoria.

Para obter o codigo fonte do windows basta decompilar os binários em C++ compativel. No entanto o resultado não serve para nada na pratica.

EDIT:

Falco, eu parto do principio que um obfuscador serve para ser utilizado em código que é distribuido, senão nem tem sequer razão de existir.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Convidado
Este tópico está fechado a novas respostas.