O Upx pode ocasionar problemas na aplicação ?
Baixei o UPX para compactar os meus executáveis e com isto ganhar um pouco mais de segurança contra os descompiladores, contudo pesquisando no fórum encontrei uma questão levantada pelo moderador massuda sobre o upx.
(*Observação do moderador massuda*)
Nunca, em hipótese alguma, compacte seu executável (em particular com o UPX). Esses compactadores de executável costumam alterar os endereços de carga dos módulos... o endereço de uma função/procedure quando o executável é gerado fica diferente do endereço quando o executável é usado, resultado: as informações que você captura na exceção estão todas erradas!
Agora estou com as seguintes dúvidas:
1°- A utilização do UPX é recomendavel ?
2° -A utilização do UPX pode trazer outros problemas no futuro ?
Desde já agradeço a atenção de todos
(*Observação do moderador massuda*)
Nunca, em hipótese alguma, compacte seu executável (em particular com o UPX). Esses compactadores de executável costumam alterar os endereços de carga dos módulos... o endereço de uma função/procedure quando o executável é gerado fica diferente do endereço quando o executável é usado, resultado: as informações que você captura na exceção estão todas erradas!
Agora estou com as seguintes dúvidas:
1°- A utilização do UPX é recomendavel ?
2° -A utilização do UPX pode trazer outros problemas no futuro ?
Desde já agradeço a atenção de todos
Lnunes
Curtidas 0
Respostas
Paulocesar1301
28/03/2006
Quem sou eu para ir de encontro à opinião do Massuda, porém...
... compacto meus executáveis no máximo e nunca... nunca tive problema algum... e utilizo desde 1998 !!
Abs e Bons Códigos :wink:
... compacto meus executáveis no máximo e nunca... nunca tive problema algum... e utilizo desde 1998 !!
Abs e Bons Códigos :wink:
GOSTEI 0
Weber
28/03/2006
Na verdade não vejo um motivo para ´compactar executáveis´ não há nenhum ganho de velocidade e ainda se corre o risco de surgirem erros malucos.
Não estamos mais na era MS-DOS, não existe tamanho máximo para um executável, além do mais o tamanho do programa não tem relação com seu consumo de memória.
Não estamos mais na era MS-DOS, não existe tamanho máximo para um executável, além do mais o tamanho do programa não tem relação com seu consumo de memória.
GOSTEI 0
Paulocesar1301
28/03/2006
Porém se vc trabalha com atualizações de sub sistemas ao iniciar as máquinas é indispensável que seu sub-executável seja pequeno !!
GOSTEI 0
Massuda
28/03/2006
Minha observação foi feita num tópico sobre como saber onde uma exceção foi gerada. Como foi explicado, o compactador irá mudar os endereços do programa, de forma que qualquer infomação gerada durante a compilação não é mais válida durante a execução.
Geralmente o programa resultante da compactação funciona OK, mas não confie nisso, sempre teste o programa resultante.
O que o Weber comentou é verdade... não há ganho de velocidade, muito pelo contrário, aumenta o tempo de carga do programa (ele precisa ser descompactado primeiro) e aumenta o consumo de memória (a descompactação é feita em memória).
Com relação a atualizações, pessoal que trabalha com Delphi costuma gostar de ter um único executável grande ao invés de ter um executável pequeno com DLLs... nesse cenário, a única forma de diminuir o tamanho das atualizações é usar uma ferramenta de patch, mas não conheço nenhuma ferramenta desse tipo que seja gratuita ou barata.
Geralmente o programa resultante da compactação funciona OK, mas não confie nisso, sempre teste o programa resultante.
O que o Weber comentou é verdade... não há ganho de velocidade, muito pelo contrário, aumenta o tempo de carga do programa (ele precisa ser descompactado primeiro) e aumenta o consumo de memória (a descompactação é feita em memória).
Com relação a atualizações, pessoal que trabalha com Delphi costuma gostar de ter um único executável grande ao invés de ter um executável pequeno com DLLs... nesse cenário, a única forma de diminuir o tamanho das atualizações é usar uma ferramenta de patch, mas não conheço nenhuma ferramenta desse tipo que seja gratuita ou barata.
GOSTEI 0
Lnunes
28/03/2006
Obrigado a todos pela ajuda.
GOSTEI 0
Adriano Santos
28/03/2006
Sem querer reabrir o tópico, no meu caso uso apenas para diminuir o tamanho do executável. Nem foi pensando em performance.
GOSTEI 0