SI tenemos archivos de java como por ejemplo uno de la maquina blockyBlocky Writeup que es BlockyCore.class
Tenemos que descompilarlo para poder ver el contenido
Para ello podemos hacer
wget https://www.benf.org/other/cfr/cfr-0.152.jar
# Ahora hacemos
java -jar cfr-0.152.jar BlockyCore.class
Y vemos el contenido.
Tambien podemos descompilarlos recursivamente.
Asi
java -jar cfr-0.152.jar contenido_jar --outputdir decompiled_code
✅ Guia Paso a paso para descompilar .class recursivamente con cfr
1. 📦 Instala cfr (si no lo tienes)
Puedes descargarlo desde:
👉 https://github.com/leibnitz27/cfr/releases
Guárdalo como cfr.jar por ejemplo.
2. 🧠 Descompila todo recursivamente:
java -jar cfr.jar ruta/del/directorio -o ruta/de/salida --outputdir ./fuentes
🔹 Ejemplo:
java -jar cfr.jar ./com --outputdir ./fuentes
Esto descompila todos los .class dentro de ./com/ (recursivamente) y pone los .java en ./fuentes.
✅ Alternativa rápida con find y bucle (si usas otro descompilador como jad, procyon, etc.)
find ./ -name "*.class" -exec java -jar cfr.jar {} --outputdir ./fuentes \;
Esto lo hace archivo por archivo, pero es más lento que dejarle a cfr recorrer el árbol.
🧩 Consejo extra
Si estás haciendo esto en CTF o pentesting (como en HTB), normalmente haces:
unzip file.jar -d jar_contents cd jar_contents java -jar ~/tools/cfr.jar . --outputdir ../decompiled
