Proguard

Um encrinker de arquivo de classe Java e ofuscador.
Download

Proguard Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • GPL
  • Preço:
  • FREE
  • Nome do editor:
  • Eric Lafortune
  • Site do editor:

Proguard Tag


Proguard Descrição

Um encolhedor de arquivo de classe Java e ofuscante. O Proguard é um encrinker, otimizador e o ofuscador de classe Java gratuito. Proguard Project pode detectar e remover classes, campos, métodos e atributos não utilizados. Ele pode então otimizar Bytecode e remover as instruções não utilizadas.Finalmente, pode renomear as classes, campos e métodos restantes usando nomes curtos sem sentido. Os frascos resultantes são menores e mais difíceis para reverter-engenheiro.Mais arquivos jars compactos também significa requisitos de armazenamento menores, transferência mais rápida de aplicativos em redes, carregamento mais rápido e memória de memória menor.Proguard's principal vantagem em comparação com outros ofuscadores de Java é provavelmente seu modelo compacto configuração baseada. Algumas opções de linha de comando intuitiva ou um arquivo de configuração simples são geralmente suficientes. Por exemplo, a seguinte opção de configuração preserva todos os applets em um jarro: -keep classe pública * estende java.applet.appletthe manual do usuário explica todas as opções disponíveis e mostra mais exemplos desse poderoso estilo de configuração.Proguard é rápido. Leva apenas alguns segundos para processar programas e bibliotecas de vários megabytes. A seção de resultados apresenta números reais para várias aplicações.proguard é uma ferramenta de linha de comando com uma interface gráfica opcional. Ele também vem com plugins para formiga e para o kit de ferramentas sem fio J2ME. PROGUARD é um encrinker de arquivo de classe Java, otimizador e ofuscador. A etapa de encolhimento detecta e remove classes, campos, métodos e atributos não utilizados. A etapa de otimização analisa e otimiza o bytecode dos métodos. O passo de ofuscação renomeias as classes, campos e métodos restantes usando nomes sem sentido curtos. Os frascos resultantes são menores e mais difíceis de reverter-engineer.proguard também podem ser usados para listar campos e métodos não utilizados em um aplicativo e imprimir a estrutura interna dos arquivos de classe. Proguard normalmente lê os jarros de entrada (ou guerras, orelhas, zips ou diretórios). Em seguida, diminui, otimiza e os ofusca deles. Em seguida, escreve os resultados para um ou mais jarros de saída (ou guerras, orelhas, zips ou diretórios). Os frascos de entrada podem opcionalmente conter arquivos de recursos. Proguard copia todos os arquivos de recursos de não-classe a partir dos frascos de entrada para os frascos de saída. Seus nomes e conteúdos permanecem inalterados.Proguard requer que os frascos da biblioteca (ou guerras, orelhas, zips ou diretórios) dos frascos de entrada sejam especificados. Pode então reconstruir as hierarquias de classe e outras dependências de classe, que são necessárias para encolher, otimização e ofuscação adequadas. Os próprios poes da biblioteca permanecem sempre inalterados. Você ainda deve colocá-los no caminho da classe do seu aplicativo final.Não para determinar qual código deve ser preservado e qual código pode ser descartado ou ofuscado, você deve especificar um ou mais pontos de entrada para o seu código. Esses pontos de entrada são tipicamente classes com métodos principais, applets, sede, etc. * Na etapa encolhendo, o proguard começa a partir dessas sementes e determina recursivamente quais classes e classe de classe são usadas. Todas as outras classes e classes são descartadas. * No passo de otimização, o progonde otimiza ainda mais o código. Entre outras otimizações, classes e métodos que não são pontos de entrada podem ser finais, e alguns métodos podem ser inglesa. * Na etapa de ofuscação, Proguard renomeia classes e classes de classe que não são pontos de entrada. Em todo esse processo, manter os pontos de entrada garante que eles ainda possam ser acessados por seus nomes originais. Quaisquer classes ou classe de classe do seu código criadas ou invocadas dinamicamente (ou seja, por nome) devem ser especificadas como pontos de entrada também. Geralmente é impossível determinar esses casos automaticamente, mas Proguard oferecerá algumas sugestões se manter algumas aulas ou classes aparecerem necessárias. Para resultados adequados, você deve pelo menos ser um pouco familiarizado com o código que você está processando.Proguard lidar com a classe.Forname ("Someclass") e a someclass.class constrói automaticamente. As classes referenciadas são preservadas na fase de encolhimento, e os argumentos da cadeia são adequadamente substituídos na fase de ofuscação. Com argumentos de cadeia variável, é geralmente impossível determinar seus valores possíveis (eles podem ser lidos a partir de um arquivo de configuração, por exemplo). Como mencionado, como mencionado, o PROGUARD notará construções como "(Someclass) Classe.Borname (variável) .NewInstance () ". Estas podem ser uma indicação de que a classe ou interface someclasse e / ou suas implementações podem precisar ser preservadas. Você pode então adaptar sua configuração de acordo. O que há de novo nesta versão: · Adicionado novas otimizações mágicas. · Adicionado opção -optimizações para configuração de guloseimas de otimizações. · Adicionado opção -AdaptClassStrings para adaptar as constantes de string que correspondem a classes ofuscadas. · Adicionado opção -keeppackagenames para manter os nomes de pacotes específicos de ser ofuscado. · Adicionado opção -KeepDiretórios para manter as entradas de diretório especificadas nos frascos de saída. · Opções estendidas - DontNote e -Dontwarn para configuração de globos de notas e avisos. · Adicionado opção -rex em Retace, para especificar expressões regulares alternativas para analisar os traços de pilha. · Renomeamento estendido de arquivos de recursos com base na ofuscação. · Evitar bug na JVM da IBM para JSE, em etapa de otimização. · Evitando ArrayIndexOutfboundSException no passo de otimização. · Configuração fixa com anotações que não são preservadas. · Préverificação fixa de invocações de super construtores com argumentos contendo operadores ternários. · Processamento fixo de manipuladores de exceção inacessíveis. · Método repetido fixo inlining. · Encarnamento fixo de finalmente blocos cercados por grandes blocos de tentativa, compilados com JDK 1.4 ou anterior. · Otimização fixa de complexos finalmente blocos, compilados com JDK 1.4 ou anterior. · Fixa a ofuscação de nomes de classes anônimos, se os atributos incluir-se estejam sendo mantidos. · Fixa ofuscação de nomes de classe interna em tipos genéricos. · Decodificação fixa de cordas UTF-8 contendo caracteres especiais. · Cópia fixa de informações de depuração e anotações ao mesclar as classes. · Escrita fixa de atributos desconhecidos. · Corrigido atualização de arquivos manifestas com linhas divididas. · Documentação e exemplos atualizados.


Proguard Software Relacionado