외로운 Nova의 작업실

wsl 64비트에서 32비트 프로그램 실행하기 본문

Computer App Penetesting/System Vulnerability

wsl 64비트에서 32비트 프로그램 실행하기

Nova_ 2023. 1. 16. 17:47

wsl에서는 원래 32비트 프로그램이 실행되지 않습니다. 따라서 32비트 프로그램을 실행하려면 binfmt가 있어야합니다. 아래 순서대로 start 까지 한 후 프로그램을 실행하면 됩니다. 하지만, 실행만 가능할뿐 리버싱을 하게되면 64비트처럼 되므로 리버싱의 경우에는 wsl이 아닌 가상머신을 사용해야합니다.

- binfmt 설치

sudo apt install qemu-user-static
sudo update-binfmts --install i386 /usr/bin/qemu-i386-static --magic '\x7fELF\x01\x01\x01\x03\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x03\x00\x01\x00\x00\x00' --mask '\xff\xff\xff\xff\xff\xff\xff\xfc\xff\xff\xff\xff\xff\xff\xff\xff\xf8\xff\xff\xff\xff\xff\xff\xff'

 

- i386 아키텍쳐 활성화

 

sudo dpkg --add-architecture i386
sudo apt update
sudo apt install gcc:i386

 

- binfmt 활성화

wsl 실행할때마다 항상 해줘야합니다.

sudo service binfmt-support start

 

- binfmt 비활성화

 

sudo service binfmt-support stop
Comments