Java Binary Enhancement Tool

Tela Software:
Java Binary Enhancement Tool
Detalhes de Software:
Versão: 3 R1
Data de upload: 3 Jun 15
Revelador: Andrew Reisse
Licença: Livre
Popularidade: 26

Rating: nan/5 (Total Votes: 0)

Java ferramenta de aprimoramento Binary (JBET) é uma análise e manipulação programa Java ferramenta geral. Arquivos de classe existentes pode ser desmontado, remontado, ou editado de forma programática através da API JBET. JBET também pode ser usado para criar novos arquivos de classe Java a partir do zero. JBET usa uma representação interna conveniente de todos os conteúdos de arquivos binários (.class) Java, permitindo que o usuário edite as classes facilmente, de uma forma estruturada.
JBET foi desenvolvido como parte do projeto DARPA Auto-Protegendo Agentes Móveis sob a OASIS e programas de redes ativas (número do contrato N66001-00-C-8602), a fim de estudar a ofuscação software automatizado.
A linguagem Java foi escolhida para este projeto por causa da facilidade (relativo) de construção de ferramentas de edição de binários fornecidos pela grande quantidade de informações sobre o tipo presente nos arquivos de classe. Nossos dois relatórios, as técnicas de ofuscação Relatório de Avaliação, eo relatório Obfuscation, estão disponíveis a partir da área de download. A ferramenta de obscurecimento desenvolvido não faz parte desta versão.
JBET também foi usado no projeto Survivable Server DARPA / AFRL (contrato número F30602-00-C-0183) para adicionar os controlos de segurança adicionais para a biblioteca padrão Java. (A API Java SecurityManager não suporta muitas verificações de segurança desejáveis, tais como autorização contínuo de acessos a arquivos após a abertura.)
JBET foi usado para substituir as referências método nativo da biblioteca padrão Java com tocos que exigem uma política de segurança conectável. Esta ferramenta, denominada Jpolicy, também está disponível para download neste site. Jpolicy é muito incompleta, neste momento, mas pode ser interessante para aqueles que trabalham na segurança do Java ou mudar a biblioteca padrão se.
A representação interna de arquivos de classe Java usados ​​por JBET está intented para tornar mais fácil para os programadores a escrever Java transformações de código binário. Cada elemento de arquivos de classe Java tem uma estrutura de dados interno correspondente: ClassInfo para classes inteiras, MethodInfo para métodos, FieldInfo para campos, Snippit para blocos de código, e instrução para instruções individuais. Snippit e Instrução compreender sintaxe e semântica opcode Java, permitindo a criação automática de programas Java válidos. Uma classe verificador compatível com Java também está incluído.
Algumas transformações de código são difíceis de programar diretamente através da manipulação de instruções Java. Para essas transformações, uma representação gráfico acíclico dirigido (DAG) de código está disponível. Na representação DAG, cada bloco de base tem um DAG correspondente, com um conjunto de nós de entrada e de saída. Margens do gráfico conectar nós "Produtor" (tais como constantes, ou o resultado de cálculos) para nós de "usuário" (tais como chamadas de método ou outros cálculos). Os métodos são divididos em blocos básicos e fluxo de controle é armazenado no nível do bloco básico (possível porque o Java tem apenas fixa os destinos de salto)
JBET requer um 1.4 máquina virtual Java para executar, embora possa operar em arquivos de classe a partir de versões anteriores do Java. O ambiente de embalagem e construir fornecido suporta Linux e Windows com Cygwin; no entanto, o processo de construção é simples e pode ser realizada manualmente em outras plataformas. Perl é necessário para testes de regressão.
Jpolicy requer um 1.4 máquina virtual Java para construir, Linux ou Windows NT / XP com o Cygwin. gcc é necessário para a construção no Windows (fornecido com Cygwin). O sistema de tempo de execução pode ser Java 1.3 ou 1.4 (com de Sun única JVM), rodando em Linux ou Windows NT / XP. Windows 9x e Windows 2000 pode funcionar tão bem, mas não foram testados.
Instalação
1. Instale o JDK 1.4.1.
2. Defina CLASSPATH para jdk1.4.1 / jre / lib / rt.jar
3. cd src; faço
4. Se isso não funcionar, examine o makefile. java ou javac pode não estar no caminho.
5. Para construir um arquivo jar que pode ser usado com "java -jar jbet.jar", execute "fazer jar".
6. Se você tem o Perl instalado, execute os testes com "fazer teste".
Opcionalmente, executar "make regen, fazer test".
Faça um link simbólico de jbet3 / bin / JBET para algum lugar no seu caminho.
Uso
JBET usa o formato de JNI para nomes de classes, e tipo e método JNI descritores. Para um resumo desta sintaxe, use 'a ajuda de sintaxe JBET ". Especificação JVM da Sun também pode ser útil.
Para olhar para uma desmontagem classe, use 'print JBET ". Experimente desmontar uma classe você tem fonte de, e foi construído com informações de depuração (-g): 'JBET -P print '. Especificação JVM da Sun tem uma referência de instruções.

Programas semelhantes

cconf
cconf

2 Jun 15

hexdump
hexdump

17 Feb 15

JarSplice
JarSplice

20 Feb 15

Comentário para Java Binary Enhancement Tool

Comentários não encontrado
Adicionar comentário
Ligue imagens!