(2009) - Ferramenta para Deobfuscate Java Codes
-
12-09-2019 - |
Pergunta
Existe uma ferramenta para desviar os códigos ofuscados de Java?
Os códigos são extraídos de uma classe compilada, mas são ofuscados e não legítimos.
Solução
Você tentou tornar o código menos obscuro com Java Deobfuscator (também conhecido como JDO), uma espécie de decompilador inteligente?
Atualmente, o JDO faz o seguinte:
- Renomeia métodos, variáveis, constantes e nomes de classe ofuscados para serem únicos e mais indicativos de seu tipo
- Propogates mudanças ao longo de toda a árvore de origem (beta)
- tem um GUI fácil de usar
- Permita que você especifique o nome para um campo, método e classe (novo recurso!)
Atualmente, o JDO não faz o seguinte (mas pode um dia)
- modificar o método bytecode de qualquer forma
Outras dicas
O primeiro passo seria aprender com qual ferramenta foi ofuscada. Talvez já exista um "Deobfuscator" para o ofuscador em particular.
Por outro lado, você também pode executar um IDE e usar seus poderes de refatoração. Renomeie os nomes de classe, método e variável para algo sensível. Use seus poderes de pensamento lógico humano para descobrir o que o código realmente representa e nomeie -os com sensibilidade. E a imagem cresceria lenta mas seguramente.
Boa sorte.
Não para Gravedig, mas escrevi uma ferramenta que funciona na maioria dos ofuscadores comerciais
eu usei Java Deobfuscator (também conhecido como JDO) Mas tem alguns bugs. Não pode funcionar com nomes de arquivos sensíveis ao caso. Então, eu mudei a fonte e carreguei um patch para isso no SourceForge.O remendo, Download
Provavelmente, apenas o poder da mente humana para entender isso. Obtenha o melhor decompilador disponível e pondere em sua saída.
Talvez funcione no Unix/Linux/MacOS?
Nesse caso, você pode dar uma etapa do seu processo para uma VM, em onde você descompacta o código, antes de renomear os nomes muito longos. Quanto tempo dura o limite de nome do arquivo no Windows?