Recaf


Um editor moderno de bytecode Java fácil de usar que abstrai as complexidades dos programas Java.
Download
Recursos
- Edite bytecode Java com facilidade, de alto ou baixo nível (menos as partes irritantes)
- Os recursos do editor no Recaf abstraem detalhes complexos de aplicações Java compiladas, como:
- O pool de constantes
- Cálculo de stack frame
- Uso de instruções wide quando necessário
- E mais!
- Interface navegável fácil de usar com ações sensíveis ao contexto
- Suporte para aplicações Java padrão e Android
- Vários descompiladores para alternar, com todos os seus parâmetros totalmente configuráveis
- Compilador embutido para permitir recompilar classes descompiladas, mesmo que algumas classes referenciadas estejam ausentes (Quando suportado, o suporte pode variar dependendo da complexidade do código e da ofuscação)
- Um montador de bytecode com sintaxe simples e ferramentas de suporte
- Veja o estado das variáveis locais e valores da pilha em qualquer ponto dos métodos
- Acesse variáveis por nomes em vez de índices para um código desmontado mais claro
- Converta trechos de código-fonte Java em sequências de bytecode automaticamente
- Pesquisa por uma variedade de conteúdos diferentes: constantes string/numéricas, referências a classes e membros, padrões de instruções
- Ferramentas para desofuscar código ofuscado
- Arquivos de classe especialmente criados com a intenção de travar ferramentas de engenharia reversa são automaticamente corrigidos quando abertos no Recaf
- Arquivos jar/zip especialmente criados são lidos como a JVM faz, contornando truques sorrateiros que podem enganar ferramentas de engenharia reversa mostrando dados errados
- Suporte para renomear automaticamente classes ofuscadas e seus membros
- Suporte para renomear manualmente classes e seus membros _(E exportar esses mapeamentos para uma variedade de formatos de mapeamento para uso em outras ferramentas)_
- Transformadores de bytecode para simplificar estratégias comuns de ofuscação
- Anexar a processo Java em execução com capacidades de instrumentação
- E muito mais
Uma lista completa de recursos pode ser encontrada na documentação do usuário.
Scripts e Plugins
O Recaf expõe quase toda sua funcionalidade através de APIs modulares. Automatizar comportamentos pode ser feito facilmente com scripts, ou com plugins para situações mais complexas. Recursos adicionais também podem ser adicionados via plugins, que podem registrar hooks em APIs que os oferecem.
Para criar seu próprio script ou plugin, veja a documentação do desenvolvedor, especificamente a seção _"plugins e scripts"."
Linha de Comando
O Recaf pode ser executado como uma aplicação de linha de comando, o que pode ser especialmente útil quando combinado com scripts fornecidos na inicialização. Você pode ver todos os argumentos de inicialização atuais passando --help como um argumento da aplicação.
Configuração de Desenvolvimento
Clone o repositório via git clone https://github.com/Col-E/Recaf.git
Abra o projeto em uma IDE ou gere a construção com o Gradle.
IDE:
- Importe o projeto a partir do arquivo
build.gradle
- Crie uma configuração de execução com a classe principal
software.coley.recaf.Main
Sem IDE:
- Execute
gradlew build
- A saída estará localizada em:
recaf-ui/build/libs/recaf-ui-{VERSION}-all.jar