GARANTIR DESCONTO

Fórum criptografia de executável #300716

25/10/2005

0

gostaria de saber como faço para criptografar meu executavel com a finalidade de ele não ser facilmente editado num editor hexadecimal ou num disassembly e também para os dfm´s e as strings constantes não ficarem legiveis. Sei que é possivel compactar com o upx, mas se ele é compactado, isso quer dizer que tambem pode ser descompactado, certo? queria proteger mais meu EXE, e usando algum software open source ou GNU, se possível.


Vitor Luiz Rubio


Vitor Rubio

Vitor Rubio

Responder

Posts

25/10/2005

Firekiller

Bom, na verdade, quando você usa o UPX ou ASPACK, ele tira espaços e compacta o executável, porém não é possível ´descompactá-lo´, pois o aplicativo teria que saber exatamente onde e o que colocar em cada posição. Mas se você quer criptografá-lo, existem aplicativos tipo o AsProtect, que criptografa o executável, obtendo o efeito que você quer, porém ele não é free.

Também teriam alguns componentes que fariam isso, lockbox (acho que é esse o nome), mas não sei se são free.


Responder

Gostei + 0

25/10/2005

Aerreira

Bom, na verdade, quando você usa o UPX ou ASPACK, ele tira espaços e compacta o executável, porém não é possível ´descompactá-lo´, ...


Discordo de você Firekiller, o UPX permite compactar e descompactar o executável sim, descompactar significa retornar o executável ao seu tamanho original após a compilação.

O que poderia ter no UPX, que seria ótimo, era uma opção de compactar com senha, isso o tornaria mais completo e serviria para o que você quer.


Responder

Gostei + 0

25/10/2005

Firekiller

Realmente eu desconhecia essa possibilidade proporcionada pelo UPX (inclusive se possível poderia me indicar qual a linha de comando? ), mas como eu disse, existem softwares como o AsProtect e o componente LockBox que criptografam o executável, para evitar edições com programas como o PE e outros.


Responder

Gostei + 0

25/10/2005

Aerreira

Realmente eu desconhecia essa possibilidade proporcionada pelo UPX (inclusive se possível poderia me indicar qual a linha de comando? )...


UPX arquivo.exe -D


Responder

Gostei + 0

25/10/2005

Firekiller

Obrigado pela explicação....


Responder

Gostei + 0

25/10/2005

Aerreira

O que poderia ter no UPX, que seria ótimo, era uma opção de compactar com senha, isso o tornaria mais completo e serviria para o que você quer.

Infelizmente o próprio UPX não recomenda isso que eu citei acima, veja:

- We will *NOT* add any sort of protection and/or encryption.
This only gives people a false feeling of security because
by definition all protectors/compressors can be broken.
And don´t trust any advertisment of authors of other executable
compressors about this topic - just do a websearch on ´unpackers´...


Responder

Gostei + 0

26/10/2005

Sistemald

procure por um componente chamado ´Cipher´, e ja tive ele, ele faz criptografia de arquivos e texto, possui chave, e se não me engano ele faz criptografia em 128 bits


Responder

Gostei + 0

26/10/2005

Massuda

Imaginando que fosse possível cifrar/criptografar o executável, seria necessário decifrar o conteúdo dele para poder executar.

Poderia ter algo parecido com o que os compactadores de executáveis que o pessoal citou e fazer essa decifragem em memória ao carregar o programa.

Mas para isso ser possível, necessariamente a senha de cifragem deve ser de conhecimento da parte do programa que faz a decifragem... se a senha de cifragem tem que ficar dentro do programa na parte que não está cifrada (pois precisa ser executável) e, portanto, visível ao cracker, qual a utilidade disso tudo? Consequentemente, todo esse esforço não serve para evitar a ação dos crackers.

Todo método de proteção é burlável, mas o que você pode fazer é dificultar a ação do cracker, combinando mais de um método de proteção. O LockBox, o ASProtect (citados pelo colega firekiller) e hardlocks são alternativas viáveis. Pessoalmente não acredito que soluções caseiras funcionem satisfatoriamente diante de um cracker.


Responder

Gostei + 0

26/10/2005

Sistemald

Concordo plenamente, eu atualmente não tenho usado nenhuma proteção,

eu uso apenas uma proteção para 30 dias , para se proteger do usuário. e não Programadores experientes.

Não me preocupo muito em ser crackeado, dificilmente programas brasileiros são crackeados( comparando com os de fora), e se crackear tudo bem, afinal, se não fosse a pirataria onde estaria a Microsoft?


Responder

Gostei + 0

26/10/2005

Vitor Rubio

pessoal, obrigado pelas dicas, mas tem uma cois: o lock box não é um componente com uns métodos pra criptografar strings? ele criptografa o EXE também?


Responder

Gostei + 0

26/10/2005

Massuda

[quote:83bf77f5b8=´vitor^_^´]...o lock box não é um componente com uns métodos pra criptografar strings?[/quote:83bf77f5b8]Sim... na verdade, talvez fosse melhor você dar uma olhada no [url=http://sourceforge.net/projects/tponguard/]OnGuard[/url].


Responder

Gostei + 0

26/10/2005

Vitor Rubio

Obrigadão Massuda! Esse onguard vai ser bastante útil quando eu for fazer uma aplicação Trial de 30 dias. Mas ele criptografa o EXE? porque senão, de qualquer forma, o EXE poderia ser desassemblado e modificado....


Responder

Gostei + 0

26/10/2005

Aerreira

Posso fazer uma pergunta? Pra que tanta proteção?

Eu particularmente uso um sistema de registro que armazena dados no registro do windows, limitando o tempo que o usuário pode avaliar meu aplicativo. Expirado este prazo, o programa só funciona se o usuário adquirir uma licença de uso, quando envio uma chave que libera a aplicação sem nenhuma limitação.

Sei que a maioria das proteções são quebraveis, mas para o usuário padrão isso já é o suficiente e garante que seus clientes somente poderão usar o aplicativo se registrarem. Pra mim vem funcionando muito bem dessa forma.


Responder

Gostei + 0

26/10/2005

Vitor Rubio

Posso fazer uma pergunta? Pra que tanta proteção?

Meu objetivo não é proteger minha aplicação, nem pretendo desenvolver uma aplicação trial de 30 dias ou com qualquer periodo de validação.

Meu intuito é apenas aprender mesmo.

A minha dúvida é a seguinte: Usando um disassembler ou editor Hexa, paciencia e conhecimento, qualquer programa pode ser aberto e modificado. O algoritmo pode ser modificado (trocar jz por jnz por exemplo inverte a validação de um IF) mas o que é mais fácil de modificar são strings fixas, como caption de labels, mensagens do showmessage(´blablabla´), variaveis flag, constantes string etc. Não é viável criptografar cada string que você usa no seu programa.

Existem programas que são bem mais difíceis de se crackear, abrindo num editor hexa ou num disassembler, nada pode ser entendido ou mechido. Esses programas são criptografados com um criptografador de EXE, mas eu não conheço nenhum que seja free ou gnu.


Responder

Gostei + 0

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

Aceitar