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