# Java

## Descompilación

### **Fernflower**

* <https://github.com/fesh0r/fernflower>

```sh
# Instalación Fernflower
git clone https://github.com/fesh0r/fernflower.git
cd fernflower
./gradlew build
ls -la build/libs/fernflower.jar
```

```sh
# Descompilación de aplicación Java con Fernflower
mkdir src
java -jar fernflower.jar <application.jar> src
cd src
jar -xf <application.jar>
```

### JD-GUI

* <https://java-decompiler.github.io/>

## Remote debugging

```sh
ssh -L 8000:127.0.0.1:8000 <user>@<IP-address>
java -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=y -jar <application.jar>
```
