WSL2 + BlueStacks 5 앱 진단 환경 구성

2025년 12월 09일
5

기존에 Nox를 사용하면 WSL를 동시에 사용하지 못해 Bluestack 5를 이용해 WSL2 + Bluestack 5 환경에서 앱 진단 환경을 구성하는 방법에 대해 설명하겠습니다.
WSL과 Nox로 인해 고생하고 계시는 분들에게 도움이 되었으면 합니다.


사전 준비


1. Bluestack conf 수정

C:\ProgramData\BlueStacks_nxt 폴더의 bluestack.conf 파일을 열어 아래 설정 항목을 0에서 1로 수정 후 저장한다.

bst.feature.rooting="0" -> bst.feature.rooting="1"
bst.instance.Pie64.enable_root_access="0" -> bst.instance.Pie64.enable_root_access="1"

2. Enable R/W

C:\ProgramData\BlueStacks_nxt\Engine\Pie64 폴더의 Android.bstk.in, Pie64.bstk 파일을 열어 아래와 항목의 ReadonlyNormal로 수정한다.

<HardDisk uuid="{...}" location="fastboot.vdi" format="VDI" type="Readonly" />
<HardDisk uuid="{...}" location="Root.vhd" format="VHD" type="Readonly"/>
 
<HardDisk uuid="{...}" location="fastboot.vdi" format="VDI" type="Normal" />
<HardDisk uuid="{...}" location="Root.vhd" format="VHD" type="Normal"/>

Android.bstk.in, Pie64.bstk 각각의 파일을 모두 수정해야 된다.


3. Kitsune Mask APK설치

Kitsune Mask APK 를 Bluestack에 설치한다.

Kitsune Mask 앱 실행 후 아래와 같이 진행하여 루팅하여 준다.

정상적으로 마무리 되면 Bluestack을 종료한다.


4. Bluestack conf 수정 및 SU shell 활성화

1단계에서 진행했던 C:\ProgramData\BlueStacks_nxt 폴더의 bluestack.conf 파일을 기존 설정대로 변경하고 Bluestack을 실행하여 준다.

bst.feature.rooting="1" -> bst.feature.rooting="0"
bst.instance.Pie64.enable_root_access="1" -> bst.instance.Pie64.enable_root_access="0"

앱을 실행 후 앱 설치를 통해 앱을 설치하여 준다.

이후 슈퍼유저 메뉴로 들어가 [SharedUID] 셸 항목을 활정화 시켜준다.


5. ADB 활성화 및 루팅 여부 확인

Bluestack 설정에서 Android 디버그 브리지(ADB)를 활성화 한다.

간혹 adb가 바로 접근이 안될때 adb connect 127.0.0.1:5555 명령어를 통해 연결 후 접근 시도해준다.

adb를 통해 root 셸에 정상적으로 접근되는지 확인한다.

PS C:\Users\USER> adb shell
taimen:/ $ whoami
shell
taimen:/ $ su
taimen:/ # whoami
root

6. BurpSuite 인증서 설치

우선 Burpsuite를 실행하여 인증서를 받는다.

추출한 der 파일을 openssl을 이용해 pem 파일로 변형해준다.

openssl x509 -inform DER -in burp.der -out burp.pem
openssl x509 -inform PEM -subject_hash_old -in burp.pem | head -1
9a5ba575
mv burp.pem 9a5ba575.0

adb push를 통해 pem 파일을 업로드 후 system 인증서 위치에 pem 파일을 옮겨준다.

adb push 9a5ba575.0 /sdcard
9a5ba575.0: 1 file pushed, 0 skipped. 5.8 MB/s (1330 bytes in 0.000s)
adb shell
taimen:/ $ su
taimen:/ # mount -o rw,remount /system
taimen:/ # mv /sdcard/9a5ba575.0 /system/etc/security/cacerts
taimen:/ # chmod 644 /system/etc/security/cacerts/9a5ba575.0
taimen:/ # chown system:system /system/etc/security/cacerts/9a5ba575.0

Bluestack을 재실행해준다.


7. Bluestack Proxy 설정

Bluestack은 Proxy 설정을 막아놓았기 때문에 일반적인 방식이 아닌 다른 방식을 통해 Proxy 설정을 해야된다.

여러 방법이 존재하지만 가장 간단한 방법을 통해 진행하는 방법을 설명하겠다.

현재 내 아이피로 adb 명령어를 입력해주면 된다.

ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.10  netmask 255.255.255.0  broadcast 192.168.1.255
        ether 14:4f:8a:16:65:25  txqueuelen 1000  (Ethernet)
        RX packets 1504  bytes 2353039 (2.2 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 652  bytes 52090 (50.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        
adb shell settings put global http_proxy 192.168.1.10:8888

비활성화 시 아래 명령어 입력

adb shell settings put global http_proxy :0

WSL2 + Bluestack 5를 같이 사용할 수 있게 된다.


8. Frida 설치

Frida github에서 frida-server-android를 다운 받아 adb를 통해 업로드 후 실행 해주면 된다.

adb push frida-server-android-x86_64 /data/local/tmp
frida-server-android-x86_64: 1 file pushed, 0 skipped. 34.8 MB/s (110713240 bytes in 3.031s)
adb shell
taimen:/ $ su
taimen:/ # cd /data/local/tmp
taimen:/data/local/tmp # chmod 777 frida-server-android-x86_64
taimen:/data/local/tmp # nohup ./frida-server-android-x86_64 &

이후 pip를 통해 frida, objecton 설치 후 frida-server와 통신이 되는지 확인한다.

pip install frida objection
frida-ps -U
 PID  Name
----  --------------------------------------------
3486  Google Play 게임즈
3222  Google Play 스토어
2772  Home
3924  Kitsune Mask
1920  RTVboxGuestService
3170  Store
4756  adbd
2430  android.ext.services
1899  [email protected]
1900  [email protected]
1901  [email protected]
1902  [email protected]

마무리

다음은 환경 별 SSL Pinning 우회 방법으로 돌아오겠습니다.👍