# PicoCTF 2023
## Ready Gladiator 0
Bài này yêu cầu chơi game CoreWar sao cho hoàn toàn thua. Vậy sẽ sửa lại warrior của mình thành như này:
```
;redcode
;name Imp Ex
;assert 11
mov 0, 10
end
```
```
picoCTF{h3r0_t0_z3r0_4m1r1gh7_e476d4cf}
```
## Ready Gladiator 1
Bài này cũng là CoreWar nhưng cần thắng ít nhất 1 game. Đây là warrior của mình:
```
;redcode
;name Imp Ex
;assert 1
ADD #4, 3 ; execution begins here
MOV 2, @2
JMP -2
DAT #0, #0
end
```
```
picoCTF{1mp_1n_7h3_cr055h41r5_ec57a42e}
```
## Reverse
Đề bài cho 1 file ELF, load vào ida thì thấy flag

```
picoCTF{3lf_r3v3r5ing_succe55ful_c83965de}
```
## Safe Opener 2
Là 1 file java, dùng jadx để decompile, mở file decompile:

```
picoCTF{SAf3_0p3n3rr_y0u_solv3d_it_7db9fb8c}
```
## timer
File apk, cũng dùng jadx, vào `com->excample.timer->BuildConfig`:

```
picoCTF{t1m3r_r3v3rs3d_succ355fully_17496}
```
## Virtual Machine 0
Bài này là 1 file `.dae`, dùng Blender, đề bài cho số lần quay của bánh đỏ và tính số lần quay của bánh xanh:

Bánh đỏ có 40 răng, xanh có 8 răng, ở giữa cũng có 8 răng, đỏ quay 1 vòng xanh sẽ quay 5 vòng, đề bài cho đỏ quay `39722847074734820757600524178581224432297292490103995897672826024691504153`
nhân 5 đổi sang ascii ta được flag:
```
picoCTF{g34r5_0f_m0r3_05e5104d}
```
## No way out
Bài cho một game được code bằng C#, nhét file `Assembly-CSharp.dll` vào trong dnSpy, tìm hàm `PlayerController`, rồi sửa hàm xử lý jump, bỏ hết điều kiện và cho độ cao khi nhảy lên `30f`:
Trước:

Sau:

Vào game và nhảy đến lá cờ thôi:

```
picoCTF{WELCOME_TO_UNITY!!}
```