# Workshop 2 ## What you'll need today: - Ghidra (get [here](https://github.com/NationalSecurityAgency/ghidra/releases)) (!Only linux machines) - Jdk-21 is needed, if you have debian based linux: ``` bash sudo apt install openjdk-21-jdk ``` - [PwnAdventure](##PwnAdventure) (get [here](https://www.pwnadventure.com/#Downloads)) - [Frida](##Frida) (get [here](https://frida.re/)) ## PwnAdventure ### PwnAdventure client ``` bash wget https://www.pwnadventure.com/PwnAdventure3_Linux.zip unzip PwnAdventure3_Linux.zip # Executable file is in PwnAdventure3/PwnAdventure3/Binaries/Linux/PwnAdventure3-Linux-Shipping ``` ### Server connection setup Substitute the files ```server.ini``` and ```server.crt``` with the following ones: - server.ini => get [here](https://workshop.m0lecon.it) - server.crt => get [here](https://workshop.m0lecon.it) ### Troubleshooting #### Linux The following error pops up when i try to run the game: ./PwnAdventure3-Linux-Shipping: error while loading shared libraries: libssl.so.1.0.0: - Arch Linux Run the following in a terminal: ``` shell git clone https://aur.archlinux.org/openssl-1.0.git cd openssl-1.0 makepkg -s mv pkg/openssl-1.0/usr/lib/libcrypto.so.1.0.0 pkg/openssl-1.0/usr/lib/libssl.so.1.0.0 YOUR_PWNADVENTURE_INSTALLATION_FOLDER/PwnAdventure3/Binaries/Linux/ ``` !!! Caution If you get a public key error, add the missing PGP signature by running: gpg --recv-key XXXXXXXXXXXXXXXX - Ubuntu Download libssl1.0.0_1.0.2g-1ubuntu4.20_YOUR_ARCHITECTURE.deb from this site. Install the package by running: ``` bash sudo dpkg -i libssl1.0.0_1.0.2g-1ubuntu4.20_YOUR_ARCHITECTURE.deb ``` - Ubuntu 64bit ``` bash wget http://snapshot.debian.org/archive/debian/20170705T160707Z/pool/main/o/openssl/libssl1.0.0_1.0.2l-1~bpo8%2B1_amd64.deb sudo dpkg -i libssl1.0.0.deb ``` If you need multiarch: ``` bash wget http://snapshot.debian.org/archive/debian/20190501T215844Z/pool/main/g/glibc/multiarch-support_2.28-10_amd64.deb sudo dpkg -i multiarch-support.de ``` #### The game lags/takes a long time to load in a Linux VM: - Give the Virtual Machine more RAM/CPU cores. - Increase the video memory in your VM settings (Basic Settings > Display > Screen). - Enable ```3D Acceleration``` in your VM settings (Expert Settings > Display > Screen). #### Mouse input does not work - Disable mouse integration. - Press RIGHT CTRL + C to enable full screen mode #### Windows Everything should work as expected :) #### Hybrid PwnAdventure **can't** run on virtual machines. Therefore you can install Pwnadventure on Windows and use Linux vms for frida and ghidra tools. - **Warning** You have to access the file ```GameLogic.dll``` in your host machine from the vm. You can use the shared folder tool of your vm provider #### macOS !!! Warning macOS is not supported. # Ghidra ``` bash wget https://github.com/NationalSecurityAgency/ghidra/releases/download/Ghidra_11.4.2_build/ghidra_11.4.2_PUBLIC_20250826.zip unzip ghidra_11.4.2_PUBLIC_20250826.zip # Executable file is ghidraRun ``` ## Frida ``` shell pip install frida-tools ```